zip / unzip / jar 的用法
zip: 沒(méi)有jar命令時(shí)可以用zip命令
1.功能作用:壓縮文件或者目錄
2.位置:/usr/bin/zip
3.格式用法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工作目錄>][-ll][-n <字尾字符串>][-t <日期時(shí)間>][-<壓縮效率>][壓縮文件][文件...][-i <范本樣式>][-x <范本樣式>]
4.主要參數(shù)
- -f 更新zip包中已有的文件
- -u 更新已有的文件或添加新的文件
- -d 指定文件解壓縮后所要存儲(chǔ)的目錄
- -m 將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中
- -r 將指定的目錄下的所有子目錄以及文件一起處理
- -j 不處理壓縮文件中原有的目錄路徑
- -0 只打包,不壓縮 //jar包不允許壓縮,所以這個(gè)參數(shù)很有用
- -l 顯示壓縮文件內(nèi)所包含的文件
- -1 較快速度的壓縮
- -9 較高質(zhì)量的壓縮
- -q 安靜模式,在壓縮的時(shí)候不顯示指令的執(zhí)行過(guò)程
- -v 執(zhí)行是時(shí)顯示詳細(xì)的信息
- -c 將解壓縮的結(jié)果顯示到屏幕上,并對(duì)字符做適當(dāng)?shù)霓D(zhuǎn)換
- -z 僅顯示壓縮文件的備注文字
- -@ 從標(biāo)準(zhǔn)輸入中讀取名稱,一個(gè)路徑名稱用一行
- -o 將壓縮文件內(nèi)的所有文件的最新變動(dòng)時(shí)間設(shè)為壓縮時(shí)候的時(shí)間
- -x 指定不要處理.zip壓縮文件中的哪些文件
- -i 只壓縮符合條件的文件
- -F 嘗試修復(fù)損壞的壓縮文件
- -D 壓縮文件內(nèi)不建立目錄名稱
- -A 調(diào)整可執(zhí)行的自動(dòng)解壓縮文件
- -J 刪除可執(zhí)行文件,留下一個(gè)普通的zip歸檔文件
- -T 檢查備份文件內(nèi)的每個(gè)文件是否正確無(wú)誤
- -X 解壓縮時(shí)同時(shí)回存文件原來(lái)的UID/GID
- -y 直接保存符號(hào)連接,而非該連接所指向的文件,本參數(shù)僅在UNIX之類的系統(tǒng)下有效
- -e 加密
- -n 不壓縮具有特定字尾字符串的文件
- -h2 顯示更多幫助
※,更新jar包中的配置文件:注意jar包不允許壓縮。jar命令和tar命令用法基本一致!沒(méi)有jar命令時(shí)可以用zip命令代替!
- `zip -0 -u app.jar BOOT-INF/classes/application-dev.yml` //注意路徑需要app.jar中的路徑保持一致
- jar -tvf xxx.jar //查看jar包中的文件
- 戶用發(fā)電預(yù)測(cè),更新一個(gè)jar包中的依賴jar包,注意路徑和jar包中的路徑保持一致:兩種方式
zip -0 -u enstellar-start-0.0.1-SNAPSHOT.collect.jar BOOT-INF/lib/enstellar-power-forecast-home-collect-0.0.1-SNAPSHOT.jarjar -0uvf enstellar-start-0.0.1-SNAPSHOT.collect.jar BOOT-INF/lib/enstellar-power-forecast-home-collect-0.0.1-SNAPSHOT.jar//更新jar包中的一個(gè)依賴jar包.注意也要加-0參數(shù),不然也會(huì)被壓縮
※,單獨(dú)解壓某個(gè)文件:
- `unzip app.jar "*classes/application-dev.yml" -d .`
5.應(yīng)用實(shí)例
1、把所有 my1*.doc 的文件打包成一個(gè) new1.zip文件
- zip new1.zip my1*.doc
- zip app.jar BOOT-INF/lib/tong.jar //注意:如果文件帶著路徑,這些路徑也會(huì)被打包進(jìn)壓縮包里!下同!
new1.zip 可以省略擴(kuò)展名簡(jiǎn)寫成 new1,它會(huì)自行默認(rèn) .zip 的擴(kuò)展名。
2、刪除 new1.zip 文件中的指定文件
- zip -d new1.zip my18.doc
如果當(dāng)初my18.doc 是壓縮在 new1.zip 中的一個(gè)文件,現(xiàn)在這條命令把它從壓縮文件中抽走并刪掉。-d 是刪除的意思。
3、添加一個(gè)文件到.zip文件中
- zip -g new1.zip my32.doc
如果當(dāng)初并沒(méi)有把 my32.doc 壓在 new1.zip 里面,現(xiàn)在把它加進(jìn)去。-g 選項(xiàng)是增加而不要重新產(chǎn)生的意思
4、將更改過(guò)的文件添加到壓縮包中
- zip -u new1.zip my2*.doc
如果當(dāng)初 my2*.doc都已經(jīng)壓縮進(jìn) new1.zip 里面了,但是后來(lái) my2*.doc中有幾個(gè)文件有更改,又不想去找出到底是哪些文件更改了,這條命令請(qǐng)系統(tǒng)自行幫助檢查,更改過(guò)的才更新到壓縮,否則就不必動(dòng)。
5、把一個(gè)文件abc.txt和一個(gè)目錄dir1壓縮成為yasuo.zip:
- zip -r yasuo.zip abc.txt dir1
6、將/home/Blinux/html/ 這個(gè)目錄下所有文件和文件夾打包為當(dāng)前目錄下的html.zip
- zip -qr html.zip /home/Blinux/html
-q為安靜模式,在壓縮的時(shí)候不顯示指令的執(zhí)行過(guò)程
unzip
1.功能作用:解壓縮zip文件
2.位置:/usr/bin/unzip
3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
4.主要參數(shù)
- -c 將解壓縮的結(jié)果顯示到屏幕上,并對(duì)字符做適當(dāng)?shù)霓D(zhuǎn)換
- -p 與-c參數(shù)類似,會(huì)將解壓縮的結(jié)果顯示到屏幕上,但不會(huì)執(zhí)行任何的轉(zhuǎn)換。
- -l 顯示壓縮文件內(nèi)所包含的文件
- -f 更新現(xiàn)有的文件
- -t 檢查壓縮文件是否正確,但不解壓
- -u 與-f參數(shù)類似,但是除了更新現(xiàn)有的文件外,也會(huì)將壓縮文件中的其他文件解壓縮到目錄中
- -z 僅顯示壓縮文件的備注文字
- -v 執(zhí)行是時(shí)顯示詳細(xì)的信息。或查看壓縮文件目錄,但不解壓
- -T 將壓縮文件內(nèi)的所有文件的最新變動(dòng)時(shí)間設(shè)為解壓縮時(shí)候的時(shí)間
- -x 指定不要處理.zip壓縮文件中的哪些文件
- -d 指定文件解壓縮后所要存儲(chǔ)的目錄
- -n 解壓縮時(shí)不要覆蓋原有的文件
- -q 安靜模式,執(zhí)行時(shí)不顯示任何信息
- -o 不必先詢問(wèn)用戶,unzip執(zhí)行后覆蓋原有文件
- -a 對(duì)文本文件進(jìn)行必要的字符轉(zhuǎn)換
- -j 不處理壓縮文件中原有的目錄路徑(這個(gè)即是忽略壓縮文件中的目錄而直接將文件解壓到指定位置)
- -aa 把所有的文件目錄當(dāng)作文本處理
- -U use escapes for all non-ASCII Unicode
- -UU 忽略Unicode編碼字符
- -C 壓縮文件中的文件名稱區(qū)分大小寫
- -L 將壓縮文件中的全部文件名改為小寫
- -X 解壓縮時(shí)同時(shí)回存文件原來(lái)的UID/GID
- -V 保留VMS的文件版本信息
- -K 保留文件的setuid/setgid/tacky屬性
- -M 將輸出結(jié)果送到more程序處理
- -O 指定字符編碼為DOS,Windows和OS/2.這個(gè)選項(xiàng)就是解決文件名亂碼的答案。-O gbk
- -I 指定字符編碼為UNIX
實(shí)例
0、unzip -j -O gbk xxx.zip -d ./
1、把文件解壓到當(dāng)前目錄下
- unzip test.zip
2、如果要把文件解壓到指定的目錄下,需要用到-d參數(shù)。
- unzip -d /temp test.zip
3、解壓的時(shí)候,有時(shí)候不想覆蓋已經(jīng)存在的文件,那么可以加上-n參數(shù)
- unzip -n test.zip
- unzip -n -d /temp test.zip
4、只看一下zip壓縮包中包含哪些文件,不進(jìn)行解壓縮
- unzip -l test.zip
5、查看顯示的文件列表還包含壓縮比率
- unzip -v test.zip
6、檢查zip文件是否損壞
- unzip -t test.zip
7、將壓縮文件test.zip在指定目錄tmp下解壓縮,如果已有相同的文件存在,要求unzip命令覆蓋原先的文件
- unzip -o test.zip -d /tmp/
如何只提取zip文件中某一個(gè)文件?
·unzip <Your zip file> "*path/to/要解壓的文件" -d <要解壓的目錄>·
* : 可以使用*做通配符!
-d : -d 參數(shù)后面跟上你要解壓文件到哪個(gè)目錄;
posted on 2017-03-13 09:30 everest33 閱讀(853) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)