原文連結
Linux - zip壓縮、unzip解壓縮指令的使用詳解
2017-07-08 釋出:hangge 閱讀:3482 由于伺服器使用的是 CentOS 系統,對于檔案的壓縮和解壓縮免不了要使用指令操作,這裡我對 Linux 系統下常用的 zip 和 unzip 指令做個總結。
一、zip 壓縮
1,應用執行個體
(1)将目前檔案夾下的所有檔案打包成一個 new1.zip 檔案
1 | |
(2)把目前檔案夾下所有 my1*.doc 的檔案打包成一個 new1.zip 檔案
1 | |
(3)把一個檔案 abc.txt 和一個目錄 dir1 壓縮成為 yasuo.zip
1 | |
(4)将 /home/Blinux/html/ 這個目錄下所有檔案和檔案夾打包為目前目錄下的 html.zip
備注: -q 為安靜模式,在壓縮的時候不顯示指令的執行過程
1 | |
(5)添加一個檔案到 .zip 檔案中
備注:如果當初并沒有把 my32.doc 壓在 new1.zip 裡面,現在把它加進去。 -g 選項是增加而不要重新産生的意思。
1 | |
(6)将更改過的檔案添加到壓縮包中
備注:如果當初 my2*.doc 都已經壓縮進 new1.zip 裡面了,但是後來 my2*.doc 中有幾個檔案有更改,又不想去找出到底是哪些檔案更改了,這條指令請系統自行幫助檢查,更改過的才更新到壓縮,否則就不必動。
1 | |
(7)删除除 .zip 檔案中的指定檔案
備注:如果當初 my18.doc 是壓縮在 new1.zip 中的一個檔案,現在這條指令把它從壓縮檔案中抽走并删掉。 -d 是删除的意思。
1 | |
2,主要參數
- -f 更新現有的檔案
- -u 與 -f 參數類似,但是除了更新現有的檔案外,也會将壓縮檔案中的其他檔案解壓縮到目錄中
- -d 指定檔案解壓縮後所要存儲的目錄
- -m 将檔案壓縮并加入壓縮檔案後,删除原始檔案,即把檔案移到壓縮檔案中
- -r 将指定的目錄下的所有子目錄以及檔案一起處理
- -j 不處理壓縮檔案中原有的目錄路徑
- -0 隻存儲,不壓縮
- -l 顯示壓縮檔案内所包含的檔案
- -1 較快速度的壓縮
- -9 較高品質的壓縮
- -q 安靜模式,在壓縮的時候不顯示指令的執行過程
- -v 執行時顯示詳細的資訊
- -c 将解壓縮的結果顯示到螢幕上,并對字元做适當的轉換
- -z 僅顯示壓縮檔案的備注文字
- -@ 從标準輸入中讀取名稱,一個路徑名稱用一行
- -o 将壓縮檔案内的所有檔案的最新變動時間設為壓縮時候的時間
- -x 指定不要處理.zip壓縮檔案中的哪些檔案
- -i 隻壓縮符合條件的檔案
- -F 嘗試修複損壞的壓縮檔案
- -D 壓縮檔案内不建立目錄名稱
- -A 調整可執行的自動解壓縮檔案
- -J 删除可執行檔案,留下一個普通的 zip 歸檔檔案
- -T 檢查備份檔案内的每個檔案是否正确無誤
- -X 解壓縮時同時回存檔案原來的 UID/GID
- -y 直接儲存符号連接配接,而非該連接配接所指向的檔案,本參數僅在 UNIX 之類的系統下有效
- -e 加密
- -n 不壓縮具有特定字尾字元串的檔案
- -h2 顯示更多幫助
二、unzip 解壓縮
1,應用執行個體
(1)把檔案解壓到目前目錄下
1 | |
(2)如果要把檔案解壓到指定的目錄下,需要用到-d參數。
1 | |
(3)解壓的時候,有時候不想覆寫已經存在的檔案,那麼可以加上 -n 參數
1 2 | |
(4)将壓縮檔案 test.zip 在指定目錄 tmp 下解壓縮,如果已有相同的檔案存在,要求 unzip 指令覆寫原先的檔案
1 | |
(5)隻看一下 zip 壓縮包中包含哪些檔案,不進行解壓縮
1 | |
(6)檢視顯示的檔案清單還包含壓縮比率
1 | |
(7)檢查 zip 檔案是否損壞
1 | |
2,主要參數
- -c 将解壓縮的結果顯示到螢幕上,并對字元做适當的轉換
- -p 與 -c 參數類似,會将解壓縮的結果顯示到螢幕上,但不會執行任何的轉換。
- -l 顯示壓縮檔案内所包含的檔案
- -f 更新現有的檔案
- -t 檢查壓縮檔案是否正确,但不解壓
- -u 與 -f 參數類似,但是除了更新現有的檔案外,也會将壓縮檔案中的其他檔案解壓縮到目錄中
- -z 僅顯示壓縮檔案的備注文字
- -v 執行時顯示詳細的資訊。或檢視壓縮檔案目錄,但不解壓
- -T 将壓縮檔案内的所有檔案的最新變動時間設為解壓縮時候的時間
- -x 指定不要處理 .zip 壓縮檔案中的哪些檔案
- -d 指定檔案解壓縮後所要存儲的目錄
- -n 解壓縮時不要覆寫原有的檔案
- -q 安靜模式,執行時不顯示任何資訊
- -o 不必先詢問使用者,unzip 執行後覆寫原有檔案
- -a 對文本檔案進行必要的字元轉換
- -j 不處理壓縮檔案中原有的目錄路徑
- -aa 把所有的檔案目錄當作文本處理
- -U use escapes for all non-ASCII Unicode
- -UU 忽略 Unicode 編碼字元
- -C 壓縮檔案中的檔案名稱區分大小寫
- -L 将壓縮檔案中的全部檔案名改為小寫
- -X 解壓縮時同時回存檔案原來的 UID/GID
- -V 保留 VMS 的檔案版本資訊
- -K 保留檔案的 setuid/setgid/tacky 屬性
- -M 将輸出結果送到 more 程式處理
- -O 指定字元編碼為 DOS,Windows 和 OS/2
- -I 指定字元編碼為 UNIX