Linux中如何将超级管理家目录内的所有以.cfg为后缀的文件打包为hh.tar(不进行压缩),并删除原文件
时间: 2024-10-20 20:02:49 浏览: 43
在Linux中,你可以使用tar命令来创建一个未压缩的归档文件,而不会删除原始文件。以下是步骤:
1. 首先,你需要确保你正在当前目录下,或者已经通过`cd`命令切换到了包含`.cfg`文件的目录。
2. 然后运行以下命令,将所有的`.cfg`文件打包到`hh.tar`文件中:
```
tar -cvf hh.tar *.cfg
```
这里的参数说明如下:
- `c`: 创建一个新的归档文件。
- `v`: 显示详细操作过程。
- `f`: 指定归档文件名 (`hh.tar`).
- `*.cfg`: 匹配所有以`.cfg`结尾的文件。
3. 执行这个命令后,你会看到一个名为`hh.tar`的新文件,其中包含了所有`.cfg`文件的内容。
4. 如果你不希望保留原来的`.cfg`文件,可以添加 `-x` 参数来排除它们:
```
tar -cvfx hh.tar !(*.cfg)
```
这里`!(*.cfg)`表示排除所有`.cfg`文件。
5. 但是请注意,由于我们之前指定了`-f hh.tar`来指定目标文件,所以这里的`-x`会覆盖掉之前的打包操作,不会删除`.cfg`文件。如果你确实想删除 `.cfg` 文件,你应该先创建一个备份,然后在备份的基础上执行上述命令。
记得替换`hh.tar`为你需要的实际文件名,并确认操作前是否有其他重要文件在这些`.cfg`文件夹内,以免误删。
相关问题
Linux中如何将超级管理家目录内的所有以.cfg为后缀的文件打包为hh.tar(不进行压缩),并删除原文件。解压hh.tar到超级管理员目录,解压完成后删除压缩包
在Linux中,你可以使用`tar`命令创建一个未压缩的归档文件,并结合`find`命令来查找特定类型的文件。以下是步骤:
1. 首先,你需要找到/superadmin目录下的所有`.cfg`文件,然后打包成`hh.tar`。在终端中输入以下命令:
```
sudo find /superadmin -type f -name "*.cfg" | tar cvf hh.tar -
```
这里`sudo`用于以超级用户权限运行,`find`用于搜索,`-type f`指定查找的是文件,`-name "*.cfg"`匹配以.cfg结尾的文件,`|`传递结果给`tar`,`cvf`表示创建一个文件归档(c: create, v: verbose, f: file name)。
2. 接下来,因为`tar`默认会保留原始文件,所以直接运行上述命令不会删除原文件。要在创建归档的同时删除原文件,可以添加`-delete`选项:
```
sudo find /superadmin -type f -name "*.cfg" | xargs tar cvf hh.tar - && rm *.cfg
```
`xargs`命令接收标准输入并将它们分隔为参数传递给`tar`。`&&`确保`rm`操作在`tar`成功后执行,删除所有`.cfg`文件。
3. 最后,解压打包好的`hh.tar`到超级管理员目录。假设你想把内容放到同一个目录,可以这样做:
```
sudo tar xvf hh.tar -C /superadmin/
```
`-C`选项指定了解压的目标目录 `/superadmin/`。
完成以上步骤后,`hh.tar`会被解压到指定位置,并且所有的.cfg文件已经从`/superadmin`目录下移除。
阅读全文