1. 程式人生 > >Linux壓縮及歸檔

Linux壓縮及歸檔

1、歸檔和壓縮

  1. 壓縮命令工具:gzip,bzip2,xz,zip
  2. 歸檔命令工具:tar

Tips

  • 壓縮演算法:演算法不同,壓縮比也會不同
  • 壓縮文字檔案和字處理檔案壓縮比非常大,壓縮圖片壓縮比不大    
  • 壓縮就是分析整個文件有什麼內容 哪些常見字串加上標記 以後再出現標記替換  abc(1)de(2)abced  121ed
  • gzip bz2 xz  只能壓縮檔案     預設壓縮後會刪除原始檔

2、壓縮

2.1、gzip

gzip是一種標準的、廣泛應用的檔案壓縮和解壓縮實用工具。

gzip: .gz

         gzip /PATH/TO/SOMEFILE:壓縮完成後會刪除原檔案

         -d:解壓縮

        -#:1-9,指定壓縮比,預設是6;

gunzip:

         gunzip /PATH/TO/SOMEFILE.gz: 解壓完成後會刪除原檔案

zcat /PATH/TO/SOMEFILE.gz: 不解壓的情況,檢視文字檔案的內容

Tips

  • 壓縮比越大  檔案越小
  • zcat臨時找個位置解壓出來檢視 關閉臨時檔案刪除

2.2、bzip2

比gzip有著更大壓縮比的壓縮工具,使用格式近似

bzip2 /PATH/TO/SOMEFILE

          -d: 解壓縮

          -#: 1-9,預設是6

          -k: 壓縮時保留原檔案

bunzip2 /PATH/TO/SOMEFILE.bz2

bzcat /PATH/TO/SOMEFILE.bz2: 不解壓的情況,檢視文字檔案的內容

Tips

  • bzip 對小檔案沒有優勢   

2.3、xz

xz: .xz

       xz /PATH/TO/SOMEFILE

            -d

            -#: 1-9, 預設是6

            -k: 壓縮時保留原檔案

unxz:解壓縮

xzdec -dk install.log.xz > aaa

xzcat

2.4、zip

既歸檔又壓縮的工具

zip FILENAME.zip FILE1 FILE2 ...: 壓縮後不刪除原檔案

unzip FILENAME.zip

archive: 歸檔,歸檔本身並不意味著壓縮

Tips

adding: scripts/adduser2.sh (deflated 63%)

deflated   壓縮演算法

[[email protected] ~]# zip scripts1.zip scripts/*

這兩個 不一樣 第一種壓縮的是一個空資料夾

2.5、tar

tar: 歸檔工具, .tar

        -c: 建立歸檔檔案

        -f FILE.tar: 操作的歸檔檔案

        -x: 展開歸檔

        --xattrs: 歸檔時,保留檔案的擴充套件屬性資訊

        -t: 不展開歸檔,直接檢視歸檔了哪些檔案

        -zcf: 歸檔並呼叫gzip壓縮

        -zxf: 呼叫gzip解壓縮並展開歸檔,-z選項可省略

        -jcf: bzip2

        -jxf:

        -Jcf: xz

        -Jxf:

        -C:change to directory DIR

Tips

  • 對一個檔案歸檔 歸檔後文件變大 tar 有很多元資料
  • -  可以不寫

  • [[email protected] ~]# tar --version

 tar (GNU tar) 1.23

 1.23 支援xz   1.15.1不支援

  • 解壓縮時根據檔名字尾 判定合適的壓縮工具 可以不指定 z j J

建立的時候必須要指定

2.5、cpio

cpio: 歸檔工具 cpio - copy files to and from archives

/boot/initrd-2.6.32-696.el6.x86_64kdump.img: gzip compressed data, from Unix, last modified: Mon Jan         15 09:40:25 2018, max compression

[[email protected] ~]# mv initrd-2.6.32-696.el6.x86_64kdump.img initrd-2.6.32-696.el6.x86_64kdump.img.gz

[[email protected] ~]# gzip -d initrd-2.6.32-696.el6.x86_64kdump.img.gz

[[email protected] ~]# file initrd-2.6.32-696.el6.x86_64kdump.img

initrd-2.6.32-696.el6.x86_64kdump.img: ASCII cpio archive (SVR4 with no CRC)