如何在 UNIX 中压缩文件?

如何在 UNIX 中压缩文件?

我想做一个普通的“ zip”,所以我的CW3文件变成了CW3.zip。我试过使用在互联网上找到的一些示例命令,但它们似乎不起作用。

我尝试了以下操作,导致出现以下错误:

$ zip CW3
zip error: Nothing to do! (CW3.zip)

我也尝试过:

compress -If CW3

底线:如何在 UNIX 中压缩文件?

答案1

zip 语法是

zip archivefile1 file1 file2 file3

对于压缩,

unzip archivefile1

进行减压。

因此,就您的情况而言,对于压缩:

zip CW3.zip CW3

这里

答案2

如果你对格式比较灵活,那么你可以在 Unix 中压缩文件:-)

 compress some_file

缺点:您需要指定要压缩的每个文件。

您还可以使用zip(在 UNIX 平台上并不总是可用)或 gzip。虽然compressgzip仅压缩单个文件,但zip是一种一次性处理一个或多个文件或目录的打包和压缩的工具。传统的 UNIX 理念是使用一种工具来完成一项工作,这使得工具的创建者更容易使工具在该项工作上表现出色,这解释了为什么 compress 和 gzip 只能压缩而不打包。对于您作为用户来说,这意味着您将使用一种工具进行打包,然后使用另一种工具来压缩包(或“存档”),如果您没有使用 zip,而是使用 UNIX 本机的 (tar磁带存档程序)进行打包:

tar -c -f archive_name.tar some_file some_dir

some_file将会以递归方式将和打包some_dir到档案中archive_name.tar

现在压缩它:

gzip archive_name.tar

将为您提供压缩文件archive_name.tar.gz(并删除原始文件archive_name.tar)。

但等一下,还有更多:压缩档案实际上非常常见,tar 可以在一个命令中调用 gzip:

tar -c -z -f archive_name.tar.gz some_file some_dir

将为您提供archive_name.tar.gz包含some_file和的some_dir、递归打包和压缩的。

更多信息:

man 1 tar

答案3

zip通常默认不安装。它更像是一个归档工具,而不是一个单一文件的压缩工具。

应安装或。它们是文件压缩工具,可在压缩文件中添加或gzip扩展名。也可以安装该程序。compress.gz.Zbzip2

gzip和通常与、或文件bzip2的程序套件一起安装。这些分别是、和或 、和。catdiffgrepzcatzdiffzgrepbzcatbzdiffbzgrep

答案4

有很多方法可以做到

第一种方式:zip 例如 zip cw3.zip *.sh

上述命令将压缩 cw3.zip 中的所有 *.sh 文件

第二种方法:如果您想要压缩子目录中的所有文件,请执行 zip -r 例如 zip cw3.zip *.sh

相关内容