文件壓縮、解壓縮以及歸檔工具詳解

一、簡介

    早期的有compress和uncompress,其對應的是.Z結尾的壓縮格式文件;現在使用較多的有:

    gzip/gunzip,其對應的是.gz結尾的壓縮格式文件;

    bzip2/bunzip2其對應的是.bz2結尾的壓縮格式文件;

    xz/unxz其對應的是.xz結尾的壓縮格式文件;

    zip/unzip其對應的是.zip結尾的壓縮格式文件;

二、compress/uncompress

    語法:compress [-dfvcVr] [-b maxbits] [file ...]

                wKiom1mS_rGBN9iSAAA5hpBvop8513.png-wh_50


    OPTION:

        -d: 解壓縮

                wKioL1mS_tnRQ3DzAAA0wIWy-OE454.png-wh_50


        -c: 結果輸出至標準輸出,不刪除原文件

                wKiom1mS__6zkSaqAABEAQR6VY4515.png-wh_50


        -v: 顯示詳情 

        uncompress:解壓縮 

        zcat file.Z >file    

                wKioL1mTDkqAbhtBAABG_8JVaYA089.png-wh_50


三、gzip/gunzip

    語法:gzip [OPTION]... FILE ...

                wKioL1mTD8bT8oaXAABGIn1m1og719.png-wh_50


    OPTION:

        -d: 解壓縮,相當於gunzip;

                wKioL1mTEAChL5_1AABFWZ_EuDE162.png-wh_50                

        -c: 將壓縮或解壓縮的結果輸出至標準輸出;

                wKiom1mTEGCRlCxeAABUO31N-ew187.png-wh_50


        -#:1-9,指定壓縮比,值越大壓縮比越大;

                wKioL1mTEM2zdo6pAABZSfvfymg145.png-wh_50


        zcat:不顯式解壓縮的前提下查看文本文件內容;

                wKiom1mTERqCPGgyAABUOjcSv8s450.png-wh_50

    實例:
        gzip -c messages  > messages.gz    ##壓縮
        gzip -c -d messages.gz > messages    ##解壓縮
        zcat messages.gz > messages        ##解壓縮


四、bzip2/bunzip2/bzcat

    語法:bzip2 [OPTION]... FILE ...

                wKiom1mTE3SjOhB7AAA53kmpJ-c024.png-wh_50


    OPTION:

        -k:keep, 保留原文件;

                wKioL1mTE_Ky3V9BAABJqvsDpdI563.png-wh_50

                

        -d:解壓縮;

                wKiom1mTE6_C7lRVAAA5cXTeqVo374.png-wh_50


        -#:1-9,壓縮比,默認爲6;

        bzcat:不顯式解壓縮的前提下查看文本文件內容;

                wKioL1mTFJehJfPmAACD8DXVthg320.png-wh_50


五、xz/unxz/xzcat

    語法:xz [OPTION]... FILE ...

                wKioL1mTF2_Q59VWAAA2c2ro_4c892.png-wh_50


    OPTION:

        -k: keep, 保留原文件;

                wKioL1mTGASwzF1MAABJn87n6mM275.png-wh_50


        -d:解壓縮;

                wKioL1mTF8PTZySrAAA3fzzvdiA898.png-wh_50


        -#:1-9,壓縮比,默認爲6; 

    xzcat: 不顯式解壓縮的前提下查看文本文件內容;

                wKioL1mTGGezSIpFAABV5uCaMPA041.png-wh_50


六、zip/unzip

    打包壓縮:

        zip –r sysconfig sysconfig/ (-r選項是壓縮目錄的)

                wKiom1mTGr7SAghHAAAZJCjtgtg611.png-wh_50


        cat messages |zip messages.zip -

                wKioL1mTHZiQLGYeAABrbae5GxE241.png-wh_50


    解包解壓縮 

        unzip sysconfig.zip

                wKioL1mTG2STPZwcAAB3UEWGspk488.png-wh_50


          unzip -p messages.zip > f1

                wKioL1mTHe2xrXQ2AABtH6iGdcM123.png-wh_50


七、tar

        語法:tar [OPTION]...

    (1)  創建歸檔

        tar -c -f /PATH/TO/SOMEFILE.tar FILE...

        tar cf /PATH/TO/SOMEFILE.tar FILE...

                wKioL1mTJlvAw21jAABEceyfm7g868.png-wh_50


    (2)  查看歸檔文件中的文件列表

        tar -t -f /PATH/TO/SOMEFILE.tar

                任何格式的壓縮文件都能查看

                wKioL1mTJsqSC0jHAABFIZovoqI535.png-wh_50


    (3)  展開歸檔

        tar -x -f /PATH/TO/SOMEFILE.tar    ##解壓在當前目錄

        tar -x -f /PATH/TO/SOMEFILE.tar -C /PATH/    ##解壓在指定目錄

                wKioL1mTJ_yhdLwaAABNthSJBXE411.png-wh_50


    (5)  結合壓縮工具實現:歸檔並壓縮

        -z:gzip

            後綴名:.tar.gz

            歸檔並壓縮:tar -zcvf

            展開歸檔:tar -zxvf

                wKioL1mTKuuBblrfAABWEyh6a-Y563.png-wh_50


        -j:bzip2

            後綴名:.tar.bz2

            歸檔並壓縮:tar -jcvf

            展開歸檔:tar -jxvf

                wKioL1mTK3LgXd29AABiGvtb8aI255.png-wh_50


        -J:xz

            後綴名:.tar.xz

            歸檔並壓縮:tar -Jcvf

            展開歸檔:tar -Jxvf

    注意:展開歸檔可以直接使用tar -xvf,而無須爲其指定對應的壓縮工具選項;

                wKiom1mTK-LQMOszAABwVl4KLsc957.png-wh_50


八、cpio    

    1. cpio命令是通過重定向的方式將文件進行打包備份,還原恢復 的工具,它可以解壓以“.cpio”或者“.tar”結尾的文件。 

    2. cpio [選項] > 文件名或者設備名 

    3. cpio [選項] < 文件名或者設備名 

    4. 選項

        -o:將文件拷貝打包成文件或者將文件輸出到設備上;

        -i:解包,將打包文件解壓或將設備上的備份還原到系統;

        -t:預覽,查看文件內容或者輸出到設備上的文件內容;

        -v:顯示打包過程中的文件名稱;

        -d:解包生成目錄,在cpio還原時,自動的建立目錄;

        -c:一種較新的存儲方式;


                eg1:打包文件

                wKioL1mTuavi156CAACiBb83vlg335.png-wh_50    


                eg2:預覽文件內容

                wKioL1mTumSjZlV1AABE6uq-b_s934.png-wh_50


                eg3:解包

                wKioL1mTuuajV_3-AACgLCV6gqU035.png-wh_50      

    示例:
        將etc目錄備份:
            find ./etc -print |cpio -ov >etc.cpio 
        內容預覽
            cpio –tv < etc.cpio 
        要解包文件
            cpio –iv <etc.cpio 
            cpio –idv < etc.cpio


       

                

   

        


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章