Kleine Frage zu /dev/null


  • Mod

    Haben wir heute im Unterricht nicht ganz mitbekommen. Ist /dev/null gleich dem Windowspapierkorb oder ist alles was nach /dev/null für immer gelöscht? Also ohne "Wiederherstellen"?

    Ist das Verschieben nach /dev/null also gleich einem del bzw. rm?

    MfG SideWinder



  • http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/funnies.html#DEV-NULL

    SCNR

    also alles was du nach /dev/null schiebst, verschwindet.

    Aber du kannst das eben nicht direkt mit del oder rm vergleichen, da zB. cp foo /dev/null die Datei foo nicht löschen würde, sondern nur eine Kopie davon (wie sinnvoll ;))

    btw. zu Not kannst du die Daten aber immer noch wieder herstellen, mit speziellen Tools. Deswegen solltest du bei kritischen Daten lieber ein Tool wie wipe zum löschen nehmen.


  • Mod

    cp ist ja Copy - hat ja keinen Sinn.

    Verschieben ist imho != cp

    Aber ich weiß, dass wenn ich mit del eine Datei lösche Verknüfpungen darauf tot sind und die Datei sicher gelöscht ist.

    Unter UNIX haben die so einen Linkzähler der erst bei 0 die Datei löscht. Garbage Collection sozusgaen *g*.

    Aber wem erzähl ich das 🙄

    Danke jedenfalls ;).

    MfG SideWinder



  • SideWinder schrieb:

    Aber ich weiß, dass wenn ich mit del eine Datei lösche Verknüfpungen darauf tot sind und die Datei sicher gelöscht ist.

    Unter UNIX haben die so einen Linkzähler der erst bei 0 die Datei löscht. Garbage Collection sozusgaen *g*.

    Gibt da zwei Arten. Was du meinst sind Hardlinks. Gibt aber auch symbolische links, die verhalten sich dann wie die von Windows.



  • SideWinder schrieb:

    Verschieben ist imho != cp

    Jupp - verschieben = mv

    /dev/null kannst du vergleichen mit dos NULL

    wenn du also unter DOS machst
    type bla.txt > NULL
    ist das das gleiche wie unter *nix Maschinen
    cat bla.txt > /dev/null

    Ok - der Befehl war jetzt zwar etwas sinnlos, aber man kann somit die Ausgabe direkt nach AblageP schicken.

    [Edit]
    Nützlich ists z.B. hier:
    ./setiathome > /dev/null &

    Somit wird ein Process gestartet, und die Ausgabe wandert direkt AblageP.


  • Mod

    @Dr.Greenthumb: Aha, wusste ich gar nicht. Ist das nun bloß in neueren Linuxsystemen so oder geht das schon in frühen Unixversionen?

    @SnorreDev: Jup letzteres Beispiel ist gar nicht mal sinnlos!

    MfG SideWinder



  • SideWinder schrieb:

    @Dr.Greenthumb: Aha, wusste ich gar nicht. Ist das nun bloß in neueren Linuxsystemen so oder geht das schon in frühen Unixversionen?

    Das ist schon sehr lange üblich, ich weiß nicht genau wie lange aber ich kenne kein Unix bei dem das wesentlich anders funktioniert.


  • Mod

    nman schrieb:

    SideWinder schrieb:

    @Dr.Greenthumb: Aha, wusste ich gar nicht. Ist das nun bloß in neueren Linuxsystemen so oder geht das schon in frühen Unixversionen?

    Das ist schon sehr lange üblich, ich weiß nicht genau wie lange aber ich kenne kein Unix bei dem das wesentlich anders funktioniert.

    Also grundsätzliche Unterscheidung zwischen hardlinks und symbolischen Links nötig - auch gut ;).

    MfG SideWinder



  • Dateinamen (und offene Dateien) sind in Unix quasi referenzgezählte Smartpointer. Wenn 2 Dateinamen auf dieselbe Datei verweisen, hat sie eben 2 Referenzen, wenn der Link-Zähler 0 erreicht, wird die Datei gelöscht.
    Wenn man so will ist dann ein Soft-Link ein Weak-Pointer: Er verweist zwar, aber er bindet die Resource nicht. Wenn jemand die Datei löscht, zeigt der Soft-Link ins Leere.


Anmelden zum Antworten