tar 压缩文件 解压文件 linux centos redhat

这篇博客详细介绍了Linux下使用tar命令进行文件和文件夹的压缩与解压缩操作,包括创建.tar和.tar.gz格式的压缩文件,以及多线程压缩方法。还提到了在压缩大文件时查看进度的重要性,并提供了解压.tar和.tar.gz文件的通用命令。

tar的用法

如果tar没有安装,用yum -y install tar 进行安装。

压缩单个文件
1 压缩成 .tar格式

这里对999.txt进行压缩,压缩文件命名为 999.txt.tar,名字可以随便取, 后缀.tar 最好不要改。

[oracle@oracle11g data2]$ ll
total 8
drwxr-xr-x 2 oracle oinstall 4096 Sep  2 20:08 0000
-rw-r--r-- 1 oracle oinstall   86 Aug 19 17:22 999.txt
[oracle@oracle11g data2]$ 
[oracle@oracle11g data2]$ 
[oracle@oracle11g data2]$ tar -vcf 999.txt.tar 999.txt 
999.txt
[oracle@oracle11g data2]$ ll
total 20
drwxr-xr-x 2 oracle oinstall  4096 Sep  2 20:08 0000
-rw-r--r-- 1 oracle oinstall    86 Aug 19 17:22 999.txt
-rw-r--r-- 1 oracle oinstall 10240 Sep  3 11:15 999.txt.tar
[oracle@oracle11g data2]$ 

压缩前999.txt 大小为86 bytes, 压缩后 999.txt.tar 大小为10240 bytes, 压缩后的文件比较大,浪费存储空间。上面使用的参数为-vcf ,其中v 用来动态显示压缩过程(解压的时候也是用来动态显示),可以省略掉。如果文件较大,建议加上,可以查看命令执行进度。

2 压缩成 .tar.gz格式

把文件999.txt 压缩,压缩文件命名为999.txt.tar.gz,过程如下:

[oracle@oracle11g data2]$ tar -vzcf 999.txt.tar.gz 999.txt
999.txt
[oracle@oracle11g data2]$ ll
total 24
drwxr-xr-x 2 oracle oinstall  4096 Sep  2 20:08 0000
-rw-r--r-- 1 oracle oinstall    86 Aug 19 17:22 999.txt
-rw-r--r-- 1 oracle oinstall 10240 Sep  3 11:31 999.txt.tar
-rw-r--r-- 1 oracle oinstall   165 Sep  3 11:31 999.txt.tar.gz
[oracle@oracle11g data2]$ 

压缩后的文件999.txt.tar.gz 大小为165bytes, 比999.txt.tar 小多了,节约存储空间,不错。

多线程压缩法
tar cf - paths-to-archive | pigz > archive.tar.gz 
例如:tar cf - paths-to-archive | pigz -9 -p 32 > archive.tar.gz  (-9 是增加压缩率)
或者
tar -c --use-compress-program=pigz -f tar.file dir_to_zip 
压缩文件夹

这里对文件夹0000 压缩,压缩后的文件命名为0000.tar.gz

[oracle@oracle11g data2]$ ll
total 24
drwxr-xr-x 2 oracle oinstall  4096 Sep  2 20:08 0000
-rw-r--r-- 1 oracle oinstall    86 Aug 19 17:22 999.txt
-rw-r--r-- 1 oracle oinstall 10240 Sep  3 11:31 999.txt.tar
-rw-r--r-- 1 oracle oinstall   165 Sep  3 11:31 999.txt.tar.gz
[oracle@oracle11g data2]$ 
[oracle@oracle11g data2]$ tar -zcf 0000.tar.gz 0000/
[oracle@oracle11g data2]$ ll
total 28
drwxr-xr-x 2 oracle oinstall  4096 Sep  2 20:08 0000
-rw-r--r-- 1 oracle oinstall   162 Sep  3 11:39 0000.tar.gz
-rw-r--r-- 1 oracle oinstall    86 Aug 19 17:22 999.txt
-rw-r--r-- 1 oracle oinstall 10240 Sep  3 11:31 999.txt.tar
-rw-r--r-- 1 oracle oinstall   165 Sep  3 11:31 999.txt.tar.gz
[oracle@oracle11g data2]$ 
解压文件

无论是.tar.gz 还是.tar 格式的压缩文件,都可以使用tar -vxf 进行解压,参数-v 用来动态展示解压过程,不需要可以去掉 。

[oracle@oracle11g data2]$ ll
total 8
-rw-r--r-- 1 oracle oinstall 162 Sep  3 11:39 0000.tar.gz
-rw-r--r-- 1 oracle oinstall 165 Sep  3 11:31 999.txt.tar.gz
[oracle@oracle11g data2]$ 
[oracle@oracle11g data2]$ tar -vxf 0000.tar.gz 
0000/
0000/1234
[oracle@oracle11g data2]$ tar -vxf 999.txt.tar.gz 
999.txt
[oracle@oracle11g data2]$ ll
total 16
drwxr-xr-x 2 oracle oinstall 4096 Sep  2 20:08 0000
-rw-r--r-- 1 oracle oinstall  162 Sep  3 11:39 0000.tar.gz
-rw-r--r-- 1 oracle oinstall   86 Aug 19 17:22 999.txt
-rw-r--r-- 1 oracle oinstall  165 Sep  3 11:31 999.txt.tar.gz
[oracle@oracle11g data2]$ 

写于 Sept.3, 2019

如果觉得文章不错,不妨给个打赏,写作不易,各位的支持,能激发和鼓励我更大的写作热情。谢谢!

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值