linux解壓常用命令


簡介

我們在操作linux服務器的時候會用到一些解壓和壓縮命令 .zip .gz .bz2 .tar.gz .tar.bz2,下面我對常用解壓命令進行匯總。

1.tar

tar命令參數前面加”-"與不加“-”的區別:

tar命令參數前面加不加“-”執行命令的結果是沒有區別的,區別只要是在於linux風格方面,加“-”屬於System V風格,不加“-”屬於BSD風格,所以在使用tar命令的時候它的參數加不加“-”結果是一樣的,看個人的使用方式;

常用參數:

選項 介紹
-z 是否同時具有gz屬性
-j 是否同時具有bz2屬性
-J 是否同時具有xz屬性
-x 解壓縮、提取打包的內容
-t 查看壓縮包內容
-c 建立一個壓縮,打包文檔
-C 切換到指定目錄,表示指定解壓縮包的內容和打包的內容存放的目錄
-v 顯示壓縮或者打包的內容
-f 使用文件名,在f后面要接壓縮后的文件的名字,只要用到tar命令,-f選項是必須要用的,-f參數在使用的時候一定排在其他參數的后面,在最右邊
-p 保留備份數據的原本權限與屬性,常用於備份(-c)重要的配置文件
-P 保留絕對路徑(大寫P)

1.1.打包

示例:

  • a.將a.txtb.txt打包成一個文件:
tar -cvf test.tar a.txt b.txt
  • b.查看test.tar文件中的內容:
tar -tf test.tar
  • c.提取test.tar文件中的內容到/test目錄下:
# 如果不用`-C`指定目錄,默認是當前目錄。
tar -xf test.tar -C /test

1.2.壓縮

linux主要有三種壓縮方式:

  • .gzip:是公認的壓縮這速度最快,壓縮大文件的時候與其他的壓縮方式相比更加明顯,歷史最久,應用最廣泛的壓縮方式
  • .bzip:壓縮形成的文件小,但是可用性不如gzip
  • .xz:是最新的壓縮方式,可以自動提供最佳的壓縮率

建議的壓縮的時候標明后綴:

參數 作用 命名方式
-z 用於gzip壓縮方式 文件名.tar.gz
-j 用於bzip2壓縮方式 文件名.tar.bz2
-J 用於xz壓縮方式 文件名.tar.xz

示例:

  • a.用gzip的壓縮方式將test.log文件壓縮為test.tar.gz文件:
tar -zcvf test.tar.gz test.log
  • b.用bzip2的壓縮方式將test.log文件壓縮為test.tar.bz2文件
tar -jcvf test.tar.bz2 test.log

在壓縮的過程中,我們可以發現:
壓縮速度:gz > bz2 > xz
壓縮率:xz > bz2 > gz

1.3.解壓

tar命令在解壓的時候不需要指明自己壓縮的方式它會自己選擇跟壓縮文件對應的方式去解壓:

  • a.將test.tar.gz解壓到當前目錄
tar -xf test.tar.gz
  • b.將test.tar.bz2文件解壓在/test目錄下:
tar -xf test.tar.bz2 -C /test

補充

  • a.在打包和壓縮的過程中,我們有時候會看到這樣的語句:tar: 從成員名中刪除開頭的“/”,這個並不是報錯,是因為沒有加上-P選項,沒有保留原來的絕對路徑去打包或者壓縮,提取打包的內容跟解壓一樣,下面舉一個例子:

壓縮

# 不加'P'
tar -zcvf test.tar.gz /test

# 加'P'
tar -zcvPf test.tar.gz /test

解壓

# 不加'P'
tar -xvf test.tar.gz -C /test

# 加'P'
tar -xvPf test.tar.gz -C /test
  • b.在使用tar壓縮或者打包的時候,可以通過增加--exclude來達到排除指定的文件的目的
# 排除`test`文件夾中的`a.txt`文件
tar -cvf test.tar --exclude=a.txt test

2.zip

zip 是個使用廣泛的壓縮程序,壓縮后的文件后綴名為 .zip。

2.1.zip命令

基本用法:

zip [參數] [壓縮包名] [壓縮的目錄或者文件的路徑]

常用參數:

選項 介紹
-m 將文件壓縮后,刪除原文件
-o 將壓縮文件內的所有文件的最新變動時間設為壓縮的時間
-q 安靜模式,在壓縮的時候不顯示指令執行的過程
-r 遞歸壓縮,將自定目錄下的所有子文件以及文件一起處理
-x ”文件列表“,壓縮時排除文件列表中的文件

示例:

  • a.壓縮目錄,將test目錄壓縮為名為test.zip壓縮包:
# 正常壓縮,不加`-q`選項,顯示壓縮過程
zip -r test.zip test

# 加`-q`選項,不顯示壓縮過程
zip -q -r test.zip test
  • b.壓縮多個文件,將文件1.txt2.txt文件壓縮名為test.zip的壓縮包:
# 因為壓縮的都是文件,可以不用加上`-r`選項
zip -q test.zip 1.txt 2.txt
  • c.壓縮文件和目錄,將1.txt文件和test目錄壓縮名為test.zip的壓縮包:
zip -q -r test.zip 1.txt test
  • d.將test目錄壓縮為test.zip壓縮包,並且排除test目錄中的1.txt文件:
zip -r test.zip test -x "./test/1.txt"

2.2.unzip命令

基本用法:

unzip [參數] [壓縮文件] (-d [目錄]) //如果不是用括號里面的內容,則解壓文件在當前工作目錄

常用參數:

選項 介紹
-c 將解壓縮的結果顯示到屏幕上(顯示每一個目錄下的每一個文件的內容),同時對字符做適當的轉換,但是並沒有解壓壓縮包
-l 顯示壓縮文件內所包含的文件
-t 檢查壓縮文件是否正確
-v 執行時顯示壓縮文件的詳細信息
-q 安靜模式,執行時不顯示任何信息
-d 指定文件解壓后存儲的目錄
-x 指定不要處理壓縮文件中的那些文件

示例:

  • a.將test.zip壓縮包解壓縮的結果打印出來:
unzip -c test.zip
  • b.查看test.zip壓縮包所包含的文件:
unzip -l test.zip
  • c.檢查test.zip壓縮文件是否正確:
# 顯示全部`ok`表示文件是正確的
unzip -t test.zip
  • d.不解壓壓縮文件test.zip,查看壓縮包里面的內容(查看顯示的文件列表還包含壓縮比率):
# 使用`-v`顯示的內容比使用`-l`顯示的信息更加詳細
unzip -v test.zip
  • e.將test.zip壓縮包解壓到/data目錄下:
unzip -q test.zip -d /data

總結

后綴 解壓命令
.tar tar –xvf test.tar
.gz gzip -d test.gz 或者gunzip test.gz
.tar.gz、.tgz tar –xzf test.gz
.bz2 bzip2 -d test.bz2或者用bunzip2.bz2
.tar.bz2 tar –xjf test.tar.bz2
.Z uncompress test.Z
.tar.Z tar –xZf test.tar.Z
.rar unrar e test.rar
.zip unzip test.zip


免責聲明!

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



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