gzip unix 命令与 tar 命令

gzip unix 命令与 tar 命令

我想使用 gzip 压缩多个文件,但当我解压缩时我应该得到多个文件。

我尝试使用 tar 和 zip 但是 tar 创建了我不想要的额外文件夹。

我想要压缩的文件是cp1.txt, cp2.txt, cp3.txt

解压后文件应该是cp1.txt, cp2.txt, cp3.txt

但是使用 tar 命令和 gzip 会创建如下文件

/bbpre/spool/COPY/ZIP/cp1.txt,cp2.txt,cp3.txt

我不要,/bbpre/spool/COPY/ZIP/我只想要文件。

答案1

通过提取过程中的 tar,您可以去掉文件名/路径的前 n 个主要部分。

在你的情况下如果你已经从文件中完成了 tar:

/bbpre/spool/COPY/ZIP/cp1.txt  
/bbpre/spool/COPY/ZIP/cp2.txt
/bbpre/spool/COPY/ZIP/cp3.txt

通过使用strip-components标志进行提取,您可以删除不需要的路径文件名级别:

tar -xvzf yourtar.tar --strip-components=4

将删除/bbpre/spool/COPY/ZIP并将其放入cp1.txt, cp2.txt, cp3.txt当前工作目录。

答案2

如果我理解正确的话,您需要一次性压缩多个文件,然后再一次性解压为多个文件。操作方法如下:

$ touch 1.txt 2.txt 3.txt
$ gzip 1.txt 2.txt 3.txt
$ gzip -d 1.txt.gz 2.txt.gz 3.txt.gz

我刚刚在虚拟机中尝试了这个,它创建了 3 个文件,分别对它们进行 gzip 压缩,然后分别解压缩它们。

相关内容