去评论
海欣资源

linux系统常用压缩命令有哪些

huawuq
2022/05/15 22:40:28
一、tar命令
tar命令用来打包一个目录,它支持三种格式:".tar"、".bz2"和".gz"
1.1、压缩

tar -cvf [文件名].tar [文件目录] //打包成.tar文件
tar -jcvf [文件名].tar.bz2 [文件目录] //打包成.bz2文件
tar -zcvf [文件名].tar.gz [文件目录] //打包成.gz文件

1.2、解压缩
tar -xvf [文件名].tar //解压到当前文件
tar -xvf [文件名].tar -C [文件目录] //将.tar文件解压到指定目录
tar -jxvf [文件名].tar.bz2 -C [文件目录] //解压.bz2文件到指定目录
tar -zxvf [文件名].tar.gz -C [文件目录] //解压.gz文件到指定目录

1.3、常用选项
-c 建立新的压缩文件
-C 指定解压目录,该目录必须存在
-x 从压缩的文件中提取文件
-j 支持bzip2解压文件
-f 指定压缩文件
-v 显示操作过程
-z 支持gzip解压文件

1.2、tar生成三种文件大小对比

对比可以发现,tar格式只是将文件打包,并没有压缩。bz2的压缩率最高。

二、7z命令
2.1、文件压缩
    压缩单个文件或者文件夹
7z a -t7z test.7z file //将file压缩为test.7z
    将文件压缩到指定目录下
7z a -t7z ./test/test.7z file //将file压缩到当前目录的test目录下,压缩文件名为test.7z
    分卷压缩
7z a -t7z test2.7z  filename -v20m
-t7z指定压缩格式为7z,filename表示要压缩的文件,-v20m表示压缩后每个卷最大不能超过20MB

2.2、解压
    解压文件到当前目录
7z x filename.7z
    解压文件到指定目录,-o后面直接跟目录,不需要空格
7z x test.7z -r -o./test
    解压分卷压缩的文件
7z x filename.7z.001
解压分卷压缩的文件,只需要指定第一个压缩文件的名称即可

2.3、 常用选项
-a 添加文件/文件夹到压缩包
-t 指定压缩格式,如-t7z表示指定压缩格式为7z
-o 是指定解压到的目录
-r 递归所有的子文件夹,这个选项通常可以忽略
-x 解压文件

三、zip命令
3.1、压缩
    压缩单个文件
zip filename.zip file
将file压缩为filename.zip,file不能是目录
    压缩目录文件
zip -r filename.zip filedir

3.2、解压
unzip filename.zip -d filedir
将filename.zip解压到filedir目录,如果不指定-d filedir则解压到当前目录

四、rar命令
4.1、压缩
    将filedir压缩为filename.rar文件
rar a filename.rar filedir

4.2、解压
    将rar文件解压到指定的dir目录,如果不指定dir则解压到当前目录
rar x filename.rar dir

五、各种压缩格式对比