2010-02-14 8 views
7

(in C/C++/Linux)verketten Dateien ohne dessen Inhalt kopieren

Gibt es eine Möglichkeit Datei A und Datei B zu verketten (oder tatsächlich eine A Inhalt anhänge, die die B) nur durch das Dateisystem verändern ohne den Aufwand des Datenkopierens? Datei A kann dann verworfen werden. ja

Dank

+0

Also, wenn Sie 2 Dateien mit je 1 Byte haben, haben Sie am Ende 1 Datei mit 2 Bytes? Das wird ein Problem bei blockorientiertem Speicher sein - und der modernste kommerzielle nichtflüchtige Speicher ist blockorientiert, ohne NOR-Flash. Aber alles SATA- oder USB-Anschluss ist ebenso wie SD-Karten. – MSalters

Antwort

7

Wenn die Dateien waren Block strukturiert, und wenn die OS-Block-strukturierte Dateien unterstützt (wie manche es tun), dann (im Prinzip). Aber da Sie nach Linux fragen, gehe ich davon aus, dass Sie von einem byte-stream-orientierten Dateisystem sprechen, in dem ein Plattenblock möglicherweise nicht vollständig verwendet wird. In diesem Fall ist ein Kopieren unumgänglich und in der Praxis müssen Sie die gesamte Datei kopieren.

2

Sie könnten Ihr eigenes Dateisystem (z. B. mit FUSE) schreiben, das Pseudodateien für eine billige Verkettung bereitstellt. Aber ich denke, das wäre (für jeden Anwendungsfall) übertrieben, da man sich um Referenzen und ähnliches kümmern muss.

Verwandte Themen