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

Antwort per Email an