如有错误或有补充,请在评论区留下您的高见,同时文中给出大部分的示例,即是您暂时无法在Linux中查看,您也可以知道各种操作的功能以及输出
如果觉得本文写的不错,不妨点个赞,收藏一下,助力博主产生质量更高的作品
gzip和gunzip
gzip
和 gunzip
是 Linux 系统中用于文件压缩和解压缩的工具,它们使用 Lempel-Ziv 77 (LZ77) 算法以及32位循环冗余检查(CRC)来压缩和解压缩文件,同时生成以 .gz
为扩展名的压缩文件
gzip [选项] [文件名]
gzip
命令用于压缩文件,对一个文件使用 gzip
命令时,原始文件会被删除,并替换为一个新的、压缩后的 .gz
文件,可以通过 > 来重定向输出,不删除源文件
-c
:
将压缩后的数据输出到标准输出(stdout),而不是写入文件。这允许你将压缩后的数据直接传递给其他命令或程序。
-d
或 --decompress
:
解压缩文件(实际上,这通常使用 gunzip
命令来完成,但 gzip -d
也可以)。
-f
:
强制压缩,即使文件名与某个已存在的文件相同,也会覆盖它。
-h
:
显示帮助信息。
-r
或 --recursive
:
递归地压缩指定目录下的所有文件。
-v
或 --verbose
:
详细模式,显示正在压缩或解压缩的文件名。
示例:
gunzip [选项] [文件名.gz]
gunzip
命令用于解压缩 .gz
文件,对一个 .gz
文件使用 gunzip
命令时,压缩文件会被删除,并替换为一个新的、解压缩后的文件
常用选项与 gzip
类似,但通常不需要指定解压缩选项,因为 gunzip
默认就是进行解压缩操作
编辑
tar与gzip结合可以压缩目录
zip和unzip
zip [选项] [压缩文件名.zip] [源文件或目录]
zip
命令用于压缩文件或目录,它可以将一个或多个文件或目录打包成一个 .zip
归档文件,并可以选择性地应用压缩算法来减小文件大小,不覆盖源文件
-r
递归压缩,用于压缩目录及其内容。
-q
安静模式,不显示详细的压缩过程信息。
-1
到 -9
指定压缩级别,1
为最快但压缩率最低,9
为最慢但压缩率最高。
unzip [选项] [压缩文件名.zip] [目标目录]
unzip
命令用于解压缩 .zip文件,它可以将 ZIP 文件中的内容提取到当前目录或指定的目录中
-d
目录
:指定解压到的目标目录。
-l
列出压缩文件中的内容,而不实际解压。
-q
安静模式,不显示详细的解压缩过程信息。
-o
覆盖模式,如果目标目录中存在同名文件,则无需提示直接覆盖。(部分系统默认是覆盖)
编辑
以下是几个压缩级别的比较,同时可以看到在加上 -q 指令后,没有了上一张图片在压缩文件夹时的那么多输出
编辑
tar (最好别忘了-f)
tar
是 Linux 和其他类 Unix 系统中用于文件归档的工具,名字来源于“Tape ARchive”,最初设计用于将数据备份到磁带上,现在 tar
广泛用于将多个文件和目录打包成一个单独的文件,以便于存储、备份或传输,此外,tar
文件还可以与其他压缩程序(如 gzip
或 bzip2
)结合使用,以进一步减小文件大小
tar
本身不进行压缩,它只是将文件和目录打包成一个文件,压缩是通过与 gzip
或其他压缩程序结合使用来实现的。当你使用 -z
或 -j
选项时,tar
会自动调用相应的压缩程序
-c
创建一个新的归档文件。
-x
从已有的归档文件中提取文件。
-z
通过 gzip
进行压缩或解压。
-j
通过 bzip2
进行压缩或解压。
-f
允许你指定归档文件的名称。
-v
详细模式,显示正在处理的文件名。
-p
保留原始文件的权限。
-C
指定解压到的目录。
-t
表示列出内容
编辑 编辑