Am Montag, den 27.04.2009, 08:36 +0200 schrieb Ignatios Souvatzis: > On Fri, Apr 24, 2009 at 05:10:31PM +0200, Martin Wittwer wrote: > > > Was passiert denn genau, wenn ich eine Datei nach /dev/null verschiebe? > > Ist das das gleiche als wenn ich die Datei mit dem Befehl rm lösche? > > Nein. > > Das ist (fast) das gleiche, als wenn du /dev/null mit rm löschtst und > die Datei /dev/null nennst. > > Sprich: du bekommst jede Menge Probleme, weil viele Anwendungen sich > darauf verlassen, dass sie aus /dev/null nur die leere Datei lesen > können und keinen Plattenplatz brauchen, wenn sie dahin schreiben. > Das war aber nicht die Frage von Martin Witte. Er wollte nicht /dev/null löschen, sondern ihn interessiert der Unterschied zwischen dem Löschen einer beliebigen Datei mit rm oder durch verschieben nach /dev/null.
Soweit ich weiß wird mit rm nur der inode-Eintrag gelöscht. Der Inhalt der Datei ist zunächst noch auf dem Speichermedium (z.B. Festplatte) und könnte daher wieder (mit entsprechenden Tools) hergestellt/ausgelesen werden werden. Wenn du etwas nach /dev/null schreiben läßt, wird es - bildlich gesprochen - hinter dem Tellerrand im Nichts fallen gelassen. Es werden Daten, also Inhalte von Dateien dorthin geschrieben, der inode-Eintrag der Datei wird nicht angefaßt. Es ist andererseits möglich etwas Nichts über den Tellerrand in eine Datei zu ziehen. Diese wird dann mit Nullen gefüllt. Gruß Thomas