大家好,我是 god23bin。今天給大家帶來的是 Linux 命令系列,每天只需一分鐘,記住一個 Linux 命令不成問題。今天,我們要介紹的是一個常用且強大的命令:tar。
tar
是 tape archive
的縮寫,意思是磁帶歸檔,歸檔可以視為存檔。tar
命令網上很多都提到,它是一個壓縮命令,為什麼會這樣說呢?
實際上,它是用於建立和提取 tar 歸檔檔案的,最初的設計就是用於將多個檔案打包到磁帶上進行備份。隨著時間的推移,tar
命令已經擴充套件到處理檔案和目錄的歸檔和壓縮。
tar
命令之所以常被稱為壓縮命令,是因為它通常與壓縮演演算法結合使用,可以在建立歸檔時對檔案進行壓縮,以減小歸檔檔案的大小。這種結合使用壓縮演演算法的方式是出於效率和儲存空間的考慮,尤其在處理大量檔案或傳輸檔案時特別有用。壓縮演演算法通常是通過選項來指定的。在常見的 tar
命令中,使用 -z
選項表示使用 gzip
壓縮演演算法,-j
選項表示使用 bzip2
壓縮演演算法,而 -Z
選項表示使用 compress
壓縮演演算法。這些壓縮演演算法可以有效地減小檔案的大小,並在需要時進行解壓縮還原。所以,現在的 tar
命令在許多場景中不僅用於建立和提取歸檔檔案,還常用於壓縮和解壓縮檔案。
tar
命令的基本語法如下:
tar [選項引數] 歸檔檔名 檔案/目錄名
其中,選項引數
是可選的,用於指定 tar
命令的不同操作。歸檔檔名
是要建立或提取的歸檔檔案的名稱。檔案/目錄名
是要打包或提取的檔案或目錄的名稱。
要建立歸檔檔案,可以使用 -c
選項並指定要建立的歸檔檔案的名稱,然後提供要打包的檔案或目錄的名稱。
c
代表 create
,意味著建立一個新的歸檔檔案來儲存指定的檔案和目錄。使用 -c
引數時,通常需要結合 -f
引數指定存檔檔案的名稱。f
代表 file
,表示後面緊跟著的引數是存檔檔案的名稱。例如,-f archive.tar
指定了歸檔檔案為 archive.tar
。
tar -c -f 歸檔檔案.tar 檔案/目錄
舉個例子,現在我們在 /opt/games/gta6
目錄下有一個 crack 目錄,我們想將 crack
目錄歸檔,儲存一下,那麼就可以要建立名一個為 crack.tar
的歸檔檔案並打包 crack
目錄,可以執行以下命令:
tar -c -f crack.tar crack
要從歸檔檔案中提取檔案或目錄,可以使用 -x
選項並指定要提取的歸檔檔案的名稱。
x
代表 extract
,表示從存檔檔案中提取歸檔的檔案和目錄。使用 -x
引數時,通常需要結合 -f
引數指定要提取的存檔檔案的名稱。
tar -x -f 歸檔檔案.tar
現在,我們把上一步建立的歸檔檔案移動到 model
目錄下再進行提取,提取所有檔案和目錄,可以執行以下命令:
tar -x -f crack.tar
tar
命令還支援將歸檔檔案與壓縮演演算法結合使用以減小檔案大小。常見的壓縮演演算法包括 gzip (-z
)、bzip2 (-j
) 和 xz (-J
)。
tar -c -z -f 歸檔檔案.tar.gz 檔案/目錄
tar -c -j -f 歸檔檔案.tar.bz2 檔案/目錄
tar -c -J -f 歸檔檔案.tar.xz 檔案/目錄
現在,我們想要把 config4gta6
歸檔並且壓縮,分別使用這 3 種演演算法壓縮,那麼可以分別建立名為 config4gta6.tar.gz
的 gzip 壓縮歸檔檔案、config4gta6.tar.bz2
的 bzip2 壓縮歸檔檔案和 config4gta6.tar.xz
的 xz 壓縮歸檔檔案,並打包目錄 config4gta6
,現在就可以依次執行以下命令:
tar -c -z -f config4gta6.tar.gz config4gta6
tar -c -j -f config4gta6.tar.bz2 config4gta6
tar -c -J -f config4gta6.tar.xz config4gta6
現在是有了 3 個壓縮的歸檔檔案了,那麼如何解壓呢?聰明的你肯定知道了,就是使用 -x
選項引數。現在我們先將這 3 個壓縮歸檔檔案移動到當前的 crack
目錄下,在 crack
目錄中進行解壓。
# 移動 3 個壓縮檔案到 crack 目錄
mv config4gta6.tar.gz config4gta6.tar.bz2 config4gta6.tar.xz crack
接著我們可以根據壓縮的演演算法選擇用哪個引數來解壓,就是通過 -x
與 -z
或 -j
或 -J
配合使用。
直接解壓 gzip 壓縮歸檔檔案到當前目錄:
tar -x -z -f config4gta6.tar.gz
解壓 bzip2 壓縮歸檔檔案到指定目錄,設定選項引數 -C
(大寫字母 C,是 Change directory 的縮寫,表示改變目錄)來指定目錄:
tar -x -j -f config4gta6.tar.bz2 -C /opt/games/gta6/model/crack/bz2dir/
解壓 xz 壓縮歸檔檔案到指定目錄:
tar -x -J -f config4gta6.tar.xz -C xzdir/
要檢視歸檔檔案中的內容,可以使用 -t
選項並指定歸檔檔案的名稱。-t
列出存檔檔案中的內容(list)
tar -t -f 歸檔檔案.tar
我們現在就看看歸檔的內容,以最開始的 crack.tar
為例:
tar -t -f crack.tar
對於有使用壓縮演演算法壓縮的歸檔檔案,也是一樣的用法。
tar -t -f config4gta6.tar.gz
除了上述基本用法,tar
命令還提供了許多其他選項,用於執行各種操作和控制歸檔檔案的行為。以下是一些常用的選項:
-v
:(verbose,詳細的)顯示詳細輸出,列出打包或提取的每個檔案的名稱。-C
:(Change directory)切換到指定目錄後再執行操作,在 tar
命令中,一般就是解壓的時候,配合這個 -C,可以讓我們將檔案解壓到其他指定的目錄中。-u
:(update)僅將較新的檔案新增到存檔檔案中。在 tar
命令中,選項引數的先後順序通常沒有特定的規定。你可以根據需要靈活地組合和排列選項引數。
還有一些通用的慣例需要知道,這樣可以幫助我們更好地使用選項引數:
-
開頭,例如 -c
, -x
, -v
等。-cvf
表示同時啟用 -c
, -v
, -f
這三個選項。-f
選項指定檔名時,應該確保 -f
出現在檔名之前,以便正確識別檔名。-f
選項需要指定後面的檔名,例如 -f archive.tar.gz
。tar
最初是 tape archive(磁帶歸檔)的簡稱,並且在早期主要用於磁帶備份,但現在它已經成為一種常見的檔案處理工具,可以建立、提取和管理歸檔檔案,並結合壓縮演演算法實現檔案的壓縮和解壓縮功能。
現在,相信聰明的你已經學會了 tar
命令!
希望本文能夠幫助大家更好地理解和應用 tar
命令。如果你對其他 Linux 命令也感興趣,敬請期待我後續的文章。謝謝大家的閱讀!
希望各位螢幕前的靚仔靚女們
給個三連!你輕輕地點了個贊,那將在我的心裡世界增添一顆明亮而耀眼的星!
咱們下期再見!