|文件後綴名 |說明|
|.zip |zip程序打包壓縮的文件|
|.rar |rar程序壓縮的文件|
|.7z |7zip程序壓縮的文件|
|.tar |tar程序打包,未壓縮的文件|
|.gz |gzip程序(GNU zip)壓縮的文件|
|.xz |xz程序壓縮的文件|
|.bz2 |bzip2程序壓縮的文件|
|.tar.gz |tar打包,gzip程序壓縮的文件|
|.tar.xz |tar打包,xz程序壓縮的文件|
|tar.bz2 |tar打包,bzip2程序壓縮的文件|
|*.tar.7z |tar打包,7z程序壓縮的文件|工具
zip -r -q -o shiyanlou.zip /home/shiyanlou學習
第一行命令中,-r參數表示遞歸打包包含子目錄的所有內容,-q參數表示爲安靜模式,即不向屏幕輸出信息,-o,表示輸出文件,需在其後緊跟打包輸出文件名。編碼
zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip遞歸
這裏添加了一個參數用於設置壓縮級別-[1-9],1表示最快壓縮但體積大,9表示體積最小但耗時最久。最後那個-x是爲了排除咱們上一次建立的 zip 文件,不然又會被打包進這一次的壓縮文件中,注意:這裏只能使用絕對路徑,不然不起做用。ip
使用du命令查看文件大小:du -h -d 0 *.zip ~ | sort文檔
注意: 關於zip命令,由於 Windows 系統與 Linux/Unix 在文本文件格式上的一些兼容問題,好比換行符(爲不可見字符),在 Windows 爲 CR+LF(Carriage-Return+Line-Feed:回車加換行),而在 Linux/Unix 上爲 LF(換行),因此若是在不加處理的狀況下,在 Linux 上編輯的文本,在 Windows 系統上打開可能看起來是沒有換行的。若是你想讓你在 Linux 建立的 zip 壓縮文件在 Windows 上解壓後沒有任何問題,那麼你還須要對命令作一些修改:zsh
zip -r -l -o shiyanlou.zip /home/shiyanloutest
須要加上-l參數將LF轉換爲CR+LF來達到以上目的。亂碼
解壓到當前目錄:unzip shiyanlou.zip打包
使用安靜模式,將文件解壓到指定目錄:unzip -q shiyanlou.zip -d ziptest
若是你不想解壓只想查看壓縮包的內容你可使用-l參數:unzip -l shiyanlou.zip
使用unzip解壓文件時咱們一樣應該注意兼容問題,不過這裏咱們關心的再也不是上面的問題,而是中文編碼的問題,一般 Windows 系統上面建立的壓縮文件,若是有有包含中文的文檔或以中文做爲文件名的文件時默認會採用 GBK 或其它編碼,而 Linux 上面默認使用的是 UTF-8 編碼,若是不加任何處理,直接解壓的話可能會出現中文亂碼的問題(有時候它會自動幫你處理),爲了解決這個問題,咱們能夠在解壓時指定編碼類型。
使用-O(英文字母,大寫o)參數指定編碼類型:unzip -O GBK 中文壓縮文件.zip
從指定文件或目錄建立壓縮包或添加文件到壓縮包:rar a shiyanlou.rar .
上面的命令使用a參數添加一個目錄~到一個歸檔文件中,若是該文件不存在就會自動建立。
注意:rar 的命令參數沒有-,若是加上會報錯。
從指定壓縮包文件中刪除某個文件:rar d shiyanlou.rar .zshrc
查看不解壓文件:rar l shiyanlou.rar
全路徑解壓:unrar x shiyanlou.rar
去掉路徑解壓:unrar e shiyanlou.rar tmp/
在 Linux 上面更經常使用的是tar工具,tar 本來只是一個打包工具,只是同時仍是實現了對 7z,gzip,xz,bzip2 等工具的支持,這些壓縮工具自己只能實現對文件或目錄(單獨壓縮目錄中的文件)的壓縮,沒有實現對文件的打包壓縮,因此咱們也無需再單獨去學習其餘幾個工具,tar 的解壓和壓縮都是同一個命令,只需參數不一樣,使用比較方便。
建立一個 tar 包:tar -cf shiyanlou.tar ~
上面命令中,-c表示建立一個 tar 包文件,-f用於指定建立的文件名,注意文件名必須緊跟在-f參數以後,好比不能寫成tar -fc shiyanlou.tar,能夠寫成tar -f shiyanlou.tar -c ~。你還能夠加上-v參數以可視的的方式輸出打包的文件。上面會自動去掉表示絕對路徑的/,你也可使用-P保留絕對路徑符。
解包一個文件(-x參數)到指定路徑的已存在目錄(-C參數):tar -xf shiyanlou.tar -C tardir
只查看不解包文件-t參數:tar -tf shiyanlou.tar
保留文件屬性和跟隨連接(符號連接或軟連接),有時候咱們使用tar備份文件當你在其餘主機還原時但願保留文件的屬性(-p參數)和備份連接指向的源文件而不是連接自己(-h參數):tar -cphf etc.tar /etc
對於建立不一樣的壓縮格式的文件,對於tar來講是至關簡單的,須要的只是換一個參數,這裏咱們就以使用gzip工具建立*.tar.gz文件爲例來講明。
tar -czf shiyanlou.tar.gz ~
tar -xzf shiyanlou.tar.gz
|壓縮文件格式 |參數|
|.tar.gz |-z| |.tar.xz |-J| |*tar.bz2 |-j|