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