Linux中zip壓縮和unzip解壓縮命令使用方法
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。在Linux中,我們可以利用命令進行文件壓縮,即zip壓縮和unzip解壓縮,這篇文章主要介紹了詳解Linux中zip壓縮和unzip解壓縮命令及使用詳解,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
下面給大家介紹下Linux中zip壓縮和unzip解壓縮命令詳解
1、把/home目錄下面的mydata目錄壓縮為mydata.zip
zip -r mydata.zip mydata #壓縮mydata目錄
2、把/home目錄下面的mydata.zip解壓到mydatabak目錄里面
unzip mydata.zip -d mydatabak
3、把/home目錄下面的abc文件夾和123.txt壓縮成為abc123.zip
zip -r abc123.zip abc 123.txt
4、把/home目錄下面的wwwroot.zip直接解壓到/home目錄里面
unzip wwwroot.zip
5、把/home目錄下面的abc12.zip、abc23.zip、abc34.zip同時解壓到/home目錄里面
unzip abc*.zip
6、查看把/home目錄下面的wwwroot.zip里面的內(nèi)容
unzip -v wwwroot.zip
7、驗證/home目錄下面的wwwroot.zip是否完整
unzip -t wwwroot.zip
8、把/home目錄下面wwwroot.zip里面的所有文件解壓到第一級目錄
unzip -j wwwroot.zip
主要參數(shù)
-c:將解壓縮的結(jié)果
-l:顯示壓縮文件內(nèi)所包含的文件
-p:與-c參數(shù)類似,會將解壓縮的結(jié)果顯示到屏幕上,但不會執(zhí)行任何的轉(zhuǎn)換
-t:檢查壓縮文件是否正確
-u:與-f參數(shù)類似,但是除了更新現(xiàn)有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中
-v:執(zhí)行是時顯示詳細(xì)的信息
-z:僅顯示壓縮文件的備注文字
-a:對文本文件進行必要的字符轉(zhuǎn)換
-b:不要對文本文件進行字符轉(zhuǎn)換
-C:壓縮文件中的文件名稱區(qū)分大小寫
-j:不處理壓縮文件中原有的目錄路徑
-L:將壓縮文件中的全部文件名改為小寫
-M:將輸出結(jié)果送到more程序處理
-n:解壓縮時不要覆蓋原有的文件
-o:不必先詢問用戶,unzip執(zhí)行后覆蓋原有文件
-P:使用zip的密碼選項
-q:執(zhí)行時不顯示任何信息
-s:將文件名中的空白字符轉(zhuǎn)換為底線字符
-V:保留VMS的文件版本信息
-X:解壓縮時同時回存文件原來的UID/GID
下面給大家介紹下Linux - zip壓縮、unzip解壓縮命令的使用詳解
由于服務(wù)器使用的是 CentOS 系統(tǒng),對于文件的壓縮和解壓縮免不了要使用命令操作,這里我對 Linux 系統(tǒng)下常用的 zip 和 unzip 命令做個總結(jié)。
一、zip 壓縮
1,應(yīng)用實例
(1)將當(dāng)前文件夾下的所有文件打包成一個 new1.zip 文件
zip new1.zip *
(2)把當(dāng)前文件夾下所有 my1*.doc 的文件打包成一個 new1.zip 文件
zip new1.zip my1*.doc
(3)把一個文件 abc.txt 和一個目錄 dir1 壓縮成為 yasuo.zip
zip -r yasuo.zip abc.txt dir1
(4)將 /home/Blinux/html/ 這個目錄下所有文件和文件夾打包為當(dāng)前目錄下的 html.zip
備注:-q 為安靜模式,在壓縮的時候不顯示指令的執(zhí)行過程
zip -qr html.zip /home/Blinux/html
(5)添加一個文件到 .zip 文件中
備注:如果當(dāng)初并沒有把 my32.doc 壓在 new1.zip 里面,現(xiàn)在把它加進去。-g 選項是增加而不要重新產(chǎn)生的意思。
zip -g new1.zip my32.doc
(6)將更改過的文件添加到壓縮包中
備注:如果當(dāng)初 my2*.doc 都已經(jīng)壓縮進 new1.zip 里面了,但是后來 my2*.doc 中有幾個文件有更改,又不想去找出到底是哪些文件更改了,這條命令請系統(tǒng)自行幫助檢查,更改過的才更新到壓縮,否則就不必動。
zip -u new1.zip my2*.doc
(7)刪除除 .zip 文件中的指定文件
備注:如果當(dāng)初 my18.doc 是壓縮在 new1.zip 中的一個文件,現(xiàn)在這條命令把它從壓縮文件中抽走并刪掉。-d 是刪除的意思。
zip -d new1.zip my18.doc
2,主要參數(shù)
-f 更新現(xiàn)有的文件
-u 與 -f 參數(shù)類似,但是除了更新現(xiàn)有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中
-d 指定文件解壓縮后所要存儲的目錄
-m 將文件壓縮并加入壓縮文件后,刪除原始文件,即把文件移到壓縮文件中
-r 將指定的目錄下的所有子目錄以及文件一起處理
-j 不處理壓縮文件中原有的目錄路徑
-0 只存儲,不壓縮
-l 顯示壓縮文件內(nèi)所包含的文件
-1 較快速度的壓縮
-9 較高質(zhì)量的壓縮
-q 安靜模式,在壓縮的時候不顯示指令的執(zhí)行過程
-v 執(zhí)行時顯示詳細(xì)的信息
-c 將解壓縮的結(jié)果顯示到屏幕上,并對字符做適當(dāng)?shù)霓D(zhuǎn)換
-z 僅顯示壓縮文件的備注文字
-@ 從標(biāo)準(zhǔn)輸入中讀取名稱,一個路徑名稱用一行
-o 將壓縮文件內(nèi)的所有文件的最新變動時間設(shè)為壓縮時候的時間
-x 指定不要處理.zip壓縮文件中的哪些文件
-i 只壓縮符合條件的文件
-F 嘗試修復(fù)損壞的壓縮文件
-D 壓縮文件內(nèi)不建立目錄名稱
-A 調(diào)整可執(zhí)行的自動解壓縮文件
-J 刪除可執(zhí)行文件,留下一個普通的 zip 歸檔文件
-T 檢查備份文件內(nèi)的每個文件是否正確無誤
-X 解壓縮時同時回存文件原來的 UID/GID
-y 直接保存符號連接,而非該連接所指向的文件,本參數(shù)僅在 UNIX 之類的系統(tǒng)下有效
-e 加密
-n 不壓縮具有特定字尾字符串的文件
-h2 顯示更多幫助
二、unzip 解壓縮
1,應(yīng)用實例
(1)把文件解壓到當(dāng)前目錄下
unzip test.zip
(2)如果要把文件解壓到指定的目錄下,需要用到-d參數(shù)。
unzip -d /temp test.zip
(3)解壓的時候,有時候不想覆蓋已經(jīng)存在的文件,那么可以加上 -n 參數(shù)
unzip -n test.zip
unzip -n -d /temp test.zip
(4)將壓縮文件 test.zip 在指定目錄 tmp 下解壓縮,如果已有相同的文件存在,要求 unzip 命令覆蓋原先的文件
unzip -o test.zip -d /tmp/
(5)只看一下 zip 壓縮包中包含哪些文件,不進行解壓縮
unzip -l test.zip
(6)查看顯示的文件列表還包含壓縮比率
unzip -v test.zip
(7)檢查 zip 文件是否損壞
unzip -t test.zip
2,主要參數(shù)
-c 將解壓縮的結(jié)果顯示到屏幕上,并對字符做適當(dāng)?shù)霓D(zhuǎn)換
-p 與 -c 參數(shù)類似,會將解壓縮的結(jié)果顯示到屏幕上,但不會執(zhí)行任何的轉(zhuǎn)換。
-l 顯示壓縮文件內(nèi)所包含的文件
-f 更新現(xiàn)有的文件
-t 檢查壓縮文件是否正確,但不解壓
-u 與 -f 參數(shù)類似,但是除了更新現(xiàn)有的文件外,也會將壓縮文件中的其他文件解壓縮到目錄中
-z 僅顯示壓縮文件的備注文字
-v 執(zhí)行時顯示詳細(xì)的信息?;虿榭磯嚎s文件目錄,但不解壓
-T 將壓縮文件內(nèi)的所有文件的最新變動時間設(shè)為解壓縮時候的時間
-x 指定不要處理 .zip 壓縮文件中的哪些文件
-d 指定文件解壓縮后所要存儲的目錄
-n 解壓縮時不要覆蓋原有的文件
-q 安靜模式,執(zhí)行時不顯示任何信息
-o 不必先詢問用戶,unzip 執(zhí)行后覆蓋原有文件
-a 對文本文件進行必要的字符轉(zhuǎn)換
-j 不處理壓縮文件中原有的目錄路徑
-aa 把所有的文件目錄當(dāng)作文本處理
-U use escapes for all non-ASCII Unicode
-UU 忽略 Unicode 編碼字符
-C 壓縮文件中的文件名稱區(qū)分大小寫
-L 將壓縮文件中的全部文件名改為小寫
-X 解壓縮時同時回存文件原來的 UID/GID
-V 保留 VMS 的文件版本信息
-K 保留文件的 setuid/setgid/tacky 屬性
-M 將輸出結(jié)果送到 more 程序處理
-O 指定字符編碼為 DOS,Windows 和 OS/2
-I 指定字符編碼為 UNIX
補充:Linux基本命令
?、賚s 意為list 列出當(dāng)前文件夾中的文件
-l 顯示文件的屬性 可用ll來表示
?、赼lias 別名 看看是否有別名的文件
?、踓d dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑
?、躳wd 查看當(dāng)前工作的文件夾名 使用-P的選項,會直接進入到其中,相當(dāng)于cd
相關(guān)閱讀:Linuxshell腳本不執(zhí)行問題實例分析
shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報錯。我看了下,腳本很簡單,也沒有常規(guī)性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯??催@錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:
1)重新在linux下編寫腳本;
2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問題。
Linux中zip壓縮和unzip解壓縮命令相關(guān)文章: