Linux
是否有更智能的 tar 或 cpio 可以有效地檢索儲存在存檔中的文件?
我
tar
用來歸檔一組非常大(多 GB)的bz2
文件。如果我使用
tar -tf file.tar
列出存檔中的文件,這需要很長時間才能完成(約 10-15 分鐘)。同樣,
cpio -t < file.cpio
完成所需的時間也一樣長,加上或減去幾秒鐘。因此,從存檔中檢索文件(
tar -xf file.tar myFileOfInterest.bz2
例如通過)同樣慢。是否有一種存檔方法可以在存檔中保留一個隨時可用的“目錄”,以便可以快速檢索存檔中的單個文件?
例如,某種目錄儲存指向存檔中特定字節的指針,以及要檢索的文件的大小(以及任何其他文件系統特定的細節)。
是否有工具(或 or 的參數
tar
)cpio
可以有效地檢索存檔中的文件?
tar(以及 cpio 和 afio 以及 pax 和類似程序)是面向流的格式 - 它們旨在直接流式傳輸到磁帶或通過管道傳輸到另一個程序。雖然從理論上講,可以在文件/流的末尾添加一個索引,但我不知道有什麼版本可以做到(雖然這將是一個有用的增強)
它對您現有的 tar 或 cpio 存檔沒有幫助,但是還有另一個工具 dar(“磁碟存檔”),它確實可以創建包含此類索引的存檔文件,並且可以讓您快速直接訪問存檔中的各個文件.
如果 dar 不包含在您的 unix/linux-dist 中,您可以在以下位置找到它: