zip命令常用選項
大家都知道,在linux上一切皆文件,在實際生產環境中,如果我們需要部署一些系統的服務,我們會將一些軟件包提前下載下來統一放到一個文件夾中,
然後將部署的過程用shell或者python寫成一個腳本,當我們在一個裸機上部署一個服務的時候,就只需要執行腳本,然後你去喝上一杯咖啡,回來的時候服
務就已經部署好了。哈哈~以上的都不是重點,重點是存放腳本和軟膠包的目錄,那麽如何把這個目錄下載下來呢?你可能會用tar,zip等工具去操作,我工作
中常用的是tar,來讓我們一起學習一下zip的使用方法吧~
語法:zip [參數] [打包後的文件名] [打包的目錄路徑]
1.參數:-r ,將指定的目錄下的所有子目錄以及文件一起處理
[[email protected] yinzhengjie]# zip -r tools.zip tools > zip.log
2.參數:-q,安靜模式,在壓縮的時候不顯示指令的執行過程
[[email protected] yinzhengjie]# zip -q -r tools01.zip tools
3.參數:-P,加密壓縮,解壓的時候會詢問密碼
好了,偷偷告訴你,我常用的就這3種,其他的選項還有很多,我就不一一例舉啦~我百度了一些中文的資料,關於zip參數的說明,如果您覺得有所不妥,建議用([[email protected] yinzhengjie]# zip -h2)用這個命令就查看幫助,我偷偷的秒了一眼,發現這個命令的功能不僅僅我列出來的這麽點~有興趣的朋友可以研究一下的喲~
常用參數:
-r 遞歸,將指定目錄下的所有文件和子目錄一並處理
-S 包含系統和隱藏文件
-y 直接保存符號連接,而非該連接所指向的文件
-X 不保存額外的文件屬性
-m 將文件壓縮並加入壓縮文件後,刪除源文件
-<壓縮級別> 1~9,數字越大,壓縮率越高
-F 嘗試修復已損壞的壓縮文件
-T 檢查備份文件內的每個文件是否正確無誤
-q 不顯示指令執行過程
-g 將文件壓縮後附加在既有的壓縮文件之後,而非另行建立新的壓縮文件
-u 更新壓縮包內文件
-f 更新壓縮包內文件。如果符合條件的文件沒有包含在壓縮包中,則壓縮後添加
-$ 保存第一個被壓縮文件所在磁盤的卷標
-j 只保存文件名稱及其內容
-D 壓縮文件內不建立目錄名稱
-i <表達式> 壓縮目錄時,只壓縮符合條件的文件
-x <表達式> 排除符合條件的文件
-n <文件名後綴> 排除指定文件名後綴的文件
-b <緩存路徑> 指定臨時文件目錄
-d <表達式> 從壓縮文件內刪除指定的文件
-t <日期時間> 把壓縮文件的日期設成指定的日期
-o 以壓縮文件內擁有最新更改時間的文件為準,將壓縮文件的更改時間設成和該文件相同
-A 調整可執行的自動解壓縮文件
-c 替每個被壓縮的文件加上註釋
-z 替壓縮文件加上註釋
-k 使用MS-DOS兼容格式的文件名稱。
-l 壓縮文件時,把LF字符置換成LF+CR字符。
-ll 壓縮文件時,把LF+CR字符置換成LF字符。
上面我門學習了zip的用法,那麽怎麽知道我們是否真的就壓縮成功了呀?我們需要一個命令查看:unzip
語法:unzip [參數] <壓縮文件> [壓縮包中將被釋放的文件]
1.參數:-d,解壓到制定的目錄,該目錄可以是不存在的喲
[[email protected] yinzhengjie]# unzip -q -n tools -d zip
檢查類容是否一致:
2.參數:-P,後面需要跟著你之前加密的密碼,其實這個參數也沒有卵用。我測試了換一下別的密碼也是可以解開的。
關於unzip的參數:
-P <密碼> zip壓縮包的密碼
-d <路徑> 指定解壓路徑
-n 解壓縮時不覆蓋原有文件
-f 覆蓋原有文件
-o 不經詢問,直接覆蓋原有文件
-u 覆蓋原有文件,並將壓縮文件中的其他文件解壓縮到目錄中
-l 顯示壓縮文件內所包含的文件
-t 檢查壓縮文件是否正確
-z 顯示壓縮包註釋
-Z unzip -Z等於執行zipinfo指令
-j 不處理壓縮文件中原有的目錄路徑
-C 壓縮文件中的文件名稱區分大小寫
-L 將壓縮文件中的全部文件名改為小寫
-s 將文件名中的空格轉換下劃線
-X 解壓縮時保留文件原來的UID/GID
-q 執行時不顯示任何信息
-v 執行是時顯示詳細的信息
-c 將解壓縮的結果顯示到屏幕上,並對字符做適當的轉換
-p 與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換
-a 對文本文件進行必要的字符轉換
-b 不要對文本文件進行字符轉換
-x <表達式> 處理裏排除壓縮包中的指定文件
-M 將輸出結果送到more程序處理
zip命令常用選項