在Linux中使用Tar命令創建和提取檔案

在本文中,我們將向您展示如何使用Tar實用程序來提取和創建tar歸檔文件,並附有實際示例和最常見的Tar選項的詳細說明。

團隊 tar用於通過將一組文件轉換為存檔來創建tar存檔。 它還具有提取tar歸檔文件,顯示歸檔文件中包含的文件列表,將其他文件添加到現有歸檔文件以及各種其他類型的操作的功能。

Tar支持多種壓縮程序,例如 gzipbzip2lziplzmalzopxzcompress… 創建壓縮的tar存檔時,通常考慮在存檔文件名中添加一個壓縮後綴。 例如,如果歸檔文件是使用gzip壓縮的,則應將其命名為archive.tar.gz。

Tar最初旨在在將文件存儲在磁帶上的同時創建檔案,因此名稱為“ Ť增強現實 細香蔥。

tar有兩種版本,BSD tar和GNU tar,但有一些功能上的區別。 大多數Linux系統默認都預先安裝了GNU tar。 如果您尚未安裝tar,建議您先閱讀有關如何在CentOS上安裝tar.gz的文章,然後再進行安裝。

在繼續使用tar命令之前,讓我們先看一下基本語法。

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

  • OPERATION-僅允許和要求一個參數。 最常用的操作:
    • --create-c)-創建一個新的tar存檔。
    • --extract-x)-提取整個檔案或檔案中的一個或幾個文件。
    • --list-t)-顯示檔案中包含的文件列表
  • OPTIONS -最常用的操作:
    • --verbose-v)-顯示由tar命令處理的文件。
    • --file=archive=name-f archive-name)-指定存檔文件的名稱。
  • ARCHIVE_NAME -存檔的名稱。
  • FILE_NAME(s)-要提取的文件名的空格分隔列表。 如果未提供,則將提取整個存檔。

執行tar命令時,可以使用tar操作和選項的長格式或短格式。 長格式更具可讀性,而短格式則更快。 長格式選項以雙破折號( --)。 簡短格式參數以一個破折號( -),可以省略。

使用運算符 -c 創建一個tar檔案。 例如,創建一個名為 archive.tar來自名為 file1file2file3 運行以下命令:

tar -cf archive.tar file1 file2 file3

這是使用長格式參數的等效命令:

tar --create --file=archive.tar file1 file2 file3

以下示例將創建一個存檔 backup.tar 從目錄 /home/username

tar -cf backup.tar /home/username

您可以從一個或多個目錄或文件的內容創建檔案。 默認情況下,如果未指定參數,則以遞歸方式歸檔目錄 --no-recursion… 使用參數 -v如果要查看正在處理的文件。

Gzip是tar文件最受歡迎的壓縮算法。 使用gzip壓縮tar歸檔文件時,歸檔文件名稱必須以以下任一結尾 tar.gz或者 tgz

要從給定文件創建tar.gz歸檔文件,可以使用以下命令:

tar -czf archive.tar.gz file1 file2

選項 -z告訴tar使用算法壓縮檔案 gzip

tar文件的另一種流行的壓縮算法是bzip2。 使用bzip2壓縮tar歸檔文件時,歸檔文件名稱必須以以下任一結尾 tar.bz2 或者 tbz

指定選項時 -j ,tar將使用該算法 bzip2 存檔壓縮。

以下命令將創建一個存檔 tar.bz2 從給定的文件:

tar -cjf archive.tar.bz2 file1 file2

要列出tar歸檔文件的內容,請使用操作 --list-t)。

tar -tf archive.tar

file1
file2
file3

如果使用參數指定檔案的內容 --verbose-v),tar將打印更多信息,例如所有者,文件大小,時間戳等:

tar -tvf archive.tar

-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file1
-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file2
-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file3

要提取tar歸檔文件,請使用運算符 --extract-x)並指定存檔文件的名稱:

tar -xf archive.tar

此外,通常會添加該選項 -v 打印提取文件的名稱。

tar -xvf archive.tar

默認情況下,tar將在當前工作目錄中提取存檔的內容。 使用 --directory-C)提取特定目錄中的存檔文件:

例如,將檔案的內容提取到目錄中 /opt/files, 您可以使用:

tar -xf archive.tar -C /opt/files

例如,在提取壓縮檔案時, tar.gz或者 tar.bz2 您無需指定解壓縮參數。 該命令與解壓縮檔案時的命令相同 tar

tar -xf archive.tar.gz

tar -xf archive.tar.bz2

要從tar歸檔文件中提取特定文件,請在歸檔文件名後添加一個要用空格分隔的文件名列表:

tar -xf archive.tar file1 file2

解壓縮文件時,必須提供準確的名稱,包括打印路徑 --list-t)。

從檔案中提取一個或多個目錄類似於提取文件:

tar -xf archive.tar dir1 dir2

如果您嘗試解壓縮不存在的文件,則會出現類似於以下內容的錯誤消息:

tar -xf archive.tar README

tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

要基於通配符模式從存檔中提取文件,請使用開關 --wildcards 並提供防止外殼解釋的模式。

例如,提取名稱以。結尾的文件 .js(JavaScript文件),您可以使用:

tar -xf archive.tar --wildcards '*.js'

要將文件或目錄添加到現有的tar存檔中,請使用以下操作 --append-r)。

例如,添加一個名為 newfile 在archive.tar中,您可以使用:

tar -rvf archive.tar newfile

使用操作 --delete 從存檔中刪除文件。

例如,刪除名為 file1 從archive.tar,您可以使用:

tar --delete -f archive.tar file1

到目前為止,您應該對如何創建和提取tar歸檔文件有很好的了解。

請禁用您的廣告攔截器或將此網站列入白名單!

Sidebar