一、壓縮打包介紹linux
文件壓縮以後,佔用的空間變小,方便傳輸,也能夠節省磁盤空間。
常見的壓縮文件:
Windows .rar .zip .7z
Linux .zip .gz .bz2 .xz .tar.gz .tar.bz2 .tar.xz算法
二、gzip壓縮工具ide
gzip壓縮文件比較簡單,直接跟文件名便可,先作一下準備工做,見下圖,
能夠看到出現了不少後綴名稱爲 .conf 的文件,
接下來把這些文件所有輸出到一個文件裏,而且查看大小,
多追加幾回,增長文件 1.txt 的大小,會發現大小增長的不太正常。這邊要注意一下,最後的2.2M大小是不太準確的,裏面有一些虛的空間。這個不用太在乎,接着往下作實驗,
使用gzip壓縮完文件以後,發現原來的文件1.txt不見了,取而代之的是文件1.txt.gz ,查看大小才332K。接着解壓文件1.txt.gz,發現文件又恢復成1.txt了,再查看大小就變成1.3M了。這就是上面說的虛的空間,通過壓縮和解壓以後就不見了。如今不妨再查看一下行數,
能夠看到行數是不變的,說明空間變小不是由於刪除內容而變小的,是由於確實存在一些虛的空間。
gzip壓縮的用法裏面有一個選項,1至9表示壓縮的級別,具體用法見下圖,
能夠看到壓縮級別爲1的時候,大小是392K,比默認壓縮級別的大小大一些,通常默認級別是6,這邊保持默認就能夠了。
還有一個解壓的命令 gunzip ,用法見下圖,
上圖中嘗試了9和6級別的壓縮,能夠看到壓縮後文件的大小是同樣的,這邊說明一個問題文件壓縮到必定層次,就不會再變小了。
壓縮後的文件,沒法使用cat命令查看,type命令也不行,須要使用file命令,見下圖,
最上面那些字符是使用cat命令查看出現的亂碼,使用type命令會顯示找不到,而使用file命令,就會顯示被壓縮前的文件是1txt,基於Unix平臺,壓縮的時間是2018年1月18日21:15:14等內容。
cat命令查看不了,還可使用zcat命令,輸入 zcat 1.txt.gz ,回車,出現幾萬行的內容,這邊就不截圖了。這個命令的原理是先解壓再cat查看。
還有一個選項-c,能夠保留原文件,在指定的目錄下生成新的壓縮文件,見下圖,
解壓的時候,也可使用-c來保留壓縮文件,在指定的目錄下生成新的解壓文件,而且解壓文件的名字是能夠更改的,見下圖,工具
這邊有個注意事項,gzip不能壓縮目錄。3d
三、bzip2壓縮工具blog
bzip2 壓縮後的文件大小比 gzip 壓縮後的文件小,它們倆的算法不同,且 bzip2 耗費 cpu 的資源比較多。接下來作實驗,沒有找到 bzip 命令,就安裝一個,見下圖,
安裝完畢,輸入命令,
上圖能夠看出,使用bzip2命令壓縮後,佔用的大小是160K,上面使用gzip命令壓縮後,佔用的大小是332K,很明顯,bzip2壓縮的文件大小比較小。
一樣的,解壓使用選項-d選項或是bunzip2命令,見下圖,
一樣的, bzip2也不能壓縮目錄。也有一個選項-c,能夠保留原文件,在指定的目錄下生成新的壓縮文件。解壓的時候,也可使用-c來保留壓縮文件,在指定的目錄下生成新的解壓文件,而且解壓文件的名字是能夠更改的,見下圖,
一樣的,bzip2 也有壓縮級別,默認的壓縮級別是9,
也可使用 file 查看壓縮文件,
上圖中 text 表示普通的文本文檔,而下圖的 binary 表示二進制文件。其餘狀況,見下圖,
這邊也可使用bzcat查看文件,見下圖,
輸入上圖命令後,回車,便可查看,內容太多,不截圖了。ip
四、xz壓縮工具資源
xz壓縮的用法和上面兩種的用法基本上是同樣的,可是xz壓縮工具用的較少。見下圖,
xz壓縮後的文件更小,只有60K,顯然耗費的 cpu 更多,默認的壓縮級別是6 。這個壓縮級別不用糾結,按默認的來就能夠了。
xz 也不支持目錄壓縮,其餘用法,見下圖,
輸入上圖命令後,回車,便可查看,內容太多,不截圖了。文檔
五、zip壓縮工具it
前面提到的幾個壓縮工具,都不支持壓縮目錄,zip 就能夠壓縮目錄。
既然支持壓縮目錄,那就先拷貝一個目錄進來,具體操做,見下圖,
接着把 4.txt 文件放入 lyslinux/2/ 裏,使目錄內容比較大,見下圖,
接着在壓縮文件的時候,發現zip命令沒有安裝,輸入命令 yum install -y zip ,回車,
而後壓縮文件,見下圖,
能夠看到 2.txt.zip 的大小是332K 。 其中,壓縮文件最後顯示的大小,與文件的內容和類型是有關係的,與壓縮工具類型沒有直接關係,這邊注意一下。
接下來壓縮目錄,須要加上 -r ,見下圖,
使用 zip 壓縮,有一個特色,原來的文件不會刪除,這與前面的三個工具不一樣。
解壓縮使用命令 unzip ,發現沒有安裝,也須要安裝一下,見下圖,
安裝完成以後,輸入命令 unzip lys.zip ,回車,見下圖,
會發現,跳出來好多詢問,這是由於zip壓縮的時候,不會刪除原文件,解壓過程當中就會出現相同的文件,因此須要詢問一下要不要覆蓋原來的文件。n 是不要覆蓋,y 是要覆蓋,A 是所有覆蓋,N 是所有不覆蓋,r 是重命名。
unzip 也能夠指定解壓的路徑,若是不指定,就是在當前目錄下。
先建立一個目錄 test,而後使用 -d 選項將壓縮文件解壓到指定目錄 test 裏面,結果是解壓成功了。後面想要在解壓的時候重命名爲 aa.txt ,結果是直接建立了一個名爲 aa.txt 的目錄,在 aa.txt 目錄下有一個 2.txt 文件。說明 zip 壓縮工具,在解壓的時候是不能更改文件名的。
zip 壓縮包也是不能直接查看內容的,不過可使用命令 unzip -l lys.zip ,查看壓縮包裏面的文件列表,見下圖,以上就是 zip 壓縮工具的用法。