将/text下所有的文件打包压缩为text .tar . gz ,在/home下递归创建目录/home/test/abc/temp ,把打包后的文件复制到该目录下,然后解压,解压后再将再将temp下所有文件用gzip命令压缩为.gz格式的压缩文件,然后解压,比较与tar命令的不同
时间: 2024-11-18 10:18:40 浏览: 7
首先,你可以使用`tar`命令来打包文本文件。假设文本文件都在`/text`目录及其子目录下,可以这样操作:
```bash
cd /text
tar czvf ../home/test/abc/temp/text.tar.gz .
```
这会将当前目录(及子目录下的文件)打包成一个名为`text.tar.gz`的压缩文件,并将其放到`/home/test/abc/temp`目录下。
接下来,为了在`/home/test/abc/temp`目录下创建并递归地创建`temp`子目录,可以使用`mkdir -p`命令:
```bash
mkdir -p /home/test/abc/temp/temp
```
然后将打包好的文件移动到`temp`目录下:
```bash
mv ../text.tar.gz /home/test/abc/temp/temp/
```
接着,解压这个`.tar.gz`文件:
```bash
tar xzf /home/test/abc/temp/temp/text.tar.gz -C /home/test/abc/temp/temp/
```
现在,在`/home/test/abc/temp/temp`目录下,所有文件已经解压了。
最后,对`temp`目录下的所有内容进行`gzip`压缩:
```bash
find /home/test/abc/temp/temp -type f | xargs gzip > temp.tar.gz
```
这里`find`用于查找所有非目录文件,`xargs`传递给`gzip`压缩。
然而,与直接使用`tar`命令相比,这里的步骤更多,因为先打包后又进行了额外的压缩和解压。`tar`可以直接一次性完成打包和压缩的动作,而这里则分成了两个阶段。`tar`还支持同时进行压缩和解压缩,如`tar czf target.tar.gz source_directory`就可以达到同样的目的。
阅读全文