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

在Linux系統(tǒng)中Deepin命令行上可以對(duì)文件進(jìn)行解壓,使用Deepin命令行還可以同時(shí)對(duì)多個(gè)tarball 文件解壓。那么Linux中怎么在Deepin同時(shí)解壓多個(gè)壓縮檔案呢?
$ ls
backup1.tar backup2.tar backup3.tar
我們需要一起把它們?nèi)拷鈮海撊绾巫瞿兀?/p>
我們先來簡(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
# 或者使用下面更常見的句法
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
從我們之前對(duì)于 tar 的用法解釋中可知,我們?cè)谶@里使用的命令的含義為“從壓縮檔案 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
對(duì)于 unzip 命令還有另一種做法:它可以讀入類似 shell 的樣式(pattern)來指定 ZIP 文件名。為防止 shell 對(duì)于這些樣式的解釋,需要使用引號(hào).unzip(而非 shell)在這里會(huì)解釋 *.zip:
unzip “*.zip”
# 還可以用下面這種看起來更明晰的做法:
unzip \*.zip
以上就是LinuxLinux中怎么在Deepin同時(shí)解壓多個(gè)壓縮檔案的教程了,使用這個(gè)教程就不用一個(gè)一個(gè)去解壓文件了。
相關(guān)文章
Fedora Linux 42 穩(wěn)定版發(fā)布: 帶來大量新功能和軟件更新
Fedora 42昨日發(fā)布,這是 Red Hat 贊助開發(fā)的杰出前沿 Linux 發(fā)行版的最新版,包含大量新功能和軟件更新,使其成為 2025 年上半年發(fā)布的一款出色的 Linux 操作系統(tǒng)之一,內(nèi)2025-04-16如何在Linux查看硬盤信息? 查看Linux硬盤大小類型和硬件信息的5種方法
使用Linux系統(tǒng)的過程中,查看和了解硬盤信息是非常重要的工作,尤其是對(duì)于系統(tǒng)管理員而言,那么在Linux系統(tǒng)中如何查看硬盤信息?以下是具體內(nèi)容介紹2025-03-12如何在 Linux 中查看 CPU 詳細(xì)信息? 3招輕松查看CPU型號(hào)、核心數(shù)和溫度
在日常運(yùn)維工作中,獲取 CPU 信息是系統(tǒng)運(yùn)維管理員常見的工作內(nèi)容,無論是為了性能調(diào)優(yōu)、硬件升級(jí)還是僅僅滿足好奇心2025-03-11什么是 Arch Linux? 獨(dú)樹一幟的Arch Linux發(fā)行版分析
Arch Linux是為簡(jiǎn)化,優(yōu)化,現(xiàn)代化,實(shí)用主義,用戶中心和多功能性而創(chuàng)建Linux發(fā)行版,究竟是什么讓 Arch 與眾不同?下面我們就來簡(jiǎn)要解讀2025-02-19如何在Linux環(huán)境下制作 Win11裝機(jī)U盤?
一直用的linux辦公,想要將筆記本電腦從 Linux 系統(tǒng)切換回 Windows 11,我們可以制作一個(gè)win11裝機(jī)u盤,詳細(xì)如下2025-02-17Rsnapshot怎么用? 基于Rsync的強(qiáng)大Linux備份工具使用指南
Rsnapshot 不僅可以備份本地文件,還能通過 SSH 備份遠(yuǎn)程文件,接下來詳細(xì)介紹如何安裝、配置和使用 Rsnapshot,包括創(chuàng)建每小時(shí)、每天、每周和每月的本地備份,以及如何進(jìn)2025-02-06Linux Kernel 6.13發(fā)布:附更新內(nèi)容及新特性解讀
Linux 內(nèi)核 6.13 正式發(fā)布,新版本引入了惰性搶占支持,簡(jiǎn)化內(nèi)核搶占邏輯,通過減少與調(diào)度器相關(guān)的調(diào)用次數(shù),讓內(nèi)核在運(yùn)行時(shí)表現(xiàn)更優(yōu),從而提高效率2025-01-23五大特性引領(lǐng)創(chuàng)新! 深度操作系統(tǒng) deepin 25 Preview預(yù)覽版發(fā)布
今日,深度操作系統(tǒng)正式推出deepin 25 Preview版本,該版本集成了五大核心特性:磐石系統(tǒng)、全新DDE、Treeland窗口合成器、AI For OS以及Distrobox子系統(tǒng)2025-01-18Linux Mint Xia 22.1重磅發(fā)布: 重要更新一覽
Beta 版 Linux Mint“Xia” 22.1 發(fā)布,新版本基于 Ubuntu 24.04,內(nèi)核版本為 Linux 6.8,這次更新帶來了諸多優(yōu)化和改進(jìn),進(jìn)一步鞏固了 Mint 在 Linux 桌面操作系統(tǒng)領(lǐng)域的2025-01-16LinuxMint怎么安裝? Linux Mint22下載安裝圖文教程
Linux Mint22發(fā)布以后,有很多新功能,很多朋友想要下載并安裝,該怎么操作呢?下面我們就來看看詳細(xì)安裝指南2025-01-16