<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2898字,需瀏覽 6分鐘

           ·

          2023-08-10 10:43

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

          壓縮/解壓:gzip命令

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

          # 壓縮若干個(gè)指定的文件
          gzip file1 file2 ...

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

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

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

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

          打包/解包:tar命令

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

          • -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/ ...

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

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

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

          3. 解包命令如下所示

          # 對指定tar歸檔文件在當(dāng)前工作目錄下進(jìn)行解包
          tar -xvf temp/file1.tar 

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

          組合拳

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

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

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

          壓縮示例

          figure 6.jpg

          解壓示例

          figure 7.jpg

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

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

          參考文獻(xiàn)

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


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

          手機(jī)掃一掃分享

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

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  极品国产在线 | 产国三xxxxx | 久久逼逼网 | 日逼VA| 国产AA片 |