Linux 常用解压缩命令

 

2020-04-12

在 Linux 中一些压缩工具仅支持对单文件进行操作,如果想对目录或多文件进行压缩,则必须先打包成一个文件,然后再进行压缩。

gzip

解压缩,后缀名gz

Terminal window
1
# 压缩,将删除原文件
2
gzip filename
3
# 压缩,保留原文件
4
gzip -c filename > filename.gz
5
# 解压
6
gzip -d filename.gz

注:gzip 只能针对普通文件进行压缩和解压,不支持文件夹和符号链接。

bzip2

解压缩,后缀名bz2

Terminal window
1
# 压缩,将删除源文件
2
bzip2 filename
3
# 压缩,保留原文件
4
bzip2 -c filename > filename.bz2
5
# 解压,同 bunzip2
6
bzip2 -d filename.bz2

xz

解压缩,后缀名xz

Terminal window
1
# 压缩,默认保留源文件
2
xz filename
3
# 解压
4
xz -d filename.xz

tar

打包解包,后缀名tar

Terminal window
1
# 打包并压缩指定目录
2
tar -czvf filename.tar.gz dir
3
# 指定压缩等级,默认 6,最高 9
4
tar 9 -czvf filename.tar.gz dir
5
# 解压缩
6
tar -xzvf filename.tar.gz
7
# 只查看,不解压
8
tar -ztvf filename.tar.gz

可以发现压缩、解压和查看三个参数只有一个区别,它们分别表示:

  • -c:压缩
  • -x:解压
  • -t:查看

另外的几个参数都是一致的:

  • -z:使用 gzip 进行解压缩
  • -v:显示执行过程
  • -f:指定文件名

另外也支持 bzip2 和 xz 的解压缩:

Terminal window
1
# bzip2 打包并压缩
2
tar -jcvf filename.tar.bz2 dirname
3
# bzip2 解包并解压
4
tar -jxvf filename.tar.bz2
5
# xz 打包并压缩
6
tar -jcvf filename.tar.xz dirname
7
# xz 解包并解压
8
tar -jxvf filename.tar.xz
  • -j:使用 bzip2 进行解压缩
  • -J:使用 xz 进行解压缩

zip

打包解包和解压缩文件,后缀名zip

Terminal window
1
# 压缩 zip(默认保留源文件)
2
zip -r filename.zip dirname
3
# 解压 unzip
4
unzip filename.zip
5
# 解压到指定目录
6
unzip -d nfname/ filename.zip