本文首发于我的个人博客:Suixin's Blog
原文: https://suixinblog.cn/2018/11/tar-gzip-zip-rar.html 作者: Suixin
很多大型文件或者数据从服务器上传或者下载的时候都需要打包和压缩解压,这时候知道压缩和解压的各种命令是很有必要的。
常见的压缩文件后缀名有.tar.gz,.gz,.zip和.rar,下面来看看在Linux上它们分别的解压和压缩命令。
gzip
Linux压缩文件中最常见的后缀名即为.gz,gzip是用来压缩和解压.gz文件的命令。
常用参数
-
-d或--decompress或--uncompress:解压文件; -
-r或--recursive:递归压缩指定文件夹下的文件(该文件夹下的所有文件被压缩成单独的.gz文件); -
-v或--verbose:显示指令执行过程。
注:gzip命令只能压缩单个文件,而不能把一个文件夹压缩成一个文件(与打包命令的区别)。
例子
压缩当前目录下所有文件,并显示进度:

gzip
tar
tar本身是一个打包命令,用来打包或者解包后缀名为.tar。配合参数可同时实现打包和压缩。
常用参数
-
-c或--create:建立新的备份文件; -
-x或--extract或--get:从备份文件中还原文件; -
-v:显示指令执行过程; -
-f或--file:指定备份文件; -
-C:指定目的目录; -
-z:通过gzip指令处理备份文件; -
-j:通过bzip2指令处理备份文件。
例子
最常用的是将tar命令与gzip命令组合起来,直接对文件夹先打包后压缩:

tar打包压缩
解压解包:

tar解压解包
zip和unzip
zip命令和unzip命令用在在Linux上处理.zip的压缩文件。
常用参数
-
zip-
-v:显示指令执行过程; -
-m:不保留原文件; -
-r:递归处理。
-
-
unzip-
-v:显示指令执行过程; -
-d:解压到指定目录。
-
例子
将两个文件压缩为new.zip且保留原文件:

zip
将new.zip解压到上级目录:

unzip
rar
.rar是Windows上比较常见的压缩文件格式,在Linux上使用rar命令来操作。
安装
Linux中默认不带rar工具,需要自行安装,在RARLAB找到自己系统位数对应链接下载直接编译即可,如
wget https://www.rarlab.com/rar/rarlinux-x64-5.6.1.tar.gz
tar -zxvf rarlinux-x64-5.6.1.tar.gz
cd rar
make
常用参数
-
a:压缩文件; -
x:解压文件; -
-p:设置密码。密码紧随其后,如-p123。
例子
将两个文件压缩为new.rar,设置密码为123(默认保留原文件):

rar压缩
将new.rar解压(默认保留原文件):

rar解压
参考
https://www.cnblogs.com/eoiioe/archive/2008/09/20/1294681.html
https://blog.csdn.net/zyw_anquan/article/details/8672024