壓縮文件,能夠節省磁盤空間,在傳輸過程當中還能節省網絡帶寬;
打包文件,將一個目錄合併成一個文件;
常見壓縮文件後綴名有:網絡
.gz:表示由gzip壓縮工具壓縮的文件;
.bz2:表示由bzip2壓縮工具壓縮的文件;
.xz:表示由xz壓縮工具壓縮的文件;
.zip:表示由zip壓縮工具壓縮的文件;
.tar:表示由tar打包程序打包的文件;
.tar.gz:先tar打包,而後再gzip壓縮的文件;
.tar.bz2:先tar打包,而後bzip2壓縮的文件;
.tar.xz:先tar打包,再xz壓縮的文件;ide
注意:沒法壓縮目錄,壓縮或解壓縮文件後源文件會消失;
格式:
gzip命令的格式爲gzip [-d#] filename,其中#爲1~9的數字。
-d:該參數在解壓縮時使用。
-#:表示壓縮等級,1爲最差,9爲最好,6爲默認。
-c :指定壓縮或解壓的目標位置:gunzip -c 壓縮包 > 目標文件工具
壓縮:
將1.txt壓縮爲1.txt.gzip
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126
[root@jinkai01 tmp]# gzip 1.txt
[root@jinkai01 tmp]# ls
1.txt.gz vmware-root_6331-1723602126it
解壓縮:gzip -d 或 gunzip 均可以解壓縮class
[root@jinkai01 tmp]# gzip -d 1.txt.gz
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126可視化
壓縮級別有1~9,默認級別是9。壓縮時,加或不加-z選項均可以壓縮文件
注意:bzip沒法壓縮目錄;
格式:
bzip2 [-d][-z][文件名]
壓縮:
使用-z參數壓縮,不附帶-z參數也可壓縮文件;打包
[root@jinkai01 tmp]# bzip2 1.txt
[root@jinkai01 tmp]# ls
1.txt.bz2 vmware-root_6331-1723602126file
解壓縮:bzip2 -d 或 bunzip2 均可以解壓縮
使用-d參數解壓縮;程序
[root@jinkai01 tmp]# bzip2 -d 1.txt.bz2
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126
注意:與bzip2同樣沒法壓縮目錄,-d解壓,-z壓縮,不帶-z也可壓縮;
格式:
xz [-z][-d][文件名]
壓縮:
[root@jinkai01 tmp]# xz 1.txt
[root@jinkai01 tmp]# ls
1.txt.xz vmware-root_6331-1723602126
解壓縮:
[root@jinkai01 tmp]# xz -d 1.txt.xz
[root@jinkai01 tmp]# ls
1.txt vmware-root_6331-1723602126zip
*注意:zip能夠壓縮目錄與文件,壓縮目錄時須要指定目錄下面的文件;壓縮或解壓縮的源文件是存在的;
格式:
zip [壓縮後的文件名] [壓縮源文件]
壓縮目錄:
必須在目錄後面加表示全部文件;**
[root@jinkai01 tmp]# zip a.zip a/*
adding: a/1.txt (stored 0%)
adding: a/2.txt (stored 0%)
adding: a/3.txt (stored 0%)
adding: a/b/ (stored 0%)
[root@jinkai01 tmp]# ls
1.txt a a.zip vmware-root_6331-1723602126
壓縮二級目錄或多級目錄:
必須加參數-r強制;
[root@jinkai01 tmp]# zip -r a.zip a/*
updating: a/1.txt (stored 0%)
updating: a/2.txt (stored 0%)
updating: a/3.txt (stored 0%)
updating: a/b/ (stored 0%)
adding: a/b/22.txt (stored 0%)
adding: a/b/11.txt (stored 0%)
解壓縮:
使用unzip就行解壓縮,沒有unzip命令,能夠使用yum install -y unzip 來安裝;
[root@jinkai01 tmp]# unzip a.zip
Archive: a.zip
replace a/1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
extracting: a/1.txt
extracting: a/2.txt
extracting: a/3.txt
extracting: a/b/22.txt
extracting: a/b/11.txt
tar自己是一個打包工具,能夠將目錄打包成一個文件,將全部文件整合成一個大文件,方便複製或移動;
格式:
tar [參數][文件名]
-z:表示同時用gzip壓縮;
-j:表示同時用bzip2壓縮;
-J:表示同時用xz壓縮;
-x:表示解包或者解壓縮;
-t:表示查看tar包裏的文件;
-c:表示建立一個tar包或者壓縮文件包;
-v:表示可視化;
-f:後面跟文件名,也就是壓縮後的文件;
-p:表示使用源文件的屬性;
-P:表示能夠使用絕對路徑;
打包文件:
[root@jinkai01 tmp]# tree a
a
├── 1.txt
├── 2.txt
├── 3.txt
└── b
├── 11.txt
└── 22.txt1 directory, 5 files
[root@jinkai01 tmp]# tar -cvf a.tar a/
a/
a/3.txt
a/2.txt
a/1.txt
a/b/
a/b/11.txt
a/b/22.txt
[root@jinkai01 tmp]# ls
1.txt a a.tar vmware-root_6331-1723602126
解包文件:
[root@jinkai01 tmp]# tar -xvf a.tar
a/
a/3.txt
a/2.txt
a/1.txt
a/b/
a/b/11.txt
a/b/22.txt
打包並壓縮文件
[root@jinkai01 tmp]# tar -cvzf a.tar.gz a/
a/
a/1.txt
a/2.txt
a/3.txt
a/b/
a/b/22.txt
a/b/11.txt
[root@jinkai01 tmp]# ls
1.txt a a.tar a.tar.gz vmware-root_6331-1723602126
解包並解壓縮文件
[root@jinkai01 tmp]# tar -xzvf a.tar.gz
a/
a/1.txt
a/2.txt
a/3.txt
a/b/
a/b/22.txt
a/b/11.txt
能夠使用tar -tf 直接查看壓縮包裏面的文件
[root@jinkai01 tmp]# tar -tf a.tar.gz a/a/3.txta/2.txta/1.txta/b/a/b/11.txta/b/22.txt