Da ~
, .
und ..
sind spezielle Verzeichnisse, warum sind sie unterschiedlich im folgende Beispiel behandelt?
$ echo ~
/home/tim
$ echo ..
..
$ echo .
.
~
wird in das Verzeichnis erweitert, die anderen beiden jedoch nicht.- Die anderen beiden sind buchstäblich erweitert, aber
~
nicht.
~
ist kein Verzeichnis, es ist ein Konstrukt Ihrer Shell und existiert nicht wirklich..
ist auch nicht (der Name) eines Verzeichnisses, sondern~
bezieht sich auf Ihr Ausgangsverzeichnis, wie.
auf das aktuelle Verzeichnis und..
auf das übergeordnete Verzeichnis.Antworten:
~
ist ein spezieller Name, der von der Shell erweitert wird,.
und..
es handelt sich um echte richtige Verzeichnisnamen, sodass die Shell dort keine Erweiterung vornimmt.quelle
ls -a
und Sie sehen die Verzeichnisse.
und..
. Der einzige Grund, warum sie normalerweise nicht angezeigt werden, ist, dass alles, was mit beginnt,.
standardmäßig ausgeblendet ist.ls -ld '~'
Gibt einen Fehler aus (es sei denn,~
im aktuellen Verzeichnis befindet sich eine Verzeichnisdatei), währendls -ld '.'
Informationen zum aktuellen Verzeichnis angezeigt werden..
es sich um eine feste Verbindung zum aktuellen Verzeichnis und..
um eine feste Verbindung zum übergeordneten Verzeichnis des aktuellen Verzeichnisses handelt..
ist kein Verzeichnisname, es sei denn, Sie gebenmkdir '.'