自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux Deepin同時(shí)解壓多個(gè)taball壓縮檔案

系統(tǒng) Linux
如何在 Linux Deepin 的命令行上同時(shí)解壓多個(gè) tarball 文件?解決辦法很簡(jiǎn)單:從壓縮檔案中將文件一一解壓即可。因?yàn)槲覀兪褂玫氖且粋€(gè) UNIX shell (Bash),可以用循環(huán)來(lái)實(shí)現(xiàn)。

  如何在 Linux Deepin 的命令行上同時(shí)解壓多個(gè) tarball 文件?在介紹之前,我們先來(lái)舉一個(gè)例子。假設(shè)我們?cè)诋?dāng)前目錄下有如下幾個(gè)壓縮檔案:

$ ls
backup1.tar backup2.tar backup3.tar

  我們需要一起把它們?nèi)拷鈮海撊绾巫瞿兀?/p>

  我們先來(lái)簡(jiǎn)要講解一下 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
# 或者使用下面更常見(jiàn)的句法
tar xf backup.tar myfile.txt

  現(xiàn)在回到我們之前的問(wèn)題上來(lái):同時(shí)解壓當(dāng)前目錄下面的 backup1.tar backup2.tar backup3.tar 三個(gè)文件??赡軙?huì)有朋友要使用 tar xf *.tar,我們來(lái)看看其執(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 通過(guò)匹配文件名將 *.tar 替換,上面的一行實(shí)際等同于:

tar xf backup1.tar backup2.tar backup3.tar

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

  解決辦法很簡(jiǎn)單:從壓縮檔案中將文件一一解壓即可。因?yàn)槲覀兪褂玫氖且粋€(gè) UNIX shell (Bash),可以用循環(huán)來(lái)實(shí)現(xiàn):

for tarname in *.tar; do
tar xf "$tarname"
done

  下面說(shuō)一下循環(huán)和 for-循環(huán)兩個(gè)基本概念。循環(huán)是用來(lái)在滿足某個(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)地”解壓出來(lái)。

  還有另一種很常見(jiàn)的檔案格式是 ZIP。解壓 ZIP 文件的命令是 unzip。這里也有同樣的問(wèn)題:unzip 只接受一個(gè)選項(xiàng)來(lái)指定 ZIP 文件。所以可以用同樣的方法來(lái)解決:

for zipfile in *.zip; do
unzip "$zipfile"
done

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

unzip "*.zip"
# 還可以用下面這種看起來(lái)更明晰的做法:
unzip \*.zip

責(zé)任編輯:黃丹 來(lái)源: Linux Deepin
相關(guān)推薦

2010-01-04 09:27:31

Linux壓縮解壓縮命令詳解

2009-12-25 18:05:05

Linux壓縮程式

2018-09-14 16:18:26

Linux壓縮文件應(yīng)用程序

2010-03-04 13:06:47

Linux壓縮解壓

2023-01-30 09:04:56

Linux命令unzip

2021-02-22 07:58:52

Linux壓縮解壓

2012-05-10 09:43:28

2010-06-24 09:29:02

Linux Bzip2

2023-10-18 08:28:17

Linux壓縮

2012-03-01 11:03:02

Linux Deepi

2012-07-17 15:32:27

Linux Deepi

2013-08-07 11:26:10

Linux Deepi

2016-11-17 22:02:13

Linux壓縮及解壓縮

2009-12-03 17:59:11

Linux同時(shí)啟動(dòng)多個(gè)

2013-10-10 10:22:34

2011-11-29 09:40:08

Linux Deepi特性

2013-08-13 15:02:45

2023-12-21 07:30:36

PythonZipfileTarfile

2012-07-19 15:12:30

Linux Deepi

2011-11-23 09:56:01

Linux Deepi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)