Skip to main content

解压缩

Linux下常见的压缩文件扩展名

  • *.Z : compress程序压缩文件
  • *.zip : zip程序压缩的文件
  • *.gz : gzip程序压缩的文件
  • *.bz2 : bzip2程序压缩的文件
  • *.xz : xz程序压缩的文件
  • *.tar : tar程序打包的数据,并没有压缩过
  • *.tar.gz : tar程序打包的文件,经过gzip的压缩
  • *.tar.bz2 : tar程序打包的文件,经过bzip2的压缩
  • *.tar.xz : tar程序打包的文件,经过xz的压缩

Linux 常用的压缩指令是 zipbip2xzcompress 已经很少用了;由于这些指令通常仅能对一个文件压缩和解压缩,所以需要 tar 来先进行打包。

gzip

应用广泛,可以解开由 compresszipgzip 等软件所压缩的文件。用法如下:

$ gzip [-cdtv#] 文件名

选项与参数:

  • -c : 将压缩的数据输出到屏幕,可通过数据流重导向来处理
  • -d : 表示解压缩
  • -t : 可以用来检验一个压缩文件的一致性,看看文件是否有错
  • -v : 可以显示原文件/压缩文件的压缩比等信息
  • -# : # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差,-9 最慢,但是压缩比最好,默认是 -6
$ gzip -v xx.txt 
# 使用 gzip 压缩时,默认下文件会被压缩为 .gz 的文件名,原始文件就不存在了

$ gzip -d xx.txt.gz
# 解压缩到当前目录

bzip2

相比 gzipbzip2 提供了更好的压缩比,用法如下:

$ bzip2 [-cdkzv#] 文件名

选项与参数:

  • -c : 将压缩的数据输出到屏幕,可通过数据流重导向来处理
  • -d : 表示解压缩的参数,解压缩时必须添加
  • -k : 保留原始文件
  • -z : 表示压缩的参数,默认值
  • -v : 可以显示原文件/压缩文件的压缩比等信息
  • -# : # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差,-9 最慢,但是压缩比最好,默认是 -6

具体用法和 gzip 一致。

xz

相比 bzip2xz 拥有更好的压缩比,但缺点是耗时较长,用法如下:

$ xz [-dtlkc#] 文件名

选项与参数:

  • -c : 将压缩的数据输出到屏幕,可通过数据流重导向来处理
  • -d : 表示解压缩的参数,解压缩时必须添加
  • -k : 保留原始文件
  • -l : 列出压缩文件的相关信息
  • -t : 测试压缩文件的完整性,看看有没有错误
  • -# : # 为数字的意思,代表压缩等级,-1 最快,但是压缩比最差,-9 最慢,但是压缩比最好,默认是 -6

具体用法和 bzip2 一致。

tar

# 打包压缩
$ tar -jcv -f filename.tar.bz2 要被压缩的文件或者目录
# 解压缩
$ tar -jxv -f filename.tar.bz2 -C 目标目录

选项与参数:

  • -c : 创建打包文件
  • -t : 查看打包文件的内容含有哪些文件名
  • -x : 解打包或解压缩的功能,可以搭配 -C(大写)在特定目录解开
  • -z : 通过 gzip 的支持进行压缩/解压缩:文件名 *.tar.gz
  • -j : 通过 bzip2 的支持进行压缩/解压缩:文件名 *.tar.bz2
  • -J : 通过 xz 的支持进行压缩/解压缩:文件名 *.tar.xz
  • -v : 在压缩/解压缩的过程中,将正在处理的文件名显示出来
  • -f filename : 要被处理的文件名
  • -C 目录 : 用于解压缩,比如需要解压缩到特定目录