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

Linux – Ist der Schrägstrich (/) Teil des Namens des Linux-Root-Verzeichnisses?

Ist der Schrägstrich (/ ) wirklich Teil des Namens des Linux-Stammverzeichnisses? Oder ist es nur ein Symbol dafür?

Was ist mit /etc und so weiter?

Aktualisieren

Angenommen /dev/sda2 ist das Blockgerät eines Linux-Stammverzeichnisses.

$ sudo debugfs /dev/sda2
debugfs 1.44.1 (24-Mar-2018)
debugfs:  pwd
[pwd]   INODE:      2  PATH: /
[root]  INODE:      2  PATH: /
debugfs:  stat /
Inode: 2   Type: directory    Mode:  0755   Flags: 0x80000
Generation: 0    Version: 0x00000000:00000077
User:     0   Group:     0   Project:     0   Size: 4096
File ACL: 0
Links: 25   Blockcount: 8
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x5b13c9f1:3f017990 -- Sun Jun  3 15:28:57 2018
 atime: 0x5b13ca0f:3b3ee380 -- Sun Jun  3 15:29:27 2018
 mtime: 0x5b13c9f1:3f017990 -- Sun Jun  3 15:28:57 2018
crtime: 0x5aad1843:00000000 -- Sat Mar 17 16:59:39 2018
Size of extra inode fields: 32
EXTENTS:
(0):9249

Da ist also ein Verzeichnis drin, Inode #2, aber es hat keinen Namen.

Akzeptierte Antwort:

Der POSIX.1-2008-Standard sagt

Ein Pfadname, der aus einem einzelnen / besteht soll in das Stammverzeichnis
des Prozesses aufgelöst werden. Ein Null-Pfadname wird nicht erfolgreich
aufgelöst.

Der Standard unterscheidet außerdem zwischen Dateinamen und Pfadnamen . / ist der Pfadname für den Pfad des Stammverzeichnisses. Der Name des Verzeichnisses ist „das Stammverzeichnis“, aber im Dateisystem ist es namenlos, es hat keinen Dateinamen. Wenn es einen Dateinamen hätte, wäre dieser Name ein Verzeichniseintrag im Verzeichnis über dem Stammverzeichnis, und es gibt kein solches Verzeichnis.

Das Zeichen / kann niemals Teil eines Dateinamens sein, da es das Pfadtrennzeichen ist.

Zur Verdeutlichung:/ ist nicht der Name des Stammverzeichnisses, sondern der Pfad dazu der Pfadname .

/etc ist ein anderer Pfadname. Es ist der Name des absoluten Pfads zum etc Verzeichnis. Der Name des Verzeichnisses in diesem Pfad ist etc (Ihr Dateiname ist etc ).

/usr/local/bin/curl ist der Pfadname von curl ausführbare Datei genauso wie /etc ist der Pfadname von etc Verzeichnis.


Linux
  1. Das Namensspiel:Benennen von Netzwerkschnittstellen in Linux

  2. Linux – Warum wird das Root-Verzeichnis mit einem / -Zeichen gekennzeichnet?

  3. Linux – Wie überprüft man die Verzeichnisstrukturinformationen einer Unix/Linux-Datei?

  4. Verständnis der rc-Skripte in Linux

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

So erhalten Sie die Größe eines Verzeichnisses in Linux

So ermitteln Sie die Gesamtgröße eines Verzeichnisses in Linux

So ändern Sie das Root-Passwort unter Linux

Der Linux-Befehl zum Suchen des Verzeichnisses:Erklärt

So ändern Sie den Hostnamen unter Debian Linux

Linux /-Ordner und /root-Ordner