1. 程式人生 > >Linux 解壓縮

Linux 解壓縮

說明 是個 新增 uid date fail 系統 concat 結果

我們知道在Windows下最常見的壓縮文件就只有兩種,一是,zip,另一個是.rar。可是Linux就不同 了,它有.gz、.tar.gz、tgz、bz2、.Z、.tar等眾多的壓縮文件名,此外windows下的.zip和.rar也可以在Linux下使 用,不過在Linux使用.zip和.rar的人就太少了。而且Linux中的很多壓縮程序只能針對一個文件進行壓縮,這樣當你想要壓縮一大堆文件時,你就得先借助另外的工具將這一大堆文件先打 成一個包,然後再就原來的壓縮程序進行壓縮。

  Linux下最常用的打包程序就是tar了,使用tar程序打出來的包我們常稱為tar包,tar包文件的命令通常都是以.tar結尾的。生成tar包後,就可以用其它的程序來進行壓縮了,所以首先就來講講tar命令。

tar

語法

tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <區塊數目>][-C <目的目錄>][-f <備份文件>][-F <Script文件>][-K <文件>][-L <媒體容量>][-N <日期時間>][-T <範本文件>][-V <卷冊名稱>][-X <範本文件>][-<設備編號><存儲密度>][--after-date=<日期時間>][--atime-preserve][--backuup=<備份方式>][--checkpoint][--concatenate][--confirmation][--delete][--exclude=<範本樣式>][--force-local][--group=<群組名稱>][--help][--ignore-failed-read][--new-volume-script=<Script文件>][--newer-mtime][--no-recursion][--null][--numeric-owner][--owner=<用戶名稱>][--posix][--erve][--preserve-order][--preserve-permissions][--record-size=<區塊數目>][--recursive-unlink][--remove-files][--rsh-command=<執行指令>][--same-owner][--suffix=<備份字尾字符串>][--totals][--use-compress-program=<執行指令>][--version][--volno-file=<編號文件>][文件或目錄...]

選項

對象 說明
-A或--catenate 新增文件到以存在的備份文件;
-B 設置區塊大小;
-c或--create 建立新的備份文件;
-C <目錄> 這個選項用在解壓縮,若要在特定目錄解壓縮,可以使用這個選項。
-d 記錄文件的差別;
-x或--extract或--get 從備份文件中還原文件;
-t或--list 列出備份文件的內容;
-z或--gzip或--ungzip 通過gzip指令處理備份文件;
-Z或--compress或--uncompress 通過compress指令處理備份文件;
-f<備份文件>或--file=<備份文件> 指定備份文件;
-v或--verbose 顯示指令執行過程;
-r 添加文件到已經壓縮的文件;
-u 添加改變了和現有的文件到已經存在的壓縮文件;
-j 支持bzip2解壓文件;
-v 顯示操作過程;
-l 文件系統邊界設置;
-k 保留原有文件不覆蓋;
-m 保留文件不被覆蓋;
-w 確認壓縮文件的正確性;
-p或--same-permissions 用原來的文件權限還原文件;
-P或--absolute-names 文件名使用絕對名稱,不移除文件名稱前的“/”號;
-N <日期格式> 或 --newer=<日期時間> 只將較指定日期更新的文件保存到備份文件裏;
--exclude=<範本樣式> 排除符合範本樣式的文件。

實例

tar -jtv -f filename.tar.bz2  # 查 詢

tar –xvf file.tar # 解壓 tar包
tar -xzvf file.tar.gz -C 欲解壓縮的目錄  # 解壓tar.gz

tar -xjvf file.tar.bz2   # 解壓 tar.bz2

tar –xZvf file.tar.Z   # 解壓tar.Z

zip

  zip命令可以用來解壓縮文件,或者對文件進行打包操作。zip是個使用廣泛的壓縮程序,文件經它壓縮後會另外產生具有“.zip”擴展名的壓縮文件。

語法

zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目錄>][-ll][-n <字尾字符串>][-t <日期時間>][-<壓縮效率>][壓縮文件][文件...][-i <範本樣式>][-x <範本樣式>]

選項

對象 說明
-A 調整可執行的自動解壓縮文件。
-b<工作目錄> 指定暫時存放文件的目錄。
-c 替每個被壓縮的文件加上註釋。
-d 從壓縮文件內刪除指定的文件。
-D 壓縮文件內不建立目錄名稱。
-f 此參數的效果和指定"-u"參數類似,但不僅更新既有文件,如果某些文件原本不存在於壓縮文件內,使用本參數會一並將其加入壓縮文件中。
-F 嘗試修復已損壞的壓縮文件。
-g 將文件壓縮後附加在既有的壓縮文件之後,而非另行建立新的壓縮文件。
-h 在線幫助。
-i<範本樣式> 只壓縮符合條件的文件。
-j 只保存文件名稱及其內容,而不存放任何目錄名稱。
-J 刪除壓縮文件前面不必要的數據。
-k 使用MS-DOS兼容格式的文件名稱。
-l 壓縮文件時,把LF字符置換成LF+CR字符。
-ll 壓縮文件時,把LF+CR字符置換成LF字符。
-L 顯示版權信息。
-m 將文件壓縮並加入壓縮文件後,刪除原始文件,即把文件移到壓縮文件中。
-n<字尾字符串> 不壓縮具有特定字尾字符串的文件。
-o 以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同。
-q 不顯示指令執行過程。
-r 遞歸處理,將指定目錄下的所有文件和子目錄一並處理。
-S 包含系統和隱藏文件。
-t<日期時間> 把壓縮文件的日期設成指定的日期。
-T 檢查備份文件內的每個文件是否正確無誤。
-u 更換較新的文件到壓縮文件內。
-v 顯示指令執行過程或顯示版本信息。
-V 保存VMS操作系統的文件屬性。
-w 在文件名稱裏假如版本編號,本參數僅在VMS操作系統下有效。
-x<範本樣式> 壓縮時排除符合條件的文件。
-X 不保存額外的文件屬性。
-y 直接保存符號連接,而非該連接所指向的文件,本參數僅在UNIX之類的系統下有效。
-z 替壓縮文件加上註釋。
-$ 保存第一個被壓縮文件所在磁盤的卷冊名稱。

實例

將 /home/html/ 這個目錄下所有文件和文件夾打包為當前目錄下的 html.zip:

zip -q -r html.zip /home/html

如果在我們在 /home/html 目錄下,可以執行以下命令:

zip -q -r html.zip *

從壓縮文件 cp.zip 中刪除文件 a.c

zip -dv cp.zip a.c

unzip

用於解壓縮zip文件

語法

unzip [-cflptuvz][-agCjLMnoqsVX][-P <密碼>][.zip文件][文件][-d <目錄>][-x <文件>] 或 unzip [-Z]

選項

對象 說明
-c 將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換。
-f 更新現有的文件。
-l 顯示壓縮文件內所包含的文件。
-p 與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換。
-t 檢查壓縮文件是否正確。
-u 與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中。
-v 執行是時顯示詳細的信息。
-z 僅顯示壓縮文件的備註文字。
-a 對文本文件進行必要的字符轉換。
-b 不要對文本文件進行字符轉換。
-C 壓縮文件中的文件名稱區分大小寫。
-j 不處理壓縮文件中原有的目錄路徑。
-L 將壓縮文件中的全部文件名改為小寫。
-M 將輸出結果送到more程序處理。
-n 解壓縮時不要覆蓋原有的文件。
-o 不必先詢問用戶,unzip執行後覆蓋原有文件。
-P<密碼> 使用zip的密碼選項。
-q 執行時不顯示任何信息。
-s 將文件名中的空白字符轉換為底線字符。
-V 保留VMS的文件版本信息。
-X 解壓縮時同時回存文件原來的UID/GID。
-d<目錄> 指定文件解壓縮後所要存儲的目錄。
-x<文件> 指定不要處理.zip壓縮文件中的哪些文件。
-Z unzip -Z等於執行zipinfo指令。

實例

unzip -l file.zip  #查看壓縮文件中包含的文件
unzip -v file.zip  #查看壓縮文件目錄信息,但是不解壓該文件

unzip -n file.zip -d 欲解壓的目錄  # 解壓文件

Linux 解壓縮