天天看點

linux解壓檔案和建立壓縮檔案

約定:

FileName表示檔案名,不能是目錄名

name表示可以是檔案名,也可以是目錄名。

DirName表示目錄名。

溫馨提示:

可以用vim預覽壓縮包裡的東西,例如

vim      

防止解壓出一堆散的檔案污染目标檔案夾。

.rar

參考網站中的.rar部分好像有誤

先安裝rar軟體:

sudo apt install rar      

解壓

  • 解壓到目前目錄:
rar      

e: extract的e

  • 解壓到指定目錄:
rar      

x: extract的x

DirName後面一定要加“/”,例如~/lalala/

建立

rar      

DirName後加不加“/”都行

如果要指定目标檔案路徑,可以在FileName指定。如~/backup/sth.rar

.zip

參考網站中的.zip部分好像有誤

解壓

  • 解壓到目前目錄:
unzip      
  • 解壓到指定目錄:
unzip      

建立

zip      

.tar

參考網站:http://www.linuxdiyf.com/view_154669.html

解壓到目前目錄

tar      

x: 解壓檔案(extract裡的x)

v: 列印詳細資訊(verbose)

f: 指定檔案名(file)

解壓到指定目錄

tar      

C: 解壓到制定目錄

凡是用tar指令解壓,都可以使用這個選項來指定輸出路徑,如tar.gz和tar.xz。

建立

tar      

其中files可以是檔案夾名,也可以是表示檔案的正規表達式(如*.jpg)

c: 壓縮(compress)

尤其要注意,上面的files不要使用絕對路徑如/usr/share/fonts,甚至~/backup也不行(因為”~“會被翻譯成/home/使用者名)。tar加入檔案時會把檔案的相對位置也加進去,解壓出來的檔案都根據它們的相對位置放到解壓到的目錄。是以進行壓縮時要cd到要壓縮的檔案或檔案夾所在目錄。

解壓到目前目錄

gzip      

d: 解壓(decompress)

會自動把原來的FileName.gz删除并生成解壓後的檔案。

可加上選項k保留原檔案。

gzip      

k: keep

壓縮到目前目錄

gzip      

會自動把原檔案删掉并建立FileName.gz。

gzip的常用選項:

k: 保留源檔案(keep)

  • gzip其他常用選項

    v: 列印詳細資訊(verbose)

.tar.gz

​​​ https://zhidao.baidu.com/question/9844116.html​​

顧名思義,.tar.gz就是對tar檔案用gzip壓縮得到的檔案。是以解壓可以先解壓gz,再解壓tar,壓縮也可以先壓縮成tar,再壓縮成gz。

也可以使用一條指令完成解壓或壓縮。

解壓

  • 解壓到目前目錄
tar      

z表示gz

  • 解壓到指定目錄
tar      

建立

tar      

其中files可以是檔案夾名,也可以是表示檔案的正規表達式(如*.jpg)

.xz

xz格式壓縮率極高,但是壓縮和解壓也極慢。

單線程解壓

  • 解壓到目前目錄
xz -d FileName.xz      

會自動把源檔案删除,然後生成檔案FileName。可以用選項k儲存源檔案

xz -dk FileName.xz      

k: keep

  • 解壓為指定檔案名
xz -dc FileName.xz >      

c: 把壓縮檔案輸出到stdout。不删除源檔案

單線程壓縮

  • 壓縮到目前目錄
xz -z FileName      

會自動把原檔案删掉,然後生成FileName.xz。可以用選項k儲存原檔案

xz -zk FileName      

多線程壓縮

xz -zkT0 FileName      

T: 使用多線程,後面跟線程數。如果參數是0,則表示使用[機器核心數]個線程。

這種方法隻能壓縮檔案。多線程壓縮目錄的方法見.tar.xz

.tar.xz

參考網站: https://zhidao.baidu.com/question/1639604825027635340.html

顧名思義,就是把檔案先打包成tar,再壓縮成xz。

解壓時可以先解壓xz得到tar檔案,再解壓tar。

也可以使用一條指令完成解壓或壓縮。

單線程解壓

tar      

x: extract

J: xz

單線程壓縮

tar      

c: compress

多線程解壓

xz -dcT0 FileName.tar.xz | tar      

tar不帶f選項,表示從stdin中讀取。

多線程壓縮

這種方法可以壓縮檔案,也可以壓縮目錄

tar -cf - name | xz -T0 -c >      

知識點:

tar如果輸出的檔案名是“-”,則會輸出到stdout

如果xz沒有指定源檔案則會從stdin中讀取

bzip2

壓縮解壓過程都會把源檔案删掉。如果要保留,選項裡加個​

​k​

​就好了(keep)。

多線程

用pbzip2。如果不指定線程數,就自動檢測能用多少個線程。

解壓:

pbzip2 -dp線程數 FileName.bz2      

生成的檔案是FileName,會自動把FileName.bz2删掉。

壓縮:

pbzip2 -zp線程數 FileName      

tar.bz2

單線程

tar      

多線程

pbzip2 -cdp線程數 b.tar.bz2 | tar      

繼續閱讀