zip

可以用來解壓縮文件

補充說明

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

語法

1zip(選項)(參數)
2zip [-選項] [-b 路徑] [-t 日期] [-n 後綴名] [壓縮文件列表] [-xi 列表]

選項

 1-f: 刷新:僅更改的文件
 2-u: 更新:僅更改或新文件
 3-d: 刪除 zip 文件中的條目
 4-m: 移至 zip 文件(刪除操作系統文件)
 5-r: 遞歸到目錄
 6-j: 垃圾(不記錄)目錄名
 7-0: 僅存儲
 8-l: 將 LF 轉換爲 CR LF (-ll CR LF 到 LF)
 9-1: 壓縮速度更快
10-9: 壓縮得更好
11-v: 詳細操作/打印版本信息
12-q: 安靜運行
13-c: 添加一行註釋
14-z: 添加 zip 文件註釋
15-@: 從標準輸入讀取名稱
16-o: 使 zip 文件與最新條目一樣舊
17-x: 排除以下名稱
18-i: 僅包含以下名稱
19-F: 修復 zip 文件(-FF 更加努力)
20-D: 不添加目錄條目
21-A: 調整自解壓exe
22-D: 不添加目錄條目
23-T: 測試 zip 文件的完整性
24-X: 排除額外的文件屬性
25-n: 不壓縮這些後綴
26-e: 加密
27-y: 將符號鏈接存儲爲鏈接而不是引用的文件
28-h2: 顯示更多幫助

參數

  • zip壓縮包:指定要創建的zip壓縮包;
  • 文件列表:指定要壓縮的文件列表。

實例

壓縮單個文件,這會將 file.txt 文件壓縮到名爲 compressed.zip 的歸檔文件中

1zip compressed.zip file.txt

壓縮多個文件,下面這個命令會把 file1.txtfile2.txt,和 file3.txt 壓縮到一個叫做 compressed.zip 的歸檔文件中。

1zip compressed.zip file1.txt file2.txt file3.txt

壓縮整個目錄,下面這個命令 -r 參數表示遞歸壓縮,該命令將壓縮 folder 目錄及其所有子目錄和文件

1zip -r compressed.zip folder/

使用最大壓縮比壓縮文件,下面這個命令 -9 參數指定了最大壓縮比,儘管可能需要更長的處理時間

1zip -9 compressed.zip file.txt

創建密碼保護的 zip 文件,下面這個命令 -e 參數會提示用戶輸入密碼以創建加密的 zip 文件。

1zip -e secure.zip file.txt

只壓縮新文件或已更改的文件,如果 compressed.zip 已存在,-u 參數會更新歸檔中的 file.txt 或將其添加至歸檔中(如果它是新的)

1zip -u compressed.zip file.txt

壓縮文件但不保留目錄結構,-j 參數將不保留 file.txt 的父目錄 folder,文件在 zip 中的位置將是在根目錄下

1zip -j compressed.zip folder/file.txt

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

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

上面的命令操作是將絕對地址的文件及文件夾進行壓縮,以下給出壓縮相對路徑目錄,比如目前在Bliux這個目錄下,執行以下操作可以達到以上同樣的效果:

1zip -q -r html.zip html

比如現在我的html目錄下,我操作的zip壓縮命令是:

1zip -q -r html.zip *

壓縮 example/basic/ 目錄內容到 basic.zip 壓縮包中 -x 指定排除目錄,注意沒有雙引號將不起作用。

1zip -r basic.zip example/basic/ -x "example/basic/node_modules/*" -x "example/basic/build/*" -x "example/basic/coverage/*"

上面壓縮解壓出來,內容存放在 example/basic/, 如果想存放到根目錄,進入目錄進行壓縮,目前沒有找到一個合適的參數來解決此問題。

1cd example/basic/ && zip -r basic.zip . -x "node_modules/*" -x "build/*" -x "coverage/*"

壓縮效率選擇:

1zip -9 # 1-9 faster->better

創建 public_html 目錄下忽略所有文件和文件夾,排除包括文本 backup 的所有文件。

1$ zip -r public_html.zip public_html -x *backup*

httpdocs 目錄忽略 .svn 文件或 git 的文件和目錄下創建所有文件的歸檔。

1$ zip -r httpdocs.zip httpdocs --exclude *.svn* --exclude *.git*

httpdocs 目錄忽略的所有文件,並與 .log 結尾的目錄下創建所有文件的歸檔。

1$ zip -r httpdocs.zip httpdocs --exclude "*.log"

問題解決

CentOS7中命令找不到

1-Bash: Unzip: Command Not Found

解決方法

1yum install -y unzip zip

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: