1. Linux 壓縮、解壓、打包詳解

        共 1476字,需瀏覽 3分鐘

         ·

        2020-09-20 23:32

        作者:OxBoo
        來源:SegmentFault 思否社區(qū)



        在Linux 中,解壓、壓縮、打包是日常會很頻繁用到的幾個操作,但因為參數(shù)很多,沒有記憶點(diǎn),加上壓縮文件的類型很多,如果不經(jīng)常使用,會容易忘記。


        所以這篇筆記就是整理常見的那些解壓、壓縮、打包的命令。
        在正式學(xué)習(xí)之前,需要明確的兩個概念,打包和壓縮不是一回事:

        • 打包:是指將一大堆文件或目錄變成一個總的文件。
        • 壓縮:則是將一個大文件通過壓縮算法變成一個小文件。

        為什么要區(qū)分這兩個概念呢?這源于Linux 中很多壓縮程序只能針對一個文件進(jìn)行壓縮,這樣當(dāng)你想要壓縮一大堆文件時,你得先將這一大堆文件先打成一個包(tar命令),然后再用壓縮程序進(jìn)行壓縮(gzip bzip2命令)。



        tar


        壓縮/打包


        僅打包,不壓縮。

        tar?-cvf?foo.tar?foo

        foo.tar這個文件名是自定義的,只是習(xí)慣上我們使用 .tar 作為包文件。
        打包,且壓縮。-z 參數(shù)表示以 .tar.gz 或者 .tgz 后綴名代表 gzip 壓縮過的 tar 包。

        tar?-zcvf?foo.tar.gz?foo

        打包,且壓縮。-j 參數(shù)表示以 .tar.bz2 后綴名作為tar包名。

        tar?-jcvf?foo.tar.gz?foo

        解壓


        在當(dāng)前目錄下直接解壓:

        tar?-zxvf?foo.tar.gz

        注意,如果這個目錄下有同名的文件,不會詢問,直接覆蓋。
        解壓至指定文件夾:

        tar?-zxvf?foo.tar.gz?-C?





        gzip


        gzip 命令用來壓縮文件。文件經(jīng)它壓縮過后,其名稱后面會多處 .gz 擴(kuò)展名(不帶 .tar)。

        壓縮


        將當(dāng)前目錄的每個文件壓縮成.gz文件:

        gzip?*

        遞歸壓縮指定目錄的所有文件及子目錄:

        gzip?-r?

        解壓


        解壓當(dāng)前目錄下的foo.gz 文件:


        gzip?-d?foo.gz

        解壓完成之后,foo.gz 就變成了 foo 文件。

        遞歸解壓目錄:

        gzip?-dr?

        解壓完成之后,?目錄下的所有 .gz 文件都會變成正常文件。



        zip


        zip 可以用來解壓縮文件,或者對文件進(jìn)行打包操作。文件經(jīng)它壓縮后會另外產(chǎn)生具有 .zip 擴(kuò)展名的壓縮文件。

        壓縮


        將當(dāng)前目錄下的指定目錄,壓縮為 .zip文件:

        zip?-q?-r?foo.zip?

        將指定目錄下的所有文件及其文件夾,壓縮為.zip 文件:


        zip?-q?-r?foo.zip?/

        注意,產(chǎn)生的壓縮文件在執(zhí)行命令的那個目錄下。

        解壓


        unzip 命令用于解壓縮由 zip 命令壓縮的 .zip壓縮包。

        查看壓縮包內(nèi)容:


        unzip?-v?foo.zip

        將壓縮文件在指定目錄下解壓縮,如果已有相同的文件存在,要求 unzip命令不覆蓋原先的文件。


        unzip?-n?foo.zip?-d?/

        將壓縮文件在當(dāng)前目下解壓,如果已有相同的文件,不詢問,直接覆蓋。

        unzip?-o?foo.zip

        總結(jié)

        Linux 下的壓縮解壓其實并不復(fù)雜,只是不常用的情況下,很容器忘記。

        如果你不知道在什么場景下,該使用什么命令,可以參照:

        • 如果只有一個大文件,可以使用 gzip 或者 zip命令。
        • 如果是一個完整的目錄,里面有很多子目錄以及文件,可以使用tar命令。



        點(diǎn)擊左下角閱讀原文,到?SegmentFault 思否社區(qū)?和文章作者展開更多互動和交流。


        -?END -


        瀏覽 64
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點(diǎn)贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
          
          

            1. 成人午夜天堂 | 无码毛片一区二区三区视频免费看 | 影音先锋av在线电影 | 97国产福利 | 360偷拍富婆做私密按摩 |