本文最先釋出在:
如何解壓縮 tar.xz 檔案 - ITCoderwww.itcoder.tech
tar
指令允許你建立和解壓縮 tar 包。它支援很多壓縮算法,例如 gzip, bzip2, lzip, lzop, xz 和 compress。
XZ 是一個基于 LZMA 算法,用于壓縮檔案的流行算法。
按照慣例,使用 xz 壓縮的 tar 包名字都以
.tar.xz
或者
.txz
結尾。
本文講解了如何使用
tar
指令來解壓縮
.tar.xz
或者
.txz
包。
一、解壓 tar.xz 檔案
tar 工具預設在所有的 Linux 發行版和 macOS 上都已經安裝好了。
想要解壓一個 tar.xz 檔案,使用
tar
指令加上
--extract
(
-x
)選項,并且在
-f
選項後面加上封包件名。
tar -xf archive.tar.xz
tar
自動檢測壓縮類型,并且解壓縮封包件。同樣的指令可以用來解壓縮使用其他算法,例如:.tar.gz 或者.tar.bz2 壓縮的檔案。
如果你不想使用指令行,你可以使用 GUI 檔案管理器。 想要解壓一個 tar.xz 檔案,隻需要簡單右鍵點選你想要解壓的檔案,并且選擇"Extract”。Windows 使用者需要安裝一個名為7zip的工具來解壓 tar.xz 檔案。
如果想要顯示一些輸出記錄,使用
-v
選項。這個選項告訴
tar
檔案在終端被解壓時,顯示壓縮包裡面的檔案名。
tar -xvf archive.tar.xz
預設情況下,
tar
解壓封包婧内容到目前目錄。想要解壓封包件到一個指定檔案夾,使用
--directory
(
-C
)。
下面的例子顯示了如何将壓縮包内容,解壓到檔案夾
/home/linuxize/files
。
tar -xf archive.tar.xz -C /home/linuxize/files
二、從 tar.xz 檔案中解壓指定檔案
想要從 tar.xz 檔案中解壓一個指定的檔案,或者多個指定檔案,在壓縮包名字後面,以空格間隔,列出需要解壓出的檔案名。
tar -xf archive.tar.xz file1 file2
當解壓檔案時,你必須提供準确的名字,包括路徑。這些路徑就像 使用
tar
加上
--list
(
-t
)選項指令運作列印出的結果一樣。
從壓縮包中解壓出一個或者多個檔案夾,也和上面解壓多個檔案一樣的:
tar -xf archive.tar.xz dir1 dir2
如果你嘗試解壓一個在壓縮包中不存在的檔案,一個類似下面的錯誤提示将會出現:
tar -xf archive.tar.xz README
輸出:
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
--wildcards
選項允許你從一個 tar.xz 檔案中基于一個泛名字模式來解壓出你需要的檔案。這個樣式必須使用引号括起來,以免 shell 解釋它。
例如,隻想解壓以
.png
結尾的檔案,你需要使用:
tar -xf archive.tar.xz --wildcards '*.png'
三、從标準輸入解壓 tar.xz 檔案
當解壓一個從标準輸入(通常是通過管道)讀取的壓縮 tar.xz 檔案,你必須指定一個壓縮選項。這個
-J
選項告訴
tar
這個檔案是使用 xz 來壓縮的。
在下面的這個例子中,我們使用 wget 指令下載下傳 Linux Kernel,并且通過管道将輸出傳遞給
tar
指令:
wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj
如果你不指定解壓縮選項,
tar
将會提示你應該用哪一個選項:
tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
四、列出 tar.xz 檔案内容
想要列出 tar.xz 檔案内容,使用
--list
(
-t
)選項:
tar -tf archive.tar.xz
輸出将會像下面這樣:
file1
file2
file3
如果你添加
--verbose
(
-v
)選項,
tar
将會列印更多資訊,例如擁有者,檔案大小,時間戳等等:
tar -tvf archive.tar.xz
輸出:
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file1
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file2
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file3
五、總結
tar.xz 是一個使用 xz壓縮的 tar 包。想要解壓 tar.xz 檔案,使用
tar -xf
指令,加上壓縮包名字即可。
如果你有任何疑問,請通過以下方式聯系我們:
微信: sn0wdr1am86
微信群: 加上面的微信,備注微信群
QQ: 3217680847
QQ 群: 82695646