溫馨提示×

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

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

Linux文件壓縮和解壓縮的命令

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

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


1、tar:
tar命令:tar [選項(xiàng)...] [FILE]...
輸入“tar -?”獲取相關(guān)幫助信息,tar的幫助文檔給出示例如下:
示例
  tar -cf archive.tar foo bar  # 從文件 foo 和 bar 創(chuàng)建歸檔文件archive.tar。
  tar -tvf archive.tar             # 詳細(xì)列舉歸檔文件 archive.tar中的所有文件。
  tar -xf archive.tar              # 展開(kāi)歸檔文件 archive.tar中的所有文件。
如果是要壓縮文件夾的話,輸入:
tar -cvf dirArchive.tar /dirName
同樣的,要將歸檔文件解壓到特定文件夾的話,則是:
tar -xvf dirArchive.tar /dirName
下面復(fù)習(xí)一下。我們先人為做個(gè)文件夾出來(lái),里面放置若干文件夾和文件:
我們首先創(chuàng)建一個(gè)tar文件,先壓縮一個(gè)文件夾(testdir):
tar -cf testdir.tar testdir
然后列出該壓縮包里的結(jié)構(gòu):
接著我們向這個(gè)壓縮包追加文件:
當(dāng)然了,上述單步操作沒(méi)必要做了,壓縮包里面已經(jīng)有這個(gè)文件。
然后再看看這個(gè)壓縮包里的結(jié)構(gòu):
如果使用示例中的-v選項(xiàng),則會(huì)將壓縮包里的文件屬性全部列出。包括權(quán)限,創(chuàng)建人,字節(jié)大小,修改時(shí)間和文件名:
從tar壓縮文件中解壓并顯示文件列表:
一般來(lái)說(shuō)比較常用到的選項(xiàng)有主操作選項(xiàng):
另外再練習(xí)一下其他的一些用法:
1、當(dāng)壓縮testdir目錄的時(shí)候,需要將文件夾根路徑內(nèi)的test文件排除:
2、只壓縮比指定時(shí)間更新的文件:
3、壓縮所有文件名前綴為“te”的文件或文件夾(或者壓縮后綴為“st”的文件):
最后補(bǔ)充一下常用的選項(xiàng):
-p, --preserve-permissions, --same-permissions
                             保留解壓文件權(quán)限信息(默認(rèn)只為超級(jí)用戶(hù)服務(wù))
      --preserve             與 -p 和 -s 一樣
      --same-owner           嘗試解壓時(shí)保持所有者關(guān)系一致(超級(jí)用戶(hù)默認(rèn)此項(xiàng))
-r, --append                 追加文件至歸檔結(jié)尾
-u, --update               僅追加比歸檔中副本更新的文件
-k, --keep-old-files        解壓時(shí)不要替換存在的文件
      --keep-newer-files
                             不要替換比歸檔中副本更新的已存在的文件
      --no-overwrite-dir     保留已存在目錄的元數(shù)據(jù)
      --overwrite            解壓時(shí)重寫(xiě)存在的文件
      --overwrite-dir
                             解壓時(shí)重寫(xiě)已存在目錄的元數(shù)據(jù)(默認(rèn))
      --recursive-unlink     解壓目錄之前先清除目錄層次
      --remove-files         在添加文件至歸檔后刪除它們
-N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE 只保存比 DATE-OR-FILE 更新的文件

2、rar:
rar <command> -<switch 1> -<switch N> <archive> <files...><@listfiles...> <path_to_extract\>
Linux系統(tǒng)的默認(rèn)軟件包里是不包含rar壓縮工具的,所以我們先安裝rar:
sudo apt-get install rar
<command>選項(xiàng)只可以從給出的選項(xiàng)中輸入一個(gè)(且只能一個(gè)),我們看一下它提供的命令列表:
使用舉例,比如說(shuō)現(xiàn)在我們要進(jìn)行文件壓縮:
在完成壓縮之后,我們可以通過(guò)命令l獲取壓縮文件內(nèi)具體的結(jié)構(gòu)信息:
甚至可以通過(guò)命令p將壓縮文件內(nèi)的所有信息輸出到控制臺(tái):
<switch N>部分則提供了一些功能性的選項(xiàng)。
比如說(shuō)以追加性的方式更新壓縮文件可選用-ad:
或者說(shuō)想把某個(gè)文件排除在外可以選用開(kāi)關(guān)-x(注意,要排除的串要緊跟在x后面,不用加任何符號(hào)),比如我們這里想要將文件夾根路徑下凡是“te”開(kāi)頭的文件都排除:
還有加密,用開(kāi)關(guān)-p,同樣的,密碼緊隨p后面即可:
如果相對(duì)文件進(jìn)行解壓或者直接打開(kāi)文件,就會(huì)要求你輸入密碼:
除此之外,還有一些常用的選項(xiàng)有:
ag[format]    Generate archive name using the current date
cl                 Convert names to lower case
cu                Convert names to upper case
df                 Delete files after archiving
ed                Do not add empty directories
dw               Wipe files after archiving
其他的命令和開(kāi)關(guān)可參照幫助手冊(cè)。

3、zip  , unzip:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
zip和unzip的使用方法是比較簡(jiǎn)單的,甚至連幫助文檔都寫(xiě)得很簡(jiǎn)單,所以也就沒(méi)什么筆記好寫(xiě)的了,直接看幫助文檔即可。
linux zip 命令詳解
功能說(shuō)明:壓縮文件。
語(yǔ) 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目錄>][-ll][-n <字尾字符串>][-t <日期時(shí)間>][-<壓縮效率>][壓縮文件][文件...][-i <范本樣式>][-x <范本樣式>]
補(bǔ)充說(shuō)明:zip是個(gè)使用廣泛的壓縮程序,文件經(jīng)它壓縮后會(huì)另外產(chǎn)生具有".zip"擴(kuò)展名的壓縮文件。
參 數(shù):
-A 調(diào)整可執(zhí)行的自動(dòng)解壓縮文件。
-b<工作目錄> 指定暫時(shí)存放文件的目錄。
-c 替每個(gè)被壓縮的文件加上注釋。
-d 從壓縮文件內(nèi)刪除指定的文件。
-D 壓縮文件內(nèi)不建立目錄名稱(chēng)。
-f 此參數(shù)的效果和指定"-u"參數(shù)類(lèi)似,但不僅更新既有文件,如果某些文件原本不存在于壓縮文件內(nèi),使用本參數(shù)會(huì)一并將其加入壓縮文件中。
-F 嘗試修復(fù)已損壞的壓縮文件。
-g 將文件壓縮后附加在既有的壓縮文件之后,而非另行建立新的壓縮文件。
-h 在線幫助。
-i<范本樣式> 只壓縮符合條件的文件。
-j 只保存文件名稱(chēng)及其內(nèi)容,而不存放任何目錄名稱(chēng)。
-J 刪除壓縮文件前面不必要的數(shù)據(jù)。
-k 使用MS-DOS兼容格式的文件名稱(chēng)。
-l 壓縮文件時(shí),把LF字符置換成LF+CR字符。
-ll 壓縮文件時(shí),把LF+CR字符置換成LF字符。
-L 顯示版權(quán)信息。
-m 將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中。
-n<字尾字符串> 不壓縮具有特定字尾字符串的文件。
-o 以壓縮文件內(nèi)擁有最新更改時(shí)間的文件為準(zhǔn),將壓縮文件的更改時(shí)間設(shè)成和該文件相同。
-q 不顯示指令執(zhí)行過(guò)程。
-r 遞歸處理,將指定目錄下的所有文件和子目錄一并處理。
-S 包含系統(tǒng)和隱藏文件。
-t<日期時(shí)間> 把壓縮文件的日期設(shè)成指定的日期。
-T 檢查備份文件內(nèi)的每個(gè)文件是否正確無(wú)誤。
-u 更換較新的文件到壓縮文件內(nèi)。
-v 顯示指令執(zhí)行過(guò)程或顯示版本信息。
-V 保存VMS操作系統(tǒng)的文件屬性。
-w 在文件名稱(chēng)里假如版本編號(hào),本參數(shù)僅在VMS操作系統(tǒng)下有效。
-x<范本樣式> 壓縮時(shí)排除符合條件的文件。
-X 不保存額外的文件屬性。
-y 直接保存符號(hào)連接,而非該連接所指向的文件,本參數(shù)僅在UNIX之類(lèi)的系統(tǒng)下有效。
-z 替壓縮文件加上注釋。
-$ 保存第一個(gè)被壓縮文件所在磁盤(pán)的卷冊(cè)名稱(chēng)。
-<壓縮效率> 壓縮效率是一個(gè)介于1-9的數(shù)值。
linux unzip 命令詳解
功能說(shuō)明:解壓縮zip文件
語(yǔ) 法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip文件][文件][-d <目錄>][-x <文件>] 或 unzip [-Z]
補(bǔ)充說(shuō)明:unzip為.zip壓縮文件的解壓縮程序。
參 數(shù):
-c 將解壓縮的結(jié)果顯示到屏幕上,并對(duì)字符做適當(dāng)?shù)霓D(zhuǎn)換。
-f 更新現(xiàn)有的文件。
-l 顯示壓縮文件內(nèi)所包含的文件。
-p 與-c參數(shù)類(lèi)似,會(huì)將解壓縮的結(jié)果顯示到屏幕上,但不會(huì)執(zhí)行任何的轉(zhuǎn)換。
-t 檢查壓縮文件是否正確。
-u 與-f參數(shù)類(lèi)似,但是除了更新現(xiàn)有的文件外,也會(huì)將壓縮文件中的其他文件解壓縮到目錄中。
-v 執(zhí)行是時(shí)顯示詳細(xì)的信息。
-z 僅顯示壓縮文件的備注文字。
-a 對(duì)文本文件進(jìn)行必要的字符轉(zhuǎn)換。
-b 不要對(duì)文本文件進(jìn)行字符轉(zhuǎn)換。
-C 壓縮文件中的文件名稱(chēng)區(qū)分大小寫(xiě)。
-j 不處理壓縮文件中原有的目錄路徑。
-L 將壓縮文件中的全部文件名改為小寫(xiě)。
-M 將輸出結(jié)果送到more程序處理。
-n 解壓縮時(shí)不要覆蓋原有的文件。
-o 不必先詢(xún)問(wèn)用戶(hù),unzip執(zhí)行后覆蓋原有文件。
-P<密碼> 使用zip的密碼選項(xiàng)。
-q 執(zhí)行時(shí)不顯示任何信息。
-s 將文件名中的空白字符轉(zhuǎn)換為底線字符。
-V 保留VMS的文件版本信息。
-X 解壓縮時(shí)同時(shí)回存文件原來(lái)的UID/GID。
[.zip文件] 指定.zip壓縮文件。
[文件] 指定要處理.zip壓縮文件中的哪些文件。
-d<目錄> 指定文件解壓縮后所要存儲(chǔ)的目錄。
-x<文件> 指定不要處理.zip壓縮文件中的哪些文件。
-Z unzip -Z等于執(zhí)行zipinfo指令
范例:
zip命令可以用來(lái)將文件壓縮成為常用的zip格式。unzip命令則用來(lái)解壓縮zip文件。
1. 我想把一個(gè)文件abc.txt和一個(gè)目錄dir1壓縮成為yasuo.zip:
# zip -r yasuo.zip abc.txt dir1
2.我下載了一個(gè)yasuo.zip文件,想解壓縮:
# unzip yasuo.zip
3.我當(dāng)前目錄下有abc1.zip,abc2.zip和abc3.zip,我想一起解壓縮它們:
# unzip abc\?.zip
注釋?zhuān)?表示一個(gè)字符,如果用*表示任意多個(gè)字符。
4.我有一個(gè)很大的壓縮文件large.zip,我不想解壓縮,只想看看它里面有什么:
# unzip -v large.zip
5.我下載了一個(gè)壓縮文件large.zip,想驗(yàn)證一下這個(gè)壓縮文件是否下載完全了
# unzip -t large.zip
6.我用-v選項(xiàng)發(fā)現(xiàn)music.zip壓縮文件里面有很多目錄和子目錄,并且子目錄中其實(shí)都是歌曲mp3文件,我想把這些文件都下載到第一級(jí)目錄,而不是一層一層建目錄:
# unzip -j music.zip

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

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

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

AI