Linux命令“tar”的使用示例

實質上,tar文件是一種創建包含許多其他文件的存檔文件的方法。

想像一下你有一個文件夾結構,裡面有你想要從一台計算機複製到另一台計算機的文件。 您可以編寫一個執行副本的腳本,並將所有文件放在目標機器上的正確文件夾中。

如果您可以創建一個文件並將所有文件和文件夾合併為文件的一部分,然後您可以將其複製到目標文件並進行解壓縮,那將會更加容易。

習慣使用 WinZip之類的 Windows軟件的用戶已經意識到了這種功能,但是壓縮文件和tar文件之間的區別在於tar文件沒有被壓縮。

如指南中所示,壓縮tar文件是很常見的,它顯示瞭如何提取tar.gz文件。

本文將向您展示如何使用tar 命令

如何創建一個Tar文件

試想一下,您的主文件夾下的圖片文件夾中有許多不同的文件夾,每個文件夾中有許多圖片。

您可以創建一個包含所有圖像的tar文件,同時使用以下命令維護文件夾結構:

tar -cvf照片〜/照片

這些開關如下所示:

如何列出Tar文件中的文件

您可以使用以下命令列出tar文件的內容:

tar -tf tarfilename

這提供了一個tar文件中的文件和文件夾的列表。

您應該始終在從一個陌生來源提取tar文件之前執行此操作。

至少一個tar文件可能會將文件提取到您不期望的文件夾中,並且會損壞系統的某些部分,因此知道哪些文件正在到達哪裡是一個很好的起點。

最糟糕的是,壞人創造了一種叫做焦油炸彈的東西,它旨在摧毀你的系統。

前面的命令只是給出了文件和文件夾的列表。 如果您想要更詳細的視圖來顯示文件大小,請使用以下命令:

tar -tvf tarfilename

這些開關如下所示:

如何從一個Tar文件中提取

現在您已經將這些文件列入了tar文件,您可能希望解壓tar文件。

要提取tar文件的內容,請使用以下命令:

tar -xvf tarfile

這些開關如下所示:

如何將文件追加到Tar文件

如果您想要將文件添加到現有的tar文件中,請運行以下命令:

tar -rvf tarfilename / path / to / files

這些開關如下所示:

如何僅添加文件,如果它們較新

前一個命令的問題是,如果添加了tar文件中已存在的文件,它們將被覆蓋。

如果只想添加比現有文件更新的文件,請使用以下命令:

tar -uvf tarfilename / path / to / files

如何防止焦油覆蓋文件,同時提取

如果你正在提取一個tar文件,你可能不想覆蓋文件,如果它們已經存在。

這個命令可以確保現有的文件是獨立的:

tar -xkvf tarfilename

只提取比現有文件更新的文件

如果你正在提取一個tar文件,你可能會很高興文件被覆蓋,但只有當tar文件中的文件比現有文件更新時才會被覆蓋。

以下命令顯示如何執行此操作:

tar --keep-newer-files -xvf tarfilename

將文件添加到Tar文件後如何刪除文件

一個tar文件保持未壓縮狀態,所以如果你有一個400-gigabyte的文件到一個tar文件中,你的原始位置將有一個400-gigabyte的文件,而其中包含一個400-gigabyte文件的tar文件。

添加到tar文件時,您可能希望刪除原始文件。

以下命令顯示如何執行此操作:

tar --remove-files -cvf tarfilename / path / to / files

在創建它時壓縮一個Tar文件

要在創建後立即壓縮tar文件,請使用以下命令:

tar -cvfz tarfilename / path / to / files

概要

tar命令有幾十個開關,通過使用man tar命令或運行tar --help可以找到更多信息。