shell命令--zip
0、zip命令的專屬圖床
點此快速打開文章【圖床_shell命令zip】
1、zip命令的功能說明
zip
命令用於壓縮文件。zip
是個使用廣泛的壓縮程序,文件經它壓縮后會另外產生具有.zip
擴展名的壓縮文件。
2、zip命令的語法格式
SYNOPSIS zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date] [-tt date] [zipfile [file ...]] [-xi list] zipcloak (see separate man page) zipnote (see separate man page) zipsplit (see separate man page) Note: Command line processing in zip has been changed to support long options and handle all options and arguments more consistently. Some old command lines that depend on command line inconsistencies may no longer work.
3、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的數值。
4、zip命令的實踐操作
范例1:打包文件
清空目錄
cd && rm -rf /test -->將之前的實驗環境刪除掉。提示:rm -rf 謹慎使用! mkdir /test && cd /test
打包文件
touch file{1..3}.txt ls zip -q -r test.zip * ls
范例2:檢查備份文件內的每個文件是否正確無誤
zip -T test.zip
范例3:從壓縮文件
test.zip
刪除文件file1.txt
unzip -v test.zip -->查看zip包內的文件 zip -d -v test.zip file1.txt -->zip很奇怪,參數得分開寫 !unzip
范例4:從壓縮文件
test.zip
刪除目錄dir
及文件模擬環境
mkdir -p dir -->創建dir目錄 ls mv *.txt dir -->將以txt結尾的文件全部移到dir目錄下 ls ls dir/
打包文件
zip -q -r new1_test.zip * ls mv dir test.zip /tmp ls
刪除目錄
cp new1_test.zip new2_test.zip unzip -v new1_test.zip zip -d new1_test.zip dir/ !unzip unzip new1_test.zip ls ls dir/ -->什么情況?怎么沒刪除掉?看下面操作
rm -rf dir test.zip unzip -v new2_test.zip zip -d new2_test.zip dir/* !unzip unzip new2_test.zip ls
『MineGi有話說』:快來掃一掃下面鏈接的二維碼,加入我們吧!