常見 GNU Tar 命令備忘單

常見 GNU Tar 命令備忘單

GNU Tar 是一個強大的命令行歸檔實用程序,適用於Linux 和其他類 UNIX 操作系統。它首先由貝爾實驗室開發,用於在存檔磁帶備份上可靠地存儲任何數字媒體。如今,GNU Tar 是一個“全能者”,可以以易於傳輸的格式存儲任何文件。

GNU Tar 的強大功能之一是它在數據處理方面的靈活性。它提供的選項允許您壓縮、提取甚至將存檔重定向到 UNIX 管道。這使得 GNU Tar 成為存儲數據並通過命令行操作數據的有用工具。

此備忘單將向您展示 GNU Tar 中可用於在 Linux 中操作 Tar 文件的命令。不僅如此,它還會顯示一些高級選項,讓您了解存檔的內部結構。

命令 描述
創建檔案
焦油-cf。/輸出.tar。/輸入/ 從文件夾“input”中創建一個名為“output.tar”的存檔。
焦油-cf。/device.tar /dev/sda1 使用整個 sda1 分區的內容創建名為“device.tar”的存檔。
焦油-czf。/輸出.tar.gz。/輸入/ 從文件夾“input”創建一個名為“output.tar”的存檔。
tar -cjf。/輸出.tar.bz2。/輸入/ 創建一個名為“output.tar.gz”的存檔並使用 GZIP 算法對其進行壓縮。
焦油-cJf。/輸出.tar.xz。/輸入/ 創建一個名為“output.tar.xz”的新存檔,並使用 XZ 算法對其進行壓縮。
焦油-cZf。/輸出.tar.z。/輸入/ 創建一個名為“output.tar.xz”的新存檔並使用 XZ 算法對其進行壓縮。
tar –lzip -cf。/輸出.tar.lz。/輸入/ 創建一個名為“output.tar.z”的新存檔並使用 LZ 算法對其進行壓縮。
tar –lzop -cf. /output.tar.lzo。/輸入/ 創建一個名為“output.tar.lz”的新存檔並使用 LZIP 算法對其進行壓縮。
焦油 -cML 1024000 -f。/輸出.tar。/大文件 將文件“large.file”拆分為一組 1GB 的多部分存檔。
焦油-hcf。/輸出.tar。/input.link 創建一個名為“output.tar.lzo”的新存檔並使用 LZOP 算法對其進行壓縮。
tar –format=v7 -cf.tar –format=v7 -cf. /輸出.tar。/輸入/ 確保“output.tar”存檔與原始 V7 UNIX tar 兼容。
tar –sort=名稱 -cf. /輸出.tar。/輸入/ 創建一個名為“output.tar”的新存檔,並按字母順序對其內容進行排序。
tar –警告=無-cf. /輸出.tar。/輸入/ 創建“output.tar”時禁用所有警告消息。
tar –警告=全部-cf。/輸出.tar。/輸入/ 創建“output.tar”時打印所有警告消息。
tar -wcf。/輸出.tar。/輸入/ 在存檔創建過程中啟用 Tar 的交互模式。
過濾存檔成員
tar –排除備份-cf。/輸出.tar。/輸入/ 創建存檔,但不要在最終輸出中包含任何數據庫鎖定文件以及二進製備份文件。
tar –排除緩存-cf。/輸出.tar。/輸入/ 創建存檔但不在最終輸出中包含任何緩存文件。
tar –排除-vcs-cf。/輸出.tar。/輸入/ 創建一個存檔,但不要在最終輸出中包含任何名為“foo”的文件。
tar –排除=foo -cf。/輸出.tar。/輸入/ 創建一個存檔,但不要在最終輸出中包含任何名為“foo”的文件。
tar –exclude-tag-all=foo -cf. /輸出.tar。/輸入/ 創建存檔,但不包含任何包含文件“foo”的文件夾。
tar –無遞歸-cf。/輸出.tar。/輸入/ 創建存檔但不下降到當前文件夾中的任何子目錄。
tar –不取消引用-cf。/輸出.tar。/“輸入”/ 創建存檔並將輸入文件夾中的引號視為文字字符。
焦油-Pcf。/output.tar /home/$USER/input/ 創建一個存檔並確保其中的所有目錄路徑都是絕對路徑。
tar –newer=2023-06-30 -cf. /輸出.tar。/輸入/ 創建存檔,但僅包含“input”文件夾內 6 月 30 日之後創建的文件。
tar –刪除文件-cf。/輸出.tar。/輸入/ 創建存檔並在存檔完成後刪除“input”文件夾的內容。
tar -Wcf。/輸出.tar。/輸入/ 創建存檔並在完成後驗證其完整性。
tar –忽略大小寫-cf。/輸出.tar。/輸入/ 創建新檔案時禁用 Tar 的區分大小寫。
tar -C /其他/目錄 -cf。/輸出.tar。/輸入/ 移動 Tar 的當前工作目錄並使用其中的輸入文件夾創建存檔。
檢查檔案
焦油-tf。/輸出.tar 以短格式打印“output.tar”的內容。
tar -tvf。/輸出.tar 以長格式打印“output.tar”的內容。
tar –index-file=foo -tvf.tar –index-file=foo -tvf. /輸出.tar 以長格式打印“output.tar”的內容並保存在文件“foo”中。
tar –utc-tvf。/輸出.tar 打印“output.tar”的內容並將所有修改時間轉換為 UTC。
tar –總計-tvf。/輸出.tar 打印“output.tar”的內容並顯示存檔的總字節數。
tar –檢查點-cf。/輸出.tar。/輸入/ 每10個歸檔成員打印當前tar文件的歸檔過程。
tar -tvRf。/輸出.tar 打印“output.tar”中每個成員的塊號。
修改檔案
tar –group=foo -xf.tar –group=foo -xf.tar –group=foo -xf. /輸出.tar 僅在“output.tar”存檔末尾包含較新的內容。
tar –user=foo -xf.tar –user=foo -xf.tar –user=foo -xf. /輸出.tar 僅包含“output.tar”存檔末尾的較新內容。
tar -rf。/輸出.tar。/新輸入/ 將文件夾“new-input”的內容包含在“output.tar”存檔的末尾。
tar -uf。/輸出.tar。/輸入/ 將所有存檔內容的所有者更新為“foo”。
tar –checkpoint-action=’cmd’ -cf. /輸出.tar。/輸入/ 每 10 個存檔成員對存檔運行一次命令“cmd”。
提取檔案
tar -xf。/輸出.tar 在當前工作目錄中提取“output.tar”。
tar -xkf。/輸出.tar 提取“output.tar”,但不要替換目錄中當前存在的任何文件。
tar –保留較新的文件-xf。/輸出.tar 提取“output.tar”,但不要替換任何比存檔內容更新的文件。
tar –no-overwrite-dir -xf。/輸出.tar 提取“output.tar”,但不要修改當前目錄中任何文件夾的屬性。
tar –keep-directory-symlink -xf。/輸出.tar 提取“output.tar”,但不要修改當前目錄中的任何符號鏈接。
tar –覆蓋-xf。/輸出.tar 提取“output.tar”並替換當前目錄中的所有文件。
tar -mxf。/輸出.tar 提取“output.tar”,但在提取過程中不要使用存檔文件的“mtime”值。
tar –保留-xf。/輸出.tar 提取“output.tar”,並且不將用戶和組權限更新為當前用戶。
tar -wxf。/輸出.tar 在存檔提取過程中啟用 Tar 的交互模式。
tar –strip-components=3 -xf.tar –strip-components=3 -xf. /輸出.tar 僅提取“output.tar”中三個目錄深度的任何文件。
tar –transform=s/pattern/string/ -xf. /輸出.tar 提取“output.tar”存檔並將名稱為“pattern”的每個文件替換為“string”。
tar –警告=無-xf. /輸出.tar 提取“output.tar”時禁用所有警告消息。
tar –警告=全部-xf。/輸出.tar 提取“output.tar”時打印所有警告消息。

圖片來源:Unsplash。所有改動均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *