一、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生成三种文件大小对比

压缩类型压缩前压缩后
tar134M133M
gz134M51M
bz2134M47M

对比可以发现,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

五、各种压缩格式对比

压缩格式源文件大小压缩后大小耗时
.tar134M133M0.361s
.bz2134M47M10.963s
.gz134M51M7.402s
.zip134M52M8.267s
.rar134M41M暂无
.7z134M26M55.903s
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐