压缩命令在 linux 系统中也是一个比较常用的命令,一直以来虽然知道怎么使用,但对于它的参数并没有明确的认知,因此想借这篇文章对常用的压缩命令进行一个探索也总结。

tar 命令

单选参数

  • c: 建立压缩档案
  • x: 解压
  • t: 查看内容
  • r: 向压缩归档文件未尾追加文件
  • u: 更新原压缩包中的文件

说明:以上参数在使用时只能用其中一个

多选参数

  • z: 有 gzip 属性的压缩包
  • j: 有 bz2 属性的压缩包
  • Z: 有 compress 属性的压缩包
  • v: 显示所有过程
  • O: 将文件解开到标准输出

说明:以上参数在使用时可以选多个

必选参数

  • f: 文档名,必选且这是最后一个参数,只接档案名

示例

压缩

tar -zcvf test.tar.gz *.jpg # 将所有 jpg 文件打包到 test.tar.gz 中

解压

tar -zxvf test.tar.gz # 将 test.tar.gz 解压到当前目录

小技巧:如果我们想解压到指定目录,只需要切换那个目录,然后再执行解压即可。

gzip 和 gunzip 命令

常用参数

  • l - 列出压缩文件,并不解压
  • v - 显示指令执行过程
  • r - 递归处理,将指定目录下的所有文件及子目录一并处理

说明:gzip 用于压缩,gunzip 用于解压缩。

示例

压缩

gzip -v /opt/etc.gz /etc # 将 etc 目录打包到 etc.gz 中

解压

gunzip /opt/etc.gz # 将 etc.gz 解压到当前目录

结语

目前这两种解压缩方式最为常用,而 tar 的命令最实用,因为它可以与 gzip 进行融合,从而到达最佳的压缩效果。