Linux下压缩文件解压

在Linux的命令行下解压文件,是很常见的情况。通常会解压tar类型的归档文件,这些使用tar命令就可以很好的解压,对于在windows常用的rar,zip压缩文件,并不友善。

解压tar

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
###### 重点写在前面 tar 自动检测压缩类型,并且解压缩包文件。
###### 同样的命令可以用来解压缩使用其他算法,例如:.tar.gz 或者.tar.bz2 压缩的文件。
tar -xf archive.tgz
###### 可以省略 -
tar xf archive.tgz

# 解压tar
tar -xf archive.tar

# 解压 -z, --gzip, --gunzip, --ungzip   通过 gzip 过滤归档
tar -zxf archive.tar.gz

# 解压 -j, --bzip2                通过 bzip2 过滤归档
tar -jxf archive.tar.bz2

# 解压  -J, --xz                   通过 xz 过滤归档
#      --lzip                 通过 lzip 过滤归档
#      --lzma                 通过 lzma 过滤归档
#      --lzop
tar -Jxf archive.tar.xz

# 多线程解压 tgz,
tar --use-compress-program=pigz -xf archive.tar.gz

# 单线程压缩 tgz, tar.gz
tar -zcf archive.tgz archive/

# 多线程压缩 tgz,tar.gz 使用多线程压缩程序pigz代替上面的-z参数
tar --use-compress-program=pigz -cf archive.tgz archive/

解压unzip

常用的命令是unzip

解压rar

常用的命令是unrar,这个命令有个限制,不能解压大于2G的rar文件。

使用p7zip-full,p7zip-rar,也可以解压。7z x 压缩包.rar 提取具有完整路径的文件

通用的解决方法

直接下载对应平台的7zip,解压出来就可使用,可以解压大于2G的rar分卷文件,使用方式和p7zip一样。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 下载该平台的文件
wget https://www.7-zip.org/a/7z2107-linux-x64.tar.xz
# 使用tar解压
tar xf 7z2107-linux-x64.tar.xz

# 使用7zz解压,rar或者zip
./7zz x archive.rar
./7zz x archive.zip

# 7zz默认开启多线程解压,压缩,可手动开启 -mmt