gzip 用於壓縮文件, gunzip 用於解壓的 。linux
gzip命令用來壓縮文件。gzip是個使用普遍的壓縮程序,文件經它壓縮事後,其名稱後面會多處「.gz」擴展名。gzip是在Linux系統中常用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。gzip不只能夠用來壓縮大的、較少使用的文件以節省磁盤空間,還能夠和tar命令一塊兒構成Linux操做系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%~70%的壓縮率。工具
沒有的話手動安裝測試
yum -y install zip gzip (--安裝壓縮工具)
經常使用選項 ui
-c:-stdout在標準輸出上寫入,保持原始文件不變 -r:遞歸處理,將指定目錄下的全部文件及子目錄一併處理; -v:顯示指令執行過程; -d:解開壓縮文件;(decompression 解壓) -a:使用ASCII文字模式; -f:強行壓縮文件。不理會文件名稱或硬鏈接是否存在以及該文件是否爲符號鏈接; -h:在線幫助; -l:列出壓縮文件的相關信息; -L:顯示版本與版權信息; -n:壓縮文件時,不保存原來的文件名稱及時間戳記; -N:壓縮文件時,保存原來的文件名稱及時間戳記; -q:不顯示警告信息; -S或<壓縮字尾字符串>或----suffix<壓縮字尾字符串>:更改壓縮字尾字符串; -t:測試壓縮文件是否正確無誤; -V:顯示版本信息; -<壓縮效率>:壓縮效率是一個介於1~9的數值,預設值爲「6」,指定愈大的數值,壓縮效率就會愈高; --best:此參數的效果和指定「-9」參數相同; --fast:此參數的效果和指定「-1」參數相同。
基本語法 加密
gzip 文件 (功能描述:壓縮文件,只能將文件壓縮爲 *.gz 文件)
應用實例 spa
壓縮到指定目錄 (須要加上參數 -c)操作系統
案例1: gzip壓縮, 將 /home下的 hello.txt文件進行壓縮 gzip /home/hello.txt.net
案例2: gzip壓縮, 將 /home下的 a.txt、b.txt、c.txt 文件進行壓縮3d
案例3: 把test目錄下的每一個文件壓縮成 .gz 文件。 gzip *code
案例4: 把案例4中每一個壓縮的文件解壓,並列出詳細的信息。 gzip -dv *
案例5: 詳細顯示案例3中每一個壓縮的文件的信息,並不解壓。gzip -l *
案例6: 壓縮一個tar備份文件,此時壓縮文件的擴展名爲.tar.gz。gzip -r log.tar
案例7: 遞歸的壓縮目錄。gzip -rv test
這樣,全部test下面的文件都變成了*.gz,目錄依然存在只是目錄裏面的文件相應變成了*.gz.這就是壓縮,和打包不一樣。由於是對目錄操做,因此須要加上-r選項,這樣也能夠對子目錄進行遞歸了。
案例9: 遞歸地解壓目錄。gzip -dr test
案例10: 爲了保留原有的文件,咱們能夠加上 -c 選項並利用 linux 的重定向 ,這樣不但能夠將原有的文件保留,並且能夠將壓縮包放到任何目錄中,解壓縮也同樣 。
壓縮到指定目錄: /home有兩個目錄 aaa bbb aaa裏面有文件a.txt,我把a.txt壓縮到bbb目錄裏面。
gzip -c aaa/a.txt > bbb/test.gz
把上面壓縮的 test.gz 解壓到指定 hehe 目錄 gunzip -c bbb/test.gz > hehe/test.txt
若是是放在當前目錄的話: gunzip -c bbb/test.gz > ./test.txt
細節說明
當咱們使用gzip對文件進行壓縮後,不會保留原來的文件。
gunzip命令用來解壓縮文件。gunzip是個使用普遍的解壓縮程序,它用於解開被gzip壓縮過的文件,這些壓縮文件預設最後的擴展名爲 .gz 。事實上gunzip就是gzip的硬鏈接,所以不管是壓縮或解壓縮,均可經過gzip指令單獨完成。( gzip –d等價於gunzip 命令)
基本語法
gunzip 文件.gz (功能描述:解壓縮文件命令)
經常使用選項
-a:使用ASCII文字模式; -c:把解壓後的文件輸出到標準輸出設備; -f:強行解開壓縮文件,不理會文件名稱或硬鏈接是否存在以及該文件是否爲符號鏈接; -h:在線幫助; -l:列出壓縮文件的相關信息; -L:顯示版本與版權信息; -n:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其忽略不予處理; -N:解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上; -q:不顯示警告信息; -r:遞歸處理,將指定目錄下的全部文件及子目錄一併處理; -S或<壓縮字尾字符串>或----suffix<壓縮字尾字符串>:更改壓縮字尾字符串; -t:測試壓縮文件是否正確無誤; -v:顯示指令執行過程; -V:顯示版本信息;
應用實例
案例1: gunzip壓縮, 將 /home下的 hello.txt.gz 文件進行解壓縮 gunzip hello.txt.gz
zip 用於壓縮文件, unzip 用於解壓的,這個在項目打包發佈中頗有用的 。
zip 是咱們最經常使用的壓縮命令,經過該命令能夠將目錄或者文件壓縮成擴展名爲「 .zip 」的壓縮文件。
經常使用選項
-r 遞歸處理,將指定目錄下的全部文件和子目錄進行壓縮。 -f 僅將源目錄下的發生變動的文件壓縮到zip文件中,源目錄下新增的文件不進行壓縮。 -u 與-f參數相似,可是除了更新的文件外,也會將源目錄中的其它文件壓縮到zip文件中。 -m 將文件壓縮到zip文件中,同時刪除目錄下的該文件。 -j 只保存文件名稱及其內容,丟棄目錄結構。 -l 壓縮文件時,將 LF 字符置換成 LF+CR 字符。 -ll 壓縮文件時,將 CR + LF 字符置換成 LF 字符。 -1 壓縮效率,值爲1-9,1爲壓縮效率最高。 -9 壓縮效率,值爲1-9,1爲壓縮效率最高。 -v 顯示指令執行過程、顯示版本信息。 -c 爲每一個被壓縮的文件增長註釋。 -z 爲zip文件增長註釋。 -o 以壓縮文件內擁有最新更改時間的文件爲準,將壓縮文件的更改時間設成和該文件相同。 -x 不壓縮 -x 指定的文件。 -i 只壓縮 -i 指定的文件。 -D 壓縮文件內不創建目錄。 -A 調整可執行的自動解壓縮文件。 -J 刪除壓縮文件前面沒必要要的數據。 -X 不保存額外的文件屬性。 -y 直接保存符號鏈接,而非該鏈接所指向的文件。 -e 採用標準的PKZip 2.0進行加密,提示輸入密碼。 -n 不壓縮文件名以制定字符串結尾的文件。 -h2 顯示詳細的幫助信息。
基本語法
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list] zip [選項] XXX.zip 須要壓縮的內容(功能描述:壓縮文件和目錄的命令)
應用實例
案例1: 將 /home下的 全部文件進行壓縮成 mypackage.zip zip -r mypackage.zip /home/ 或者 zip -r mypackage.zip /home/*
案例2: 指定壓縮目錄 /home 有以下目錄。 zip -r aaa/test.zip bbb/
經過 unzip 命令將擴展名爲「 .zip 」的壓縮文件進行解壓縮。
基本語法
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] unzip [選項] XXX.zip (功能描述:解壓縮文件)
經常使用選項
-d 指定文件解壓縮後所要存儲的目錄。 -p 小寫,將解壓縮的文件數據以二進制格式(存儲的格式)輸出到屏幕上。 -P 大寫,使用 unzip 的密碼選項。 -l 顯示壓縮文件內所包含的文件。 -t 測試壓縮文件。 -u 與-f參數相似,可是除了更新的文件外,也會將zip文件中的其它文件解壓縮到目錄中。 -z 顯示壓縮文件的註釋。 -T 把 zip 文件中的最新的文件時間設置爲zip文件的timestamp。 -x 不解壓 -x 指定的文件。 -q 設置爲 quiet 模式。 -qq 設置爲 quieter 模式。 -o 沒必要先詢問用戶,直接覆蓋原有文件。 -a 將文本文件格式轉換爲本地操做系統的格式。 -aa 將全部的文件做爲文本文件來對待。 -U 啓用Unicode,顯示以十六進制的 #Uxxxx 或者 #Lxxxxxx 進行 ASCII 文本轉義的非本地字符。舊版本中 -U 將壓縮文件中的所有文件名改成大寫。 -UU 啓用Unicode,禁用使用UTF-8存儲路徑。UTF-8路徑被處理成 Unicode 後,存儲爲本地路徑。 -L 將壓縮文件中的所有文件名改成小寫。 -X 解壓縮時恢復文件原來的UID/GID。 -V 保留VMS的文件版本信息。 -M 將輸出結果送到 more 管道中。 -hh 顯示詳細的幫助信息。
應用實例
案例2: 將 mypackge.zip 解壓到 /opt/tmp 目錄下 unzip –d /opt/tmp mypackage.zip [若是/opt/tmp 不存在,會自動建立]
tar 指令 是打包指令,最後打包後的文件是 .tar.gz 的文件。 [能夠壓縮,和解壓]
基本語法
tar [選項] XXX.tar.gz 打包的內容/目錄 (功能描述:打包目錄,壓縮後的文件格式.tar.gz)
選項說明
選項 | 功能 |
-c | 產生 .tar 打包文件 |
-v | 顯示詳細信息 |
-f | 指定壓縮後的文件名 |
-z | 打包同時壓縮 (壓縮帶上) |
-x | 解包 .tar 文件 (解壓帶上) |
-c: 創建壓縮檔案 -x:解壓 -t:查看內容 -r:向壓縮歸檔文件末尾追加文件 -u:更新原壓縮包中的文件 以上五個是獨立的命令參數,壓縮解壓都要用到其中一個,能夠和別的命令連用但只能用其中一個。下面的參數是根據須要在壓縮或解壓檔案時可選的。 -z:有gzip屬性的 gz -j:有bz2屬性的 bz2 -J :有xz屬性的 xz -Z:有compress屬性的 -v:顯示全部過程 -O:將文件解開到標準輸出 下面的參數-f是必須的 -f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。
應用實例
案例1: 將全部 .jpg 的文件打成一個名爲all.tar的包。 tar -cf all.tar *.jpg -c 是表示產生新的包,-f 指定包的文件名。
案例2: 將全部 .gif 的文件增長到all.tar的包裏面去, tar -rf all.tar *.gif -r是表示增長文件的意思。 (這樣解壓的話是沒有任何目錄的)
tar -rf all.tar /home/photo/*.gif 這樣的話是有目錄的
案例3: 列出all.tar包中全部文件, tar -tf all.tar -t是列出文件的意思
案例3: 更新原來tar包 all.tar 中a.gif文件 tar -uf all.tar a.gif -u是表示更新文件的意思。
案例4: 解出all.tar包中全部文件, tar -xf all.tar -x是解開的意思
案例5: 將目錄裏全部jpg文件打包成 tar.jpg 。tar -cvf jpg.tar *.jpg
案例6: 將目錄裏全部jpg文件打包成jpg.tar後,而且將其用gzip壓縮,生成一個gzip壓縮過的包,命名爲jpg.tar.gz 。
tar -czf jpg.tar.gz *.jpg
案例7: 將目錄裏全部jpg文件打包成jpg.tar後,而且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名爲jpg.tar.bz2。
tar -cjf jpg.tar.bz2 *.jpg
案例8: 將目錄裏全部jpg文件打包成jpg.tar後,而且將其用compress壓縮,生成一個umcompress壓縮過的包,命名爲jpg.tar.Z。tar -cZf jpg.tar.Z *.jpg
案例9: rar格式的壓縮,須要先下載rar for linux。rar a jpg.rar *.jpg
案例10: zip格式的壓縮,須要先下載zip for linux。zip jpg.zip *.jpg
tar -xvf file.tar //解壓 tar包
tar -xzvf file.tar.gz //解壓tar.gz
tar -xjvf file.tar.bz2 //解壓 tar.bz2
tar -xZvf file.tar.Z //解壓tar.Z
tar -Jxvf fle.tar.xz //解壓tar.xz
unrar e file.rar //解壓rar
unzip file.zip //解壓zip
案例11: 壓縮多個文件,將 /home/a1.txt 和 /home/a2.txt 壓縮成 a.tar.gz tar -zcvf a.tar.gz a1.txt a2.txt
案例12: 將/home 全部的文件夾壓縮成 myhome.tar.gz tar -zcvf myhome.tar.gz /home/
案例13: 將 a.tar.gz 解壓到當前目錄 tar -zxvf a.tar.gz
案例14: 將myhome.tar.gz 解壓到 /opt/tmp2目錄下 tar -zxvf myhome.tar.gz -C /opt/temp2 (temp2 須要手動建立)
細節:
指定解壓到的那個目錄,事先要存在才能成功,不然會報錯。
總結
一、*.tar 用 tar -xvf 解壓
二、*.gz 用 gzip -d或者gunzip 解壓
三、*.tar.gz和*.tgz 用 tar -xzf 解壓 tar.xz 用 tar -Jxvf 解壓
四、*.bz2 用 bzip2 -d或者用bunzip2 解壓
五、*.tar.bz2用tar -xjf 解壓
六、*.Z 用 uncompress 解壓
七、*.tar.Z 用tar -xZf 解壓
八、*.rar 用 unrar e解壓
九、*.zip 用 unzip 解壓
來源:https://blog.csdn.net/qq_40794973/article/details/86499246