Bash
cpio 與 tar 和 cp
剛剛了解到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% 的時間都可以完成任務。