Warum funktioniert `'ln -s /directory 'D:'` so, wie es funktioniert?

Warum funktioniert `'ln -s /directory 'D:'` so, wie es funktioniert?

Also, wie erwähntHier, 'ln -s /directory 'D:'ordnet den Windows- D:Speicherort einem Verzeichnis im Linux-Stil zu.

Dies widerspricht jedoch meines Wissens dem Linux-Benennungssystem. Warum erlaubt Linux die Verwendung von Verzeichnisanfängen im Windows-Stil im lnBefehl?

Antwort1

Dies funktioniert, weil D:es sich um einen gültigen Verzeichnisnamen in Linux (und POSIX im Allgemeinen) handelt. Für Linux hat er keine Bedeutung.

(Einige Programme behandeln bestimmte Verzeichnisse mit diesem Namen im entsprechenden Verzeichnis auf besondere Weise. Wine beispielsweise erwartet solche Verzeichnisse im dosdevicesVerzeichnis innerhalb eines Wine-Präfixes. Dies ist jedoch Wine-spezifisch und wird von Linux nicht erzwungen.)

Antwort2

Das :Zeichen hat in einem *nix-Dateinamen keine besondere Bedeutung. Alle Zeichen außer NUL sind zulässig. /(Einige Zeichen müssen maskiert werden, wenn sie in Befehle eingegeben oder weitergeleitet werden, insbesondere Leerzeichen und Zeilenumbrüche, aber sie sind immer noch zulässig.)

In Ihrem Beispiel D:ist es nur eine normale Datei!

verwandte Informationen