这篇将重点说明 tar 命令的使用,我们知道 tar 是用来建立,还原备份文件的工具程序,它可以加入和解开备份文件内的文件。值得注意的是,tar 是打包,不是压缩,它本身不具有压缩功能,而是调用压缩功能实现的 。
tar 命令的基本格式如下:
tar [参数选项] xxx.tar [文件]
常用的参数选项有:
使用举例:
- # 压缩: 打包当前目录下的所有wheater_20220705_开头的txt文件
- tar -cvf 20220705211259.tar wheater_20220705_*.txt
-
- # 压缩并排除掉指定文件
- tar --exclude=wheater_20220705_001.txt -cvf 20220705211259.tar wheater_20220705_*.txt
-
- # 解压
- tar -xvf 20220705211259.tar
使用举例:(接上面的示例)
- # 压缩: 打包当前目录下的所有wheater_20220705_开头的txt文件
- tar -zcvf 20220705211259.tar.gz wheater_20220705_*.txt
-
- # 压缩并排除掉指定文件
- tar --exclude=wheater_20220705_001.txt -zcvf 20220705211259.tar.gz wheater_20220705_*.txt
-
- # 解压
- tar -zxvf 20220705211259.tar.gz
可以看到,.tar.gz 与 .tar 的区别就在于多加入了 -z 参数,而 -z 正是操作具有 gzip 属性的文件。值得注意的是,.tar.gz 也可以写成 .tgz ,二者本质是一样的。
使用举例:(接上面的示例)
- # 压缩: 打包当前目录下的所有wheater_20220705_开头的txt文件
- tar -jcvf 20220705211259.tar.bz2 wheater_20220705_*.txt
-
- # 压缩并排除掉指定文件
- tar --exclude=wheater_20220705_001.txt -jcvf 20220705211259.tar.bz2 wheater_20220705_*.txt
-
- # 解压
- tar -jxvf 20220705211259.tar.bz2
同样的,.tar.bz2 与 .tar 的区别就在于多加入了 -j 参数,而 -j 也正是操作具有 bz2 属性的文件。
使用举例:(接上面的示例)
- # 压缩: 打包当前目录下的所有wheater_20220705_开头的txt文件
- tar -Zcvf 20220705211259.tar.Z wheater_20220705_*.txt
-
- # 压缩并排除掉指定文件
- tar --exclude=wheater_20220705_001.txt -Zcvf 20220705211259.tar.Z wheater_20220705_*.txt
-
- # 解压
- tar -Zxvf 20220705211259.tar.Z
到这里,规律就显而易见了。在 .tar 后缀的基础上是可以选择 .gz、.bz2、.Z 等方式,继续进行压缩和解压操作的,只是需要加入对应的参数实现而已。
gz 和 bz2 的内容在上一篇已经说明过了,不再赘述,那么,Z 参数是什么呢?-Z 参数适用于通过 tar 压缩和解压具有 compress 属性的文件。
这里,顺便说明下,单纯 .Z 文件的打包和解压,打包使用 compress 命令(压缩后生成 .Z 文件,这是一种很原始的压缩方式,实际上不推荐使用),解压使用 uncompress 命令,演示如下:
- # 压缩:生成wheater_20220705_001.Z
- compress wheater_20220705_001.txt
-
- # 解压:直接解开生成wheater_20220705_001.txt
- uncompress wheater_20220705_001.Z
需要注意的是:使用这种压缩和解压,需要先下载有关插件,apt install ncompress,不然会提示报错。
这种格式常见于 Windows 系统上的压缩和解压操作,而在 Linux 系统上使用需要先下载有关rar插件,apt install rar。
rar 命令通过使用 -a 参数实现压缩成 .rar 文件,使用 -x 参数实现解压 .rar 文件,演示如下:
- # 压缩:
- rar -a wheater_07705.rar wheater_20220705_001.txt
-
- # 解压:
- unrar -x wheater_07705.rar
7z 是一种可以使用多种压缩算法进行数据压缩的档案格式,拥有极高的压缩比。这种格式在 Linux 系统上使用需要先下载有关插件才能使用,那么,如何下载安装呢?
如果是 Ubuntu 系统,使用以下命令:
sudo apt-get install p7zip
如果是 Centos 系统,使用以下命令:
yum install p7zip
使用起来感觉与 rar 比较相似,也是通过 -a 参数压缩,常用参数说明:
使用演示如下:
- # 压缩:
- 7za a -t7z -r -mx=9 wheater_all.7z wheater_*.txt
-x 参数解压,常用参数说明:
- # 解压:
- 7za x wheater_all.7z -r -o/temp/
最后
这里,梳理了更高级的压缩与解压的命令,有系统自带的 tar 系列命令,也有compress/uncompress、rar/unrar、7za 等第三方插件的使用。