1. 程式人生 > >linux壓縮打包總結

linux壓縮打包總結

tar

1 壓縮打包介紹

linux 下壓縮文件有

Linux .zip,.gz,.bz2,.xz,.tar.gz,.tar.bz2,.tar.xz

2 gzip壓縮工具

gzip 不能壓縮目錄

小測試:

壓縮前期工作:
[root@chy tmp]# mkdir d6z 
[root@chy tmp]# cd d6z/
[root@chy d6z]# find /etc/ -type f -name "*conf" -exec cat {} >> lf.txt \;(查找/etc/*conf的配置文件,查看後將內容追加到lf.txt裏面
[root@chy d6z]# du -sh lf.txt(查看lf.txt的大小)
296K	lf.txt
[root@chy d6z]# gzip lf.txt (壓縮文件,gzip 後直接跟文件)
[root@chy d6z]# du -sh lf.txt.gz
308K	lf.txt.gz
[root@chy d6z]# gzip -d lf.txt.gz (解壓縮,gzip -d )=gunzip lf.txt.gz 
[root@chy d6z]# file lf.txt.gz (file 查看文件類型)
[root@chy d6z]# zcat lf.txt.gz (查看壓縮文件的內容)
root@chy d6z]# gzip -c lf.txt > /tmp/lf.txt.gz (壓縮時原文件存在)
[root@chy d6z]# gunzip -c /tmp/lf.txt.gz > /tmp/d6z/chy.txt  =gzip -d /tmp/lf.txt.gz >/tmp/d6z/chy.txt (解壓縮時文件存在)
[root@chy d6z]# wc -l lf.txt chy.txt(比較存在的兩個文件的大小)
  30864 lf.txt
  30864 chy.txt
  61728 總用量

3 bzip2壓縮工具

bzip2不能壓縮目錄

[root@chy d6z]# yum install -y bzip2 
[root@chy d6z]# bzip2 lf.txt (bzip2壓縮文件)
[root@chy d6z]# bzip2 -d lf.txt.bz2 = bunzip lf.txt.bz2 (解壓縮)
[root@chy d6z]# bzip2 -c lf.txt > /tmp/lf.txt.bz2 (bzip2 壓縮文件時原文件存在)
[root@chy d6z]# bunzip2 -c /tmp/lf.txt.bz2 > /tmp/d6z/lll.txt(bzip2解壓縮時原文件存在)
[root@chy d6z]# bzcat chy.txt.bz2  查看壓縮文件的內容

4 xz壓縮工具

不能壓縮目錄

[root@chy d6z]# xz chy.txt(壓縮文件)
)
[root@chy d6z]# xz -d chy.txt.xz = unxz chy.txt.xz (解壓縮)
xz -c chy.txt> /tmp/chy.txt.xz
 xz -d -c /tmp/chy.txt.xz > 1.txt.new3
 [root@chy d6z]# xzcat chy.txt.xz
查看壓縮的文件

5 zip壓縮工具

zip支持壓縮目錄 zip命令可以用來解壓縮文件,或者對文件進行打包操作。zip是個使用廣泛的壓縮程序,文件經它壓縮後會另外產生具有“.zip”擴展名的壓縮文件。

[root@chy d6z]# yum install -y zip  (安裝zip包)
[root@chy d6z]# zip lf.txt.zip chy.txt
(zip 後跟壓縮後文件的名稱 最後在跟需要壓縮的文件)
[root@chy d6z]# zip -r chy.zip aminglinux lll.txt
(zip 後跟-r 是壓縮目錄 zip -r 跟壓縮完成後的名稱後跟壓縮的目錄以及想要壓縮的目錄)
(如下是zip的參數)
-A:調整可執行的自動解壓縮文件;
-b<工作目錄>:指定暫時存放文件的目錄;
-c:替每個被壓縮的文件加上註釋;
-d:從壓縮文件內刪除指定的文件;
-D:壓縮文件內不建立目錄名稱;
-f:此參數的效果和指定“-u”參數類似,但不僅更新既有文件,如果某些文件原本不存在於壓縮文件內,使用本參數會一並將其加入壓縮文件中;
-F:嘗試修復已損壞的壓縮文件;
-g:將文件壓縮後附加在已有的壓縮文件之後,而非另行建立新的壓縮文件;
-h:在線幫助;
-i<範本樣式>:只壓縮符合條件的文件;
-j:只保存文件名稱及其內容,而不存放任何目錄名稱;
-J:刪除壓縮文件前面不必要的數據;
-k:使用MS-DOS兼容格式的文件名稱;
-l:壓縮文件時,把LF字符置換成LF+CR字符;
-ll:壓縮文件時,把LF+cp字符置換成LF字符;
-L:顯示版權信息;
-m:將文件壓縮並加入壓縮文件後,刪除原始文件,即把文件移到壓縮文件中;
-n<字尾字符串>:不壓縮具有特定字尾字符串的文件;
-o:以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同;
-q:不顯示指令執行過程;
-r:遞歸處理,將指定目錄下的所有文件和子目錄一並處理;
-S:包含系統和隱藏文件;
-t<日期時間>:把壓縮文件的日期設成指定的日期;
-T:檢查備份文件內的每個文件是否正確無誤;
-u:更換較新的文件到壓縮文件內;
-v:顯示指令執行過程或顯示版本信息;
-V:保存VMS操作系統的文件屬性;
-w:在文件名稱裏假如版本編號,本參數僅在VMS操作系統下有效;
-x<範本樣式>:壓縮時排除符合條件的文件;
-X:不保存額外的文件屬性;
-y:直接保存符號連接,而非該鏈接所指向的文件,本參數僅在UNIX之類的系統下有效;
-z:替壓縮文件加上註釋;
-$:保存第一個被壓縮文件所在磁盤的卷冊名稱;
-<壓縮效率>:壓縮效率是一個介於1~9的數值。

unzip命令

unzip命令用於解壓縮由zip命令壓縮的“.zip”壓縮包。
語法:unzip(選項)(參數)
[root@chy d6z]# yum install -y unzip (安裝解壓縮的命令)
[root@chy d6z]# unzip -d /tmp/aminglinux ddd.zip
指定解壓到其它目錄下
unzip 選項如下
-c:將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換;
-f:更新現有的文件;
-l:顯示壓縮文件內所包含的文件;
-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換;
-t:檢查壓縮文件是否正確;
-u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中;
-v:執行時顯示詳細的信息;
-z:僅顯示壓縮文件的備註文字;
-a:對文本文件進行必要的字符轉換;
-b:不要對文本文件進行字符轉換;
-C:壓縮文件中的文件名稱區分大小寫;
-j:不處理壓縮文件中原有的目錄路徑;
-L:將壓縮文件中的全部文件名改為小寫;
-M:將輸出結果送到more程序處理;
-n:解壓縮時不要覆蓋原有的文件;
-o:不必先詢問用戶,unzip執行後覆蓋原有的文件;
-P<密碼>:使用zip的密碼選項;
-q:執行時不顯示任何信息;
-s:將文件名中的空白字符轉換為底線字符;
-V:保留VMS的文件版本信息;
-X:解壓縮時同時回存文件原來的UID/GID;
-d<目錄>:指定文件解壓縮後所要存儲的目錄;
-x<文件>:指定不要處理.zip壓縮文件中的哪些文件;
-Z:unzip-Z等於執行zipinfo指令。

6 tar打包工具

tar命令可以為linux的文件和目錄創建檔案。利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網絡傳輸是非常有用的。

Linux中很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然後再用壓縮程序進行壓縮(gzip bzip2命令)。

[root@chy d6z]# tar -cvf aminglinux.tar aminglinux (打包文件tar 後跟c 是創建 v是可視化,f是後跟要包的名稱)
[root@chy d6z]# tar -xvf aminglinux.tar 
(-x是解包)
[root@chy d6z]# tar -cvf chylinux.tar --exclude "*".txt chylinux (--exclude 是除了一個要打包的內容)
[root@chy d6z]# tar -tf aminglinux.tar
(tar可以查看打包文件的內容)

7 打包並壓縮

[root@chy d6z]# tar -zcvf chylinux.tar.gz chylinux (打包並壓縮成gzip的格式)
[root@chy d6z]# tar -cjvf chylinux.tar.bz2 chylinux (打包並壓縮成bz2的格式)
[root@chy d6z]# tar -cJvf chylinux.tar.xz chylinux
(打包成xz的壓縮方式)
[root@chy d6z]# tar -tf chylinux.tar.xz 
(查看打包的內容)

希望看過的童鞋多多指教,謝謝!技術分享圖片技術分享圖片

linux壓縮打包總結