在 Unix 系統上,可以使用該cat
實用程式將檔案連接在一起(Windows 系統有type
或者copy /B
)。
cat file1 file2 file3 > joined-file
這會將舊文件的內容複製到一個新文件中。該過程需要讀取舊文件並寫入新文件所需的時間。新文件與舊文件分開存儲,因此如果沒有足夠的可用磁碟空間來寫入新文件,則該命令將失敗。
是否有一種更快的方法來組合文件,或至少「欺騙」程式認為文件已組合,而不涉及移動或複製磁碟上的資料?
執行此操作的一種方法可能是修改檔案系統目錄,以便將檔案視為碎片更大的文件。有沒有一種「安全」的方法來做到這一點(即比使用dd
手動修改目錄更安全)?
我對在任何平台上連接文件的任何方法都感興趣,這種方法比物理連接文件更快並且需要更少的磁碟空間。
答案1
我假設在現有檔案系統之上使用某種覆蓋檔案系統是可能的(修改現有檔案系統會導致災難),然後發現您可能可以使用 FUSE(使用者空間中的檔案系統)為 Linux 編寫一些東西
我很高興地用谷歌搜索,發現有人已經實現了這個 - 有一個名為 concat-fuse 的 GIT 項目 -https://github.com/concat-fuse/concat-fuse/blob/master/README.md- 看起來符合你所描述的。