一、壓縮/解壓縮工具
壓縮比:壓縮前後文件體積大小比例
壓縮算法:通過分析數據存儲模式實現 ,CPU資源占用率換取磁盤空間
1.gzip/gunzip/zcat - compress or expand files壓縮或者展開文件
gzip [OPTION]... FILE… 默認會刪除原文件
-d:解壓縮,相當於gunzip;
-#:指定壓縮比,默認是6;數字越大壓縮比越大(1-9);
-c:將壓縮結果輸出至標准輸出;gzip -c FILE > /PATH/TO/SOMEFILE.gz
2.bzip2/bunzip2/bzcat
bzip2 [OPTION]... FILE… 默認會刪除原文件
-d:解壓縮
-#:指定壓縮比;默認是6;數字越大壓縮比越大(1-9);
-k:keep,保留原文件;
3.xz/unxz/xzcat;lzma/unlzma/lzcat
xz [OPTION]... FILE… 默認會刪除原文件
-d:解壓縮
-#:指定壓縮比;默認是6;數字越大壓縮比越大(1-9);
-k:保留原文件;
4.三種壓縮工具比較總結
(1)在較小文件,特別是文本文件的處理上gzip算法壓縮後效果最好
(2)對也大文件,實際上zx的算法壓縮比最優,遠超gzip,bzip2比gzip好點
(3)bzi2比gzip壓縮比優一點,但時不明顯
(4)gzip、bzip2、xz都只支持壓縮文件 不支持目錄
(5)zcat、bzcat、xzcat都能直接查看壓縮文件的內容,而不用去單獨解壓
實際上zcat、bzcat、xzcat將其加壓在臨時文件內以供查看,所以對大文件不建議用此類命令,過於占用CPU資源
二、歸檔
歸檔:把多個文件打包成一個文件,歸檔本身會使得文件變大,所以歸檔之後一般壓縮
1.tar
tar [OPTION]... FILE…
-f /PATH/TO/SOMEFILE.tar :file,定義歸檔文件名和類型
歸檔多個文件或者目錄,且不刪除原文件,不指明路徑默認當前路徑,選項可以不加-
(1)創建歸檔
-c -f /PATH/TO/SOMEFILE.tar FILE...
-cf /PATH/TO/SOMEFILE.tar FILE...
(2)展開歸檔(tar默認可以根據文件後綴判斷出壓縮類型)
-xf /PATH/FROM/SOMEFILE.tar
-xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR 展開至何處
(3)查看歸檔文件的文件列表
-tf /PATH/TO/SOMEFILE.tar
(4)歸檔壓縮/解壓縮
-z:gzip2算法類型,-zcf -zxf
-j:bzip2算法類型,-jcf -jxf
-J: xz算法類型,-Jcf -Jxf
2.zip/unzip既能壓縮解壓又能歸檔,後綴.zip
壓縮 zip newname.zip file
解壓:unzip
歸納總結:
1.文件的後綴對Linux系統無實際意義,但時在壓縮解壓有實際意義,要注意文件的擴展名
2.gzip、bzip2、xz都只支持壓縮文件 不支持目錄
3.tar本身只能對文件歸檔但不能壓縮解壓操作,通過調用gzip、bzip2、xz實現歸檔壓縮
4.tar純粹做歸檔操作,得到的文件大小會比其歸檔的每個文件大小和還要大
5.tar展開壓縮的歸檔文件是無需指明索要解壓擴展的文件的壓縮算法,因為其可以自動識別