1. Linux之打包/解包、壓縮/解壓

        共 2898字,需瀏覽 6分鐘

         ·

        2023-08-10 10:43

        里介紹Linux下如何對文件進行打包/解包、壓縮/解壓?
        abstract.jpg

        壓縮/解壓:gzip命令

        Linux中壓縮、解壓文件的工具有很多,比如:compress、gzip、bzip2、xz等。這里介紹高頻使用的gzip命令。gzip工具特征在于:只能壓縮文件,不能壓縮目錄。gzip壓縮后默認在原文件名稱后追加 .gz 后綴

        # 壓縮若干個指定的文件
        gzip file1 file2 ...

        # 壓縮當前目錄下的所有文件,其中通配符 * 代表當前目錄下所有文件
        gzip *

        # 壓縮當前目錄下(含子目錄下)的所有文件,其中通配符 * 代表當前目錄下所有文件
        gzip -r *
        figure 1.jpg

        解壓操作類似,既可以使用gunzi命令。也可以繼續(xù)使用gzip命令,只需添加 -d 選項即可

        # 解壓當前目錄下(含子目錄下)的所有文件,其中通配符 * 代表當前目錄下所有文件
        gzip -dr *
        figure 2.jpg

        打包/解包:tar命令

        通過對比Linux、Win下的壓縮操作表現(xiàn)來看,似乎發(fā)現(xiàn)一個問題了。Win下可以將多個文件壓縮成一個文件,而在Linux中g(shù)zip命令則是一個一個壓縮的。為此在Linux下需要先將多個文件歸檔到一個文件當中,即所謂的打包(歸檔文件的后綴習慣上用 .tar )。通常使用tar命令即可。事實上該tar命令選項較為復(fù)雜,而且很多選項基本很少用到。故這里只介紹常見的選項

        • -c :創(chuàng)建tar歸檔文件,即所謂的打包
        • -v :命令執(zhí)行過程中顯示正在處理的文件名
        • -f :用以指定操作的tar歸檔文件
        • -x :從tar歸檔文件中提取文件,即所謂的解包
        • -t :列出以查看tar歸檔文件中的內(nèi)容,但不提取
        • -C :切換到指定目錄
        • -z :調(diào)用gzip命令壓縮/解壓文件
        • -Z :調(diào)用compress命令壓縮/解壓文件
        • -j :調(diào)用bzip2命令壓縮/解壓文件
        • -J :調(diào)用xz命令壓縮/解壓文件

        1. 打包命令如下所示

        # 將指定文件打包到歸檔文件 file1.tar 中
        tar -cvf file1.tar file1 file2 dir1/ dir2/ ...

        # 將當前目錄下(含子目錄下)的所有文件打包到歸檔文件 file1.tar 中,其中通配符 * 代表當前目錄下所有文件
        tar -cvf file1.tar *
        figure 3.jpg

        2. 查看歸檔文件中的內(nèi)容

        # 查看歸檔文件 file1.tar 中的內(nèi)容
        tar -tf file1.tar
        figure 4.jpg

        3. 解包命令如下所示

        # 對指定tar歸檔文件在當前工作目錄下進行解包
        tar -xvf temp/file1.tar 

        # 對指定tar歸檔文件在指定目錄下進行解包
        tar -xvf temp/file1.tar -C ./temp2/
        figure 5.jpg

        組合拳

        故在Linux當中對多文件進行壓縮前,一般都需要先打包成tar歸檔文件;而在解壓后,通常得到也是一個tar歸檔文件,還需要再次解包。為此,tar命令中直接提供了 compress-z 、 -j 、 -J 等選項,以便直接調(diào)用compress、gzip、bzip2、xz等命令進行壓縮/解壓。故如果期望對多文件進行壓縮,直接利用tar命令即可一次性搞定。解壓文件同理。具體命令如下,這里以使用gzip壓縮為例,如果期望使用其他壓縮命令,只需將下述命令中的 -z 選項 替換為其它壓縮軟件對應(yīng)的選項即可

        # 壓縮文件命令組合拳: 對指定文件打包并使用gzip壓縮
        tar -zcvf foo.tar.gz file1 file2 dir1 dir2 ...

        # 解壓文件命令組合拳:對壓縮文件,先使用gzip解壓,再解包
        tar -zxvf foo.tar.gz

        壓縮示例

        figure 6.jpg

        解壓示例

        figure 7.jpg

        這里強調(diào)下在解壓的時候,我們首先需要知道該壓縮文件是用什么工具壓縮的。一方面,我們可以通過文件后綴名來判定;另一方面,我們還可以使用file命令來判定

        • 文件后綴名 .tar.gz.tgz 習慣上代表該tar歸檔文件使用gzip命令進行壓縮
        • 文件后綴名 .tar.bz2 習慣上代表該tar歸檔文件使用bzip2命令進行壓縮
        • 文件后綴名 .tar.xz 習慣上代表該tar歸檔文件使用xz命令進行壓縮
        figure 8.jpg

        參考文獻

        1. Linux命令行與shell腳本編程大全·第4版 Richard Blum、Christine Bresnahan著


        瀏覽 262
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
          
          

            1. 久久xxx | www.一区 | 国产丝袜足交 | 国产又爽 又黄 免费视频两年半 | 就爱搞搞 |