linux中檔案壓縮與打包
一.常見的壓縮命令
在linux環境中,壓縮檔案的副檔名大多是*.tar,*.tar.gz,*.tgz,*.gz,*.Z,*.bz2,首先我們來介紹以下這些壓縮文案的副檔名:、
*.Z:compress程式壓縮的檔案
*.gz:gzip程式壓縮的檔案
*.bz2:bzip2程式壓縮的檔案愛你
*.tar:tar程式打包的資料,並沒有壓縮過
*.tar.gz:tar程式打包的檔案,其中經過gzip的壓縮
*.tar.bz2:tar程式打包的檔案,其中經過bzip2的壓縮
接下來,我們開始介紹壓縮命令:
1.Compress
格式:compress [-rcv] 檔案或目錄 ##壓縮
uncompress 檔案.Z ##解壓縮
-r:可以連同目錄下的檔案也同時給予壓縮
-c:將壓縮資料輸出成為 standard output (輸出到螢幕)
-v:可以顯示出壓縮後的檔案資訊以及壓縮過程中的一些檔名變化
2.gzip,zcat
格式:gzip [-cdtv#] 檔名
zcat 檔名.gz
-c:將壓縮的資料輸出到螢幕上,可通過資料流重定向來處理
-d:解壓縮的引數
-t:可以用來檢驗一個壓縮我呢見的一致性,看看檔案有無錯誤
-v:可以顯示出原始檔/壓縮檔案的壓縮比等資訊
-#:壓縮等級,-1最快,但是壓縮比最差,-9最慢,但是壓縮比最好預設時-6
3.bzip2,bzcat
格式:bzip2 [-cdkzv#] 檔名
bzcat 檔名.bz2
-c:將壓縮過程中產生的資料輸出到螢幕上
-d:解壓縮引數
-k:保留原檔案,而不會刪除原始的檔案
-z:壓縮的引數
-v:可以顯示出原始檔/壓縮檔案的壓縮比等資訊
-#:與gzip同樣,艘時計算壓縮比的引數,-9最佳,-1最快
4.打包命令:tar
tar的引數很多,這裡介紹一部分,更多可以用man tarchaxun
格式:
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:通過bzip2的支援進行壓縮/解壓縮,此時檔名最好為*.tar.bz2
-z:通過gzip的支援進行壓縮/解壓縮,此時檔名最好為*.tar.gz
-v:在壓縮/解壓縮的過程中,將正在處理的檔名顯示出來
-f filename:-f 後面要接被處理的檔名
-C 目錄:這個引數用在解壓縮時,若要在特定目錄解壓縮,可以使用這個引數
-P:保留備份資料的原本許可權與屬性,常用於備份(-c)重要的配置檔案
-p:保留絕對路徑,即允許備份資料中含有根目錄存在之意
--exclude=FILE:在壓縮的過程中,不要將FILE打包
簡單點記憶其實只要記住下面的方式即可:
壓縮:tar -jcf -f filename.tar.bz2 要被壓縮的檔案或目錄名稱
查詢:tar -jtv -f filename.tar.bz2
解壓縮:tar -jxv -f filename.tar.bz2 -C 想要解壓到那個目錄下(若不用-C引數,預設當前)
5.完整備份工具:dump
dump引數很多,這裡僅介紹部分:
dump
格式:dump [-Suvj] [-level] [-f 備份檔案] 待備份資料
dumo -W
-S:僅列出後面的待備份資料需要多少磁碟才能夠備份完畢
-u:將這次dump的時間記錄到/etc/dumpdateS檔案中
-v:將dump的檔案過程顯示出來
-j:加入bzip2地支援,將和資料進行壓縮,預設bzip2壓縮等級為2
-level:從-0~-9公十個等級
-f:有點類似tar',後面接產生的檔案,可接例如/dev/st0裝置檔名等
-W:列出在/etc/fstab裡面的具有dump設定的分割槽是否有備份過
6.dd命令
格式:dd if="input file" of="output file" bs="block size" count="number"
if:就是input file,也可以時裝置
of:就是output file,也可以是裝置
bs:規劃的一個block的大小,若未指定則一般預設是512bytes
count:多少個bs地意思