我已经压缩了一个像这样的战争文件gzip mytest.war
。我尝试像这样解压缩它--ungzip mytest.war.gz
,它说找不到命令。我怎样才能解压它?
此外,如何 gzip 和 ungzip 特定文件夹?
答案1
没有ungzip
。您可能有gunzip
,如果没有,您也应该能够gzip -d
。阅读man gzip
详情。
gzip
仅处理单个文件。如果要归档整个目录,请使用zip
, 或tar
, 或cpio
(或 ...);或者jar
因为您似乎正在处理 Java 档案。
答案2
Mat 完整地涵盖了答案,但这里有一些更详细的自助解释。
一般来说,在 Unix(当然还有 Linux)上获取帮助的方法是man
(手动)命令。man gzip
会回答你的问题。答案已经在“概要”部分中(这可能是您的问题获得反对票的原因)。你甚至可以说man man
学习 Unix 在线手册是如何组织的。
在压缩工具方面,Unix 将归档器和压缩器的概念分开。像 ZIP 这样的工具来自 MS-DOS 生态系统,其中应用程序必须包罗万象(做所有事情,尽你所能),因为很难组合程序的结果。在 Unix 上,这很容易(不,必需的)将数据从一个命令传输到另一个命令,其心态是“做一件事,做好它”。您可以使用诸如 之类的工具将文件一起存档在存档文件中tar
,然后将gzip
结果压缩。标准归档程序的现代版本可以为您执行此操作(tar
可以自动gzip
或其bzip2
生成的文件,并且它也可以自动解压缩)。
要一次性归档和压缩文件夹,这是标准做法:
tar czvf file.tar.gz some-folder
的手册页tar
解释了第二个“单词”中聚集的参数。简而言之,c
=create、z
=gzip、v
=verbose、f
=结果文件名如下。这相当于:
tar cvf file.tar some-folder
gzip file.tar
或者
tar cv some-folder | gzip file.tar
如果您想使用其他东西来压缩,最后两种形式可以为您提供更大的灵活性。 (或者调整 的压缩级别gzip
,例如)