zip命令詳解


  

基礎命令學習目錄首頁

 

好文鏈接:https://www.cnblogs.com/yinzhengjie/p/6247833.html

原文鏈接:https://www.cnblogs.com/ferryCaptain-cloud/p/7440200.html

功能說明:壓縮文件。

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

補充說明:zip是個使用廣泛的壓縮程序,文件經它壓縮后會另外產生具 有".zip"擴展名 的壓縮文件。

參  數:

-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   替 壓縮文件加上注釋。

-$   保 存第一個被壓縮文件所在磁盤的卷冊名稱。

-<壓縮效率>   壓 縮效率是一個介於1-9的 數值。

 

例子

 

例1. 壓縮test.MYI

 

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

zip -q -r mcw.zip /root/mcw_test
[root@xiaoma /root/xiaoma] test!
#ls -F /root/mcw_test/
1.sh  ma.txt  xiaoma_guohe/  魔降風雲變.txt
[root@xiaoma /root/xiaoma] test!
#zip -q -r mcw.zip /root/mcw_test
[root@xiaoma /root/xiaoma] test!
#ls
mcw.zip

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

zip -d mcw.zip root/mcw_test/ma.txt

[root@xiaoma /root/mcw_test] test!
#zip -q -r mcw.zip *
[root@xiaoma /root/mcw_test] test!
#ls -F 
1.sh  ma.txt  mcw.zip  xiaoma_guohe/  魔降風雲變.txt

從壓縮文件 mcw.zip 中刪除文件 ma.txt

zip -d mcw.zip root/mcw_test/ma.txt

[root@xiaoma /root/mcw_test/mcw] test!
#ls /root/mcw_test/
1.sh  ma.txt  mcw  mcw.zip  xiaoma_guohe  魔降風雲變.txt
[root@xiaoma /root/mcw_test/mcw] test!
#zip -q -r mcw.zip /root/mcw_test/* [root@xiaoma /root/mcw_test/mcw] test! #zip -d mcw.zip root/mcw_test/ma.txt deleting: root/mcw_test/ma.txt [root@xiaoma /root/mcw_test/mcw] test! #unzip mcw.zip ;ls root/mcw_test/ Archive: mcw.zip inflating: root/mcw_test/1.sh creating: root/mcw_test/mcw/ extracting: root/mcw_test/mcw.zip creating: root/mcw_test/xiaoma_guohe/ extracting: root/mcw_test/魔降風雲變.txt 1.sh mcw mcw.zip xiaoma_guohe 魔降風雲變.txt

(1)將/etc目錄下的所有文件以及目錄進行壓縮,設置壓縮級別為最高,保存到文件/opt/etc.zip。
[root@mylinux ~]# zip -r /opt/etc.zip /etc
(2)將/var目錄中所有文件以及子目錄壓縮,除了“*.log”的文件,將壓縮文件保存到/opt目錄下。
[root@mylinux ~]#zip –r /opt/var.zip /var –x “*.log”
(3)將上面/opt/etc.zip中的etc/passwd文件從壓縮包中刪除。
[root@mylinux ~]#zip /opt/etc.zip –d etc/passwd
deleting: etc/passwd
(4)修改了/etc/inittab文件,希望把更改信息更新到/opt/etc.zip包中。
[root@mylinux ~]#zip –u /opt/etc.zip /etc/inittab
如果/etc目錄下很多文件進行了修改或者增加了很多文件,就需要把/etc目錄下的全部信息更新到/opt/etc.zip文件。可以使用以下命令:
[root@mylinux ~]#zip –u /opt/etc.zip /etc/* 或者使用
[root@mylinux ~]# zip –ru /opt/etc.zip /etc
看出點玄機了嗎?在上例中,其實“/etc/*”就代表了/etc目錄下的所有文件以及子目錄,而這剛好是zip命令“-r”選項完成的功能。
(5)將/opt/etc.zip壓縮文件全部解壓到/etc目錄下,除了etc/inittab文件,並且在解壓過程中如果出現相同的文件就直接進行覆蓋,不要求用戶確認。可以使用以下命令:
[root@mylinux ~]#unzip –o /opt/etc.zip –x etc/inittab –d /etc

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM