8、Linux:一起玩转压缩/解压命令2

这篇将重点说明 tar 命令的使用,我们知道 tar 是用来建立,还原备份文件的工具程序,它可以加入和解开备份文件内的文件。值得注意的是,tar 是打包,不是压缩,它本身不具有压缩功能,而是调用压缩功能实现的 。

tar 命令的基本格式如下:

tar [参数选项] xxx.tar [文件]

常用的参数选项有:

  • -c: 建立压缩档案
  • -x:解压
  • -t:查看内容
  • -r:向压缩归档文件末尾追加文件
  • -u:更新原压缩包中的文件
  • -z:有 gzip 属性的
  • -j:有 bz2 属性的
  • -Z:有 compress 属性的
  • -v:显示所有过程
  • -O:将文件解开到标准输出
  • -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
  • --exclude=<范本样式>:排除符合范本样式的文件

1、.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

2、.tar.gz 文件的压缩与解压

使用举例:(接上面的示例)

# 压缩: 打包当前目录下的所有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 ,二者本质是一样的。

3、.tar.bz2 文件的压缩与解压

使用举例:(接上面的示例)

# 压缩: 打包当前目录下的所有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 属性的文件。

4、.tar.Z 文件的压缩与解压

使用举例:(接上面的示例)

# 压缩: 打包当前目录下的所有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 等方式,继续进行压缩和解压操作的,只是需要加入对应的参数实现而已。

5、.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,不然会提示报错。

6、.rar 文件的压缩与解压

这种格式常见于 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

7、.7z 文件的压缩与解压

7z 是一种可以使用多种压缩算法进行数据压缩的档案格式,拥有极高的压缩比。这种格式在 Linux 系统上使用需要先下载有关插件才能使用,那么,如何下载安装呢?

如果是 Ubuntu 系统,使用以下命令:

sudo apt-get install p7zip

如果是 Centos 系统,使用以下命令:

yum install p7zip

使用起来感觉与 rar 比较相似,也是通过 -a 参数压缩,常用参数说明:

  • a:压缩操作,添加文件/目录到压缩包
  • -t:指定压缩类型,可不指定,默认压缩类型是7z,也可以指定. tar.bz2 等压缩类型
  • -mx=数字:指定极限的压缩比,默认为5
  • -r:递归操作,将指定目录下的所有文件和子目录一并处理

使用演示如下:

# 压缩:
7za a -t7z -r -mx=9 wheater_all.7z wheater_*.txt

-x 参数解压,常用参数说明:

  • x:解压操作,推荐使用 a 参数,而不建议使用 e 参数(e 参数会将所有文件都解压到根目录下,而不是原有的文件目录下)
  • -r:递归操作,将指定目录下的所有文件和子目录一并处理
  • -o:解压到指定目录,注意该参数后直接跟上指定目录,无空格!!!
# 解压:
7za x wheater_all.7z -r -o/temp/

最后

这里,梳理了更高级的压缩与解压的命令,有系统自带的 tar 系列命令,也有compress/uncompress、rar/unrar、7za 等第三方插件的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值