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