Linux命令 zip - 可以用來(lái)解壓縮文件

2022-04-29 17:59 更新

zip

可以用來(lái)解壓縮文件

補(bǔ)充說(shuō)明

zip命令 可以用來(lái)解壓縮文件,或者對(duì)文件進(jìn)行打包操作。zip是個(gè)使用廣泛的壓縮程序,文件經(jīng)它壓縮后會(huì)另外產(chǎn)生具有“.zip”擴(kuò)展名的壓縮文件。

語(yǔ)法

zip(選項(xiàng))(參數(shù))

選項(xiàng)

-A:調(diào)整可執(zhí)行的自動(dòng)解壓縮文件;
-b<工作目錄>:指定暫時(shí)存放文件的目錄;
-c:替每個(gè)被壓縮的文件加上注釋;
-d:從壓縮文件內(nèi)刪除指定的文件;
-D:壓縮文件內(nèi)不建立目錄名稱;
-f:此參數(shù)的效果和指定“-u”參數(shù)類似,但不僅更新既有文件,如果某些文件原本不存在于壓縮文件內(nèi),使用本參數(shù)會(huì)一并將其加入壓縮文件中;
-F:嘗試修復(fù)已損壞的壓縮文件;
-g:將文件壓縮后附加在已有的壓縮文件之后,而非另行建立新的壓縮文件;
-h:在線幫助;
-i<范本樣式>:只壓縮符合條件的文件;
-j:只保存文件名稱及其內(nèi)容,而不存放任何目錄名稱;
-J:刪除壓縮文件前面不必要的數(shù)據(jù);
-k:使用MS-DOS兼容格式的文件名稱;
-l:壓縮文件時(shí),把LF字符置換成LF+CR字符;
-ll:壓縮文件時(shí),把LF+cp字符置換成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:在文件名稱里假如版本編號(hào),本參數(shù)僅在VMS操作系統(tǒng)下有效;
-x<范本樣式>:壓縮時(shí)排除符合條件的文件;
-X:不保存額外的文件屬性;
-y:直接保存符號(hào)連接,而非該鏈接所指向的文件,本參數(shù)僅在UNIX之類的系統(tǒng)下有效;
-z:替壓縮文件加上注釋;
-$:保存第一個(gè)被壓縮文件所在磁盤的卷冊(cè)名稱;
-<壓縮效率>:壓縮效率是一個(gè)介于1~9的數(shù)值。

參數(shù)

  • zip壓縮包:指定要?jiǎng)?chuàng)建的zip壓縮包;
  • 文件列表:指定要壓縮的文件列表。

實(shí)例

將/home/Blinux/html/這個(gè)目錄下所有文件和文件夾打包為當(dāng)前目錄下的html.zip:

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

上面的命令操作是將絕對(duì)地址的文件及文件夾進(jìn)行壓縮,以下給出壓縮相對(duì)路徑目錄,比如目前在Bliux這個(gè)目錄下,執(zhí)行以下操作可以達(dá)到以上同樣的效果:

zip -q -r html.zip html

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

zip -q -r html.zip *

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

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

上面壓縮解壓出來(lái),內(nèi)容存放在 example/basic/, 如果想存放到根目錄,進(jìn)入目錄進(jìn)行壓縮,目前沒有找到一個(gè)合適的參數(shù)來(lái)解決此問(wèn)題。

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

壓縮效率選擇:

zip -9 # 1-9 faster->better

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

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

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

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

httpdocs 目錄忽略的所有文件,并與 .log 結(jié)尾的目錄下創(chuàng)建所有文件的歸檔。

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

問(wèn)題解決

CentOS7中命令找不到

-Bash: Unzip: Command Not Found

解決方法

yum install -y unzip zip


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)