Linux下常見的壓縮、解壓縮命令


 

一、.tar.gz格式和.tar.bz2格式

  使用tar命令后跟選項的方式實現tar命令和gzip或者bzip2命令的組合,實現同時進行打包和壓縮,這也是最經常使用的壓縮和解壓縮方式

  https://www.linuxcool.com/tar

  一)語法格式

語法格式:tar [參數] [文件或目錄]

  二)常用參數

-A    新增文件到以存在的備份文件
-B    設置區塊大小
-c 建立新的備份文件 -C <目錄>    切換工作目錄,先進入指定目錄再執行壓縮/解壓縮操作,可用於僅壓縮特定目錄里的內容或解壓縮到特定目錄
-d    記錄文件的差別
-x    從歸檔文件中提取文件
-t    列出備份文件的內容
-z    通過gzip指令壓縮/解壓縮文件,文件名最好為*.tar.gz -Z    通過compress指令處理備份文件
-f<備份文件>    指定備份文件
-v    顯示指令執行過程
-r    添加文件到已經壓縮的文件
-u    添加改變了和現有的文件到已經存在的壓縮文件
-j    通過bzip2指令壓縮/解壓縮文件,文件名最好為*.tar.bz2 -v    顯示操作過程
-l    文件系統邊界設置
-k    保留原有文件不覆蓋
-m    保留文件不被覆蓋
-w    確認壓縮文件的正確性
-p    保留原來的文件權限與屬性
-P    使用文件名的絕對路徑,不移除文件名稱前的“/”號
-N <日期格式>    只將較指定日期更新的文件保存到備份文件里
-- -exclude=<范本樣式>    排除符合范本樣式的文件
-- -remove-files    歸檔/壓縮之后刪除源文件

 

二、.gz格式

  .gz格式和.bz2格式是Linux中最常見的壓縮格式,使用gzip命令

  gzip不僅可以用來壓縮大的、較少使用的文件以節省磁盤空間,還可以和tar命令一起構成Linux操作系統中比較流行的壓縮文件格式。據統計,gzip命令對文本文件有60%~70%的壓縮率。減少文件大小有兩個明顯的好處,一是可以減少存儲空間,二是通過網絡傳輸文件時,可以減少傳輸的時間。

  https://www.linuxcool.com/gzip

  一)語法格式

語法格式:gzip [參數]

 

  二)常用參數

-a    使用ASCII文字模式
-d    解開壓縮文件
-f    強行壓縮文件
-l    列出壓縮文件的相關信息
-c    把壓縮后的文件輸出到標准輸出設備,不去更動原始文件
-r    遞歸處理,將指定目錄下的所有文件及子目錄一並處理
-q    不顯示警告信息

 

三、.biz格式

  Linux系統中bzip2命令的英文是“bunzip2”,即.bz2文件格式的壓縮程序; bzip2命令系統默認是沒有安裝的,需要安裝bzip2庫才可以使用此命令。

  bzip2命令采用新的壓縮演算法,壓縮效果比傳統的LZ77/LZ78壓縮演算法來得好。若沒有加上任何參數,bzip2壓縮完文件后會產生.bz2的壓縮文件,並刪除原始的文件。

  一)語法格式

語法格式:bzip2 [參數] 文件系統

  二)常用參數

-c    將壓縮與解壓縮的結果送到標准輸出
-d    執行解壓縮
-f    bzip2在壓縮或解壓縮時,若輸出文件與現有文件同名,預設不會覆蓋現有文件。若要覆蓋,請使用此參數
-k    bzip2在壓縮或解壓縮后,會刪除原始的文件。若要保留原始文件,請使用此參數
-s    降低程序執行時內存的使用量
-t    測試.bz2壓縮文件的完整性
-v    壓縮或解壓縮文件時,顯示詳細的信息
-z    強制執行壓縮

 

四、.zip格式

  一)常用操作

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里面的內容
 
unzip -v wwwroot.zip
 
7、驗證/home目錄下面的wwwroot.zip是否完整
 
unzip -t wwwroot.zip
 
8、把/home目錄下面wwwroot.zip里面的所有文件解壓到第一級目錄
 
unzip -j wwwroot.zip

  二)unzip主要參數

-c:將解壓縮的結果
 
-l:顯示壓縮文件內所包含的文件
 
-p:與-c參數類似,會將解壓縮的結果顯示到屏幕上,但不會執行任何的轉換
 
-t:檢查壓縮文件是否正確
 
-u:與-f參數類似,但是除了更新現有的文件外,也會將壓縮文件中的其它文件解壓縮到目錄中
 
-v:執行是時顯示詳細的信息
 
-z:僅顯示壓縮文件的備注文字
 
-a:對文本文件進行必要的字符轉換
 
-b:不要對文本文件進行字符轉換
 
-C:壓縮文件中的文件名稱區分大小寫
 
-j:不處理壓縮文件中原有的目錄路徑
 
-L:將壓縮文件中的全部文件名改為小寫
 
-M:將輸出結果送到more程序處理
 
-n:解壓縮時不要覆蓋原有的文件
 
-o:不必先詢問用戶,unzip執行后覆蓋原有文件
 
-P:使用zip的密碼選項
 
-q:執行時不顯示任何信息
 
-s:將文件名中的空白字符轉換為底線字符
 
-V:保留VMS的文件版本信息
 
-X:解壓縮時同時回存文件原來的UID/GID

五、.tar.xz格式

  一)解壓tar.xz安裝包

 Ubuntu上安裝nodejs,下載的文件是node-v8.11.1-linux-x64.tar.xz,這是兩層壓縮,外面是xz壓縮,里層是tar壓縮,所以分兩步實現解壓。
# xz -d node-v8.11.1-linux-x64.tar.xz
# tar -xvf node-v8.11.1-linux-x64.tar.xz123
也可以直接解壓
# tar -xvJf node-v8.11.1-linux-x64.tar.xz1
tar.xz格式的壓縮包大小比.tar要小,但是壓縮解壓縮時間比較長

  二)創建tar.xz壓縮文件

先創建xxx.tar文件

# tar -cvf xxx.tar xxx1

再創建xxx.tar.xz文件

# xz -z xxx.tar1
如果要保留被壓縮的文件,需要加上參數-k

  三)解壓縮tar.xz文件

解壓xz壓縮文件

xz -d 待解壓文件
-k 保留原文件;
這樣解壓出來的文件是tar格式的打包文件,需要執行:

tar -xvf 待解包文件名)

  需要注意的是:tar命令中沒有直接解壓xz壓縮格式的參數(比如-f解壓bzip2、 -z解壓gzip)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM