我无意中gzip -rv directory
将文件中的所有单个文件都设为 .gz 格式。如何撤消此操作并压缩其中的所有 .gz 文件directory
?
我怎样才能对整个目录进行 gzip 压缩?
我试过gunzip directory/*.gz
,但只能对目录/目录中的文件进行压缩,而不能对“目录”以外的目录进行压缩。
答案1
要解压缩文件,请执行以下操作:
find /yourdirectory -name *gz | xargs gunzip
find
这将解压目录下所有名为 *.gz 的文件/yourdirectory
。
要对整个目录进行 gzip 压缩,您需要一个tar
容器,因为 gzip 只能压缩单个文件:
tar czvf archive.tgz /yourdirectory
如果您想要(速度慢得多但更有效)bzip2 压缩,请使用以下j
参数z
:
tar cjvf archive.tbz2 /yourdirectory
这两个命令都会创建一个压缩档案,之后无需执行额外的压缩步骤。
答案2
这会起到作用:
gzip -d -r directory
答案3
先使用 tar 该目录tar -cf myarchive.tar myarchive/
,然后使用 对其进行压缩gzip myarchive.tar
。
之后,您可以tar -xvf myarchive.tar.gz
使用较新版本的 tar来解压。对于较旧的版本,您应该添加 use-xvzf