GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Was bedeutet // in einem Pfad?

Ich habe in meinem Terminal gearbeitet, als ich cd falsch geschrieben habe zum Rooten (/ ). Aus Versehen habe ich // eingegeben und ich kam ins Terminal:

[email protected]://#

Wenn ich pwd eingebe , bekomme ich die Antwort // aber wenn ich ls -s eingebe Ich habe dieselbe Liste wie in / Verzeichnis.

Wenn Sie mehr als 2 eingeben, d. h. /// Sie erhalten:

[email protected]:/#

Immer 1 / außer 2. Gibt es einen Unterschied und was ist // für?

Beste Antwort

/ entspricht //

Aus der POSIX-Spezifikation (Hervorhebung hinzugefügt):

3.267 Pfadname

Eine Zeichenfolge, die zum Identifizieren einer Datei verwendet wird. Im Kontext von
POSIX.1-2008 kann ein Pfadname auf {PATH_MAX} Bytes beschränkt sein, einschließlich
des abschließenden Nullbytes. Es hat einen optionalen Anfang <slash> Zeichen, gefolgt von null oder mehr Dateinamen, getrennt durch <slash> Figuren. Ein Pfadname kann optional einen oder mehrere nachgestellte <slash> enthalten Figuren. Mehrere aufeinanderfolgende <slash> Zeichen gelten
als identisch mit einem <slash> , außer im Fall von
genau zwei führenden <slash> Zeichen.

Und:

4.12 Auflösung von Pfadnamen


Ein Pfadname, der aus einem einzelnen <slash> besteht soll in das Stammverzeichnis
des Prozesses aufgelöst werden. Ein Null-Pfadname darf nicht erfolgreich
aufgelöst werden. Wenn ein Pfadname mit zwei aufeinanderfolgenden <slash> beginnt Zeichen,
die erste Komponente nach dem führenden <slash> Zeichen können
implementierungsdefiniert interpretiert werden, obwohl mehr als
zwei führende <slash> Zeichen werden als einzelner <slash> behandelt Charakter.

Für eine nette Diskussion über Ausnahmen (Cygwin und Verzeichnisse) siehe:Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?


Ubuntu
  1. Was bedeutet diese Warnung?

  2. Was bedeutet rc in Punktdateien

  3. Was bedeutet #define X X?

  4. Was bedeutet \b in einem Grep-Muster?

  5. Was bedeutet ./ (Punkt-Schrägstrich) unter Linux?

Was bedeutet chmod 777

Was bedeutet Cat-Befehl unter Linux?

Was bedeutet „–“ (Doppelstrich)?

Was bedeutet es, „sh-kompatibel“ zu sein?

Keine X11-DISPLAY-Variable - was bedeutet das?

Was bedeutet NT_STATUS_BAD_NETWORK_NAME in Samba?