Was ist der Unterschied zwischen cd /
und cd //
? Wir sehen, dass das Hinzufügen /
am Ende nichts bewirkt. Aber wenn ich cd //
und hinzufüge pwd
, finde ich:
$ cd //
$ pwd
//
Was ist der Unterschied zwischen /
und //
? Ein ls
zeigt in beiden Verzeichnissen den gleichen Inhalt. Warum ist //
das nötig?
Antwort1
/
und //
verweisen auf dasselbe Verzeichnis. SieheWiederholte Schrägstriche in einem Pfad entsprechen einem einzelnen Schrägstrich
Dieses Verhalten wird von POSIX vorgeschrieben und die meisten Anwendungen folgen diesem Beispiel. Die Ausnahme ist, dass „ein Pfadname, der mit zwei aufeinanderfolgenden Schrägstrichen beginnt, auf eine implementierungsdefinierte Weise interpretiert werden kann“.
Was Sie sehen, ist tatsächlich nicht, dass Linux mit der
//
aktuellen Verzeichnisverfolgung seiner Bash irgendetwas Besonderes macht.
$ bash -c 'cd //; pwd'
//
$ bash -c 'cd //; /bin/pwd'
/