在Linux中,壓縮文件的擴展名主要是:[*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2],雖然,咱們知道,在LInux中,文件的擴展名沒有什麼做用,可是因爲在Linux中支持的壓縮命令很是的多,爲了在解壓縮的時候知道用那種方式來解壓縮,就須要帶上特定的擴展名。linux
擴展名對應的壓縮方式:spa
◇*.Z:compress程序壓縮的文件 code
◇*.gz:gzip程序壓縮的文件server
◇*.bz2:bzip2程序壓縮的文件blog
◇*.tar:tar程序打包的數據,並無壓縮過ip
◇*.tar.gz:tar程序打包的文件,而且通過gzip程序的壓縮開發
◇*.tar.bz2:tar程序打包的文件,而且通過bzip2程序的壓縮it
其中compress是比較老的一款壓縮軟件,已經被gzip取代了,用gzip也能夠解開compress壓縮的文件。io
可是因爲這些壓縮方式都只能針對單個文件。這時候打包軟件[tar]就顯得很重要了。class
用法:compress [-rcV] 文件或目錄 ← 壓縮命令
默認狀況下,壓縮後的文件後綴爲.Z,而且壓縮前的源文件會消失。
-r:能夠連同目錄下的文件也同時給與壓縮
-c:將壓縮數據輸出成爲standard output(輸出到屏幕)
-v:能夠秀出壓縮後的文件資訊以及壓縮過程當中的一些檔名變化
默認狀況下,咱們的Centos中並沒用安裝compress這個軟件,咱們能夠用下面的命令來在線安裝
yum install ncompress
實例:
[root@localhost stu]# ll 總用量 12 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 [root@localhost stu]# compress -v lin lin: -- replaced with lin.Z Compression: 27.95% [root@localhost stu]# ll 總用量 12 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 fuwh fuwh 2064 7月 26 10:45 lin.Z
若是想要壓縮後的文件還保留的話,能夠用[-c]選項
[root@localhost stu]# ll 總用量 12 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 fuwh fuwh 2064 7月 26 10:45 lin.Z [root@localhost stu]# compress -c lin1 > lin11.Z [root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2064 7月 26 10:58 lin11.Z -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 fuwh fuwh 2064 7月 26 10:45 lin.Z [root@localhost stu]#
若是要解壓縮的話,就用uncompress命令
[root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2064 7月 26 10:58 lin11.Z -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 fuwh fuwh 2064 7月 26 10:45 lin.Z [root@localhost stu]# uncompress lin11.Z [root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 fuwh fuwh 2064 7月 26 10:45 lin.Z [root@localhost stu]#
使用gzip壓縮的文件擴展名爲.gz,還能夠解開copmress壓縮的文件。
使用方法:gzip [-cdtv#] 文件名
-c:將壓縮的數據輸出到屏幕上
-d:解壓縮的參數,也可使用gunzip命令
-t:能夠用來檢驗壓縮檔的一致性,看看文件有無錯誤
-v:能夠顯示出文件的壓縮比率
-#:壓縮等級,-1最快,可是壓縮比最差,-9最慢,可是壓縮比最好,默認是-6
zcat能夠用來讀取壓縮後的文件內容
實例:
[root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 [root@localhost stu]# gzip -v lin lin: 45.1% -- replaced with lin.gz [root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 fuwh fuwh 1596 7月 26 10:45 lin.gz [root@localhost stu]# gzip -c lin2 > lin2.gz [root@localhost stu]# ll 總用量 20 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:46 lin2 -rw-r--r--. 1 root root 1597 7月 26 11:13 lin2.gz -rw-r--r--. 1 fuwh fuwh 1596 7月 26 10:45 lin.gz [root@localhost stu]# zcat lin.gz ■◇□※ ■terterm 連不上的緣由:防火牆未關閉 ....後面內容省略.... [root@localhost stu]# gunzip lin2.gz gzip: lin2 already exists; do you wish to overwrite (y or n)? y [root@localhost stu]# gzip -d lin.gz [root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 root root 2865 7月 26 11:13 lin2 [root@localhost stu]#
bzip2的壓縮比率比gzip還要好,用法和gzip基本上同樣。壓縮的後綴名爲.bz2。
用法:bzip2 [-cdkzv#] 文件名
-c:將壓縮的過程產生的數據輸出到屏幕上
-d:解壓縮的參數,也可使用bunzip2來解壓縮。
-k:保留原始文件
-z:壓縮的參數
-v:能夠顯示壓縮比率
-#:與gzip同樣壓縮比參數
可使用bzcat來讀取壓縮後的文件。
實例:
[root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 root root 2865 7月 26 11:13 lin2 [root@localhost stu]# bzip2 -zv lin lin: 1.694:1, 4.722 bits/byte, 40.98% saved, 2865 in, 1691 out. [root@localhost stu]# ll 總用量 16 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 root root 2865 7月 26 11:13 lin2 -rw-r--r--. 1 fuwh fuwh 1691 7月 26 10:45 lin.bz2 [root@localhost stu]# bzip2 -cvk lin2 > lin2.bz2 lin2: 1.694:1, 4.722 bits/byte, 40.98% saved, 2865 in, 1691 out. [root@localhost stu]# ll 總用量 20 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 root root 2865 7月 26 11:13 lin2 -rw-r--r--. 1 root root 1691 7月 26 11:27 lin2.bz2 -rw-r--r--. 1 fuwh fuwh 1691 7月 26 10:45 lin.bz2 [root@localhost stu]# bzip2 -d lin.bz2 [root@localhost stu]# ll 總用量 20 -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin -rw-r--r--. 1 fuwh fuwh 2865 7月 26 10:45 lin1 -rw-r--r--. 1 root root 2865 7月 26 10:58 lin11 -rw-r--r--. 1 root root 2865 7月 26 11:13 lin2 -rw-r--r--. 1 root root 1691 7月 26 11:27 lin2.bz2 -rw-r--r--. 1 root root 0 7月 26 11:27 lin3 [root@localhost stu]#
前面的壓縮命令都是對單個文件的壓縮,tar命令主要用來將多個文件或目錄打包成一個大文件。
使用方法:
tar [-j | -z] [cv] [-f 建立的檔名] filename <-- 打包與壓縮
tar [-j | -z] [tv] [-f 建立的檔名] <-- 查看檔名
tar [-j | -z] [xv] [-f 建立的檔名] [-C 目錄] 解壓縮
-c:建立打包文件,可搭配-v來查看過程當中被打包的檔名
-t:查看打包文件的內容含有哪些檔名
-x:解打包或解壓縮的功能,可搭配-C在特定目錄中解開,須要注意,-c,-t,-x不能一塊兒出現
-j:經過bizp2的支持來進行壓縮/解壓縮,此時的檔名爲*.tar.bz2
-z:經過gzip的支持來進行壓縮/解壓縮,此時的檔名爲*.tar.gz
-v:在壓縮/解壓縮的過程當中,將正在處理的檔名顯示出來
-f filename:-f後面要馬上接要被處理的檔名。因此若是和其餘選項一塊兒寫的時候,須要寫在最後面。
-C 目錄:在解壓縮的時候指定解壓縮的目錄
例子:
[root@localhost fuwh]# ll 總用量 8 drwxrwxr-x. 2 fuwh fuwh 4096 7月 26 11:55 stu drwxrwxr-x. 3 fuwh fuwh 4096 7月 25 10:27 stu2 [root@localhost fuwh]# tar -zcv -f stu2.tar.gz stu2 stu2/ stu2/stu22/ stu2/stu22/aa.txt [root@localhost fuwh]# tar -jcv -f stu2.tar.bz2 stu stu/ stu/lin stu/lin11 stu/lin1 stu/lin2 stu/lin3 [root@localhost fuwh]# ll 總用量 16 drwxrwxr-x. 2 fuwh fuwh 4096 7月 26 11:55 stu drwxrwxr-x. 3 fuwh fuwh 4096 7月 25 10:27 stu2 -rw-r--r--. 1 root root 2439 7月 26 11:57 stu2.tar.bz2 -rw-r--r--. 1 root root 165 7月 26 11:57 stu2.tar.gz [root@localhost fuwh]#
一般,咱們在網上下一些開發用的軟件,都是tar.gz格式的。好比:
這個時候,咱們就能夠用 tar -zxvf 文件名 來解壓縮了。
[root@localhost data]# ll 總用量 53424 -rw-r--r--. 1 fuwh fuwh 54703519 7月 26 12:02 server-jre-8 u141-linux-x64.tar.gz [root@localhost data]# tar -zxvf server-jre-8u141-linux-x64 .tar.gz jdk1.8.0_141/ jdk1.8.0_141/THIRDPARTYLICENSEREADME.txt jdk1.8.0_141/lib/ jdk1.8.0_141/lib/jexec 。。。中略。。。 [root@localhost data]# ll 總用量 53428 drwxr-xr-x. 7 uucp 143 4096 7月 12 20:45 jdk1.8.0_141 -rw-r--r--. 1 fuwh fuwh 54703519 7月 26 12:02 server-jre-8 u141-linux-x64.tar.gz [root@localhost data]#