2013-05-29 5 views
9

Ich habe versucht, einen symbolischen Link auf eine nicht vorhandene DateiSymbolic Link zu einer nicht vorhandenen Datei

ln -s non_existing_file.txt $HOME/dir1/dir2/my_symbolic_link 

dann zu schaffen, habe ich versucht, etwas in der nicht vorhandenen Datei mit dem symbolischen Link

vi $HOME/dir1/dir2/my_symbolic_link 
zu schreiben

jetzt nach dem Speichern und Beenden.

non_existing_file.txt unter dir2 erstellt

Kann jemand erklären, warum?

Antwort

4
ln -s target linkpath 

schafft einen Symlink an linkpath, die den Namen target hält. Operationen auf dem Symlink interpretieren den Namen target relativ zu dem Verzeichnis, in dem sich der Symlink befindet, nicht das aktuelle Arbeitsverzeichnis.

Also, wenn Sie einen Symlink Halt haben, sagen, ../usr in /tmp/link-to-usr, dann ls /tmp/link-to-usr den Inhalt des /usr Liste (die /tmp/../usr), unabhängig davon, wo der ls Befehl ausgeführt wird.

Verwandte Themen