溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中如何在Deepin同時(shí)解壓多個(gè)壓縮檔案

發(fā)布時(shí)間:2021-08-02 21:47:33 來源:億速云 閱讀:190 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容介紹了“Linux中如何在Deepin同時(shí)解壓多個(gè)壓縮檔案”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

  在Linux系統(tǒng)中Deepin命令行上可以對文件進(jìn)行解壓,使用Deepin命令行還可以同時(shí)對多個(gè)tarball 文件解壓。那么Linux中怎么在Deepin同時(shí)解壓多個(gè)壓縮檔案呢?

  $ ls

  backup1.tar backup2.tar backup3.tar

  我們需要一起把它們?nèi)拷鈮?,該如何做呢?/p>

  我們先來簡要講解一下 tar 的用法.tar 命令原用于從磁帶設(shè)備讀寫文件(tar 即是 Tape ARchiver 的縮略)。我們只能指定要放入壓縮檔案或要解壓出的文件名(如 tar x myfineonthe.tape)。可以使用 -f 選項(xiàng)可以告訴 tar 該檔案不是在某個(gè)磁帶上而是在文件中。該選項(xiàng)只接受一個(gè)參數(shù)——壓縮檔案的文件名。所有其它(后面的)參數(shù)都被看作上面提到的壓縮文件的一部分。

  tar -x -f backup.tar myfile.txt

  # 或者使用下面更常見的句法

  tar xf backup.tar myfile.txt

  現(xiàn)在回到我們之前的問題上來:同時(shí)解壓當(dāng)前目錄下面的 backup1.tar backup2.tar backup3.tar 三個(gè)文件??赡軙?huì)有朋友要使用 tar xf *.tar,我們來看看其執(zhí)行結(jié)果:

  $ tar xf *.tar

  tar: backup2.tar: Not found in archive

  tar: backup3.tar: Not found in archive

  tar: Exiting with failure status due to previous errors

  這是怎么回事?Shell 通過匹配文件名將 *.tar 替換,上面的一行實(shí)際等同于:

  tar xf backup1.tar backup2.tar backup3.tar

  從我們之前對于 tar 的用法解釋中可知,我們在這里使用的命令的含義為“從壓縮檔案 backup1.tar 中解壓出 backup2.tar 和 backup3.tar”。只有在 backup1.tar 這個(gè)壓縮檔案中有相應(yīng)的文件名,才能執(zhí)行成功。

  解決辦法:從壓縮檔案中將文件一一解壓。

  我們使用的是一個(gè) UNIX shell (Bash),可以用循環(huán)來實(shí)現(xiàn):

  for tarname in *.tar; do

  tar xf “$tarname”

  done

  下面說一下循環(huán)和 for-循環(huán)兩個(gè)基本概念。循環(huán)是用來在滿足某個(gè)條件之前重復(fù)其內(nèi)部的代碼的一種結(jié)構(gòu)。滿足該條件時(shí)循環(huán)即停止,其外部的代碼會(huì)繼續(xù)執(zhí)行.for-循環(huán)是將一變量逐次設(shè)置為一個(gè)列表中的各個(gè)值,并重復(fù)直到該列表用完的一類循環(huán)結(jié)構(gòu)。

  在這里,for-循環(huán)會(huì)將匹配 *.tar 的文件名作為參數(shù)反復(fù)調(diào)用執(zhí)行 tar xf.這樣我們就將壓縮檔案逐一“自動(dòng)地”解壓出來。

  還有另一種很常見的檔案格式是 ZIP.解壓 ZIP 文件的命令是 unzip.這里也有同樣的問題:unzip 只接受一個(gè)選項(xiàng)來指定 ZIP 文件。

  可以用同樣的方法來解決

  for zipfile in *.zip; do

  unzip “$zipfile”

  done

  對于 unzip 命令還有另一種做法:它可以讀入類似 shell 的樣式(pattern)來指定 ZIP 文件名。為防止 shell 對于這些樣式的解釋,需要使用引號(hào).unzip(而非 shell)在這里會(huì)解釋 *.zip:

  unzip “*.zip”

  # 還可以用下面這種看起來更明晰的做法:

  unzip \*.zip

“Linux中如何在Deepin同時(shí)解壓多個(gè)壓縮檔案”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI