Bash

cpio 與 tar 和 cp

  • August 3, 2020

剛剛了解到cpio有三種模式:copy-out、copy-in和pass-through。

我想知道 cpio 在複製輸出和複製輸入模式下相對於 tar 的優缺點是什麼。什麼時候使用 cpio 更好,什麼時候使用 tar?

傳遞模式下的 cpio 與 cp 的類似問題。

感謝致敬!

這是一個非常通用的概述:

CPIO 在復製文件系統(包括備份)方面做得更好。它保留了硬連結、fifos 和其他非標准文件功能。CPIO 的大多數實現都完成了 TAR 所做的一切,包括讀取和寫入 .tar 文件。CPIO 通常從標準輸入獲取文件列表到歸檔;這使得從其他東西(如find)中傳輸列表變得非常容易。

如果您想要從目錄 A 複製到目錄 B 的文件列表很長,那麼 CPIO 直通非常有用。(例如,您可以使用它find來定位系統上過去 2 年內發生更改的所有文件)

TAR 在簡單地將所有標准文件轉儲到磁帶(或存檔文件)/從磁帶(或存檔文件)轉儲方面做得更好。它使用起來有點簡單(對於大多數常見任務)。輕鬆滿足大多數人的簡單備份需求;它的大部分受歡迎程度都來自這個事實。

現在是精美的印刷品。CPIO 和 TAR 有幾個不同的版本和實現。每個都有不同的功能,有些有不同的命令行選項。有些事情彼此可以做而對方卻做不到;如果您發現自己受到一個限制,請嘗試另一個。每個人都有自己的最愛,99% 的時間都可以完成任務。

引用自:https://serverfault.com/questions/148747