Wenn Sie mit Linux auch nur annähernd vertraut sind, haben Sie vielleicht die Begriffe root, lib, bin usw. gehört. Dies sind verschiedene Verzeichnisse, die Sie in allen Linux-Distributionen finden.
Tatsächlich unterhält die Linux Foundation einen Filesystem Hierarchy Standard (FHS). Dieser FHS definiert die Verzeichnisstruktur und den Inhalt/Zweck der Verzeichnisse in Linux-Distributionen. Dank dieser FHS finden Sie in (fast) allen Linux-Distributionen die gleiche Verzeichnisstruktur.
Sehen wir uns die Linux-Verzeichnisstruktur im Detail an.
Linux-Verzeichnisstruktur
Linux basiert auf UNIX und entlehnt daher seine Dateisystemhierarchie von UNIX. Sie werden eine ähnliche Verzeichnisstruktur in UNIX-ähnlichen Betriebssystemen wie BSD und macOS finden. Ich werde im Folgenden jedoch den Begriff Linux anstelle von UNIX verwenden.
/ – Das Stammverzeichnis
Alles, alle Dateien und Verzeichnisse, befinden sich in Linux unter „root“, dargestellt durch „/“. Wenn Sie sich die Verzeichnisstruktur ansehen, werden Sie feststellen, dass sie dem Stamm einer Pflanze ähnelt.
Da alle anderen Verzeichnisse oder Dateien von root abstammen, wird der absolute Pfad jeder Datei durch root durchlaufen. Wenn Sie beispielsweise eine Datei in /home/user/documents haben, können Sie vermuten, dass die Verzeichnisstruktur von root->home->user->documents.
gehtDas grausame rm -rf / joke
Möglicherweise sind Sie im Internet auf einige Witze gestoßen, in denen „rm -rf /“ erwähnt wird. Der Befehl rm wird zum Entfernen von Dateien und Verzeichnissen in Linux verwendet.
Mit rm -rf / fordern Sie Ihr System auf, den Inhalt des Root-Verzeichnisses zwangsweise und rekursiv zu löschen. Da das Stammverzeichnis alles darunter hat, löschen Sie am Ende alles und Ihr Linux-System verschwindet (theoretisch).
Die meisten Linux-Distributionen führen diesen Befehl nicht aus, es sei denn, Sie geben –no-preserve-root an. Seien Sie auf keinen Fall neugierig, diesen Befehl auszuführen. Neugier tötete schließlich die Katze.
/bin – Binärdateien
Das ‚/bin‘ enthält direkt die ausführbaren Dateien vieler grundlegender Shell-Befehle wie ls, cp, cd usw. Meistens sind die Programme hier im Binärformat und für alle Benutzer im Linux-System zugänglich.
/dev – Gerätedateien
Dieses Verzeichnis enthält nur spezielle Dateien, auch solche, die sich auf die Geräte beziehen. Dies sind virtuelle Dateien, nicht physisch auf der Festplatte.
Einige interessante Beispiele für diese Dateien sind:
- /dev/null:kann gesendet werden, um jede Datei oder jeden String zu zerstören
- /dev/zero:enthält eine unendliche Folge von 0
- /dev/random:enthält eine unendliche Folge von Zufallswerten
/etc – Konfigurationsdateien
Das Verzeichnis /etc enthält die zentralen Konfigurationsdateien des Systems, die hauptsächlich vom Administrator und von Diensten verwendet werden, wie z. B. die Kennwortdatei und Netzwerkdateien.
Wenn Sie Änderungen an der Systemkonfiguration vornehmen müssen (z. B. den Hostnamen ändern), finden Sie hier die entsprechenden Dateien.
/usr – Benutzerbinärdateien und Programmdaten
in ‚/usr‘ gehen alle ausführbaren Dateien, Bibliotheken, Quellen der meisten Systemprogramme. Aus diesem Grund sind die meisten darin enthaltenen Dateien schreibgeschützt (für den normalen Benutzer)
- ‘/usr/bin’ enthält grundlegende Benutzerbefehle
- ‚/usr/sbin‘ enthält zusätzliche Befehle für den Administrator
- ‚/usr/lib‘ enthält die Systembibliotheken
- ‚/usr/share‘ enthält Dokumentation oder ist allen Bibliotheken gemeinsam, zum Beispiel enthält ‚/usr/share/man‘ den Text der Manpage
/home – Persönliche Benutzerdaten
Home-Verzeichnis enthält persönliche Verzeichnisse für die Benutzer. Das Home-Verzeichnis enthält die Benutzerdaten und benutzerspezifische Konfigurationsdateien. Als Benutzer legen Sie Ihre persönlichen Dateien, Notizen, Programme usw. in Ihrem Home-Verzeichnis ab.
Wenn Sie einen Benutzer auf Ihrem Linux-System erstellen, ist es üblich, ein Home-Verzeichnis für den Benutzer zu erstellen. Angenommen, Ihr Linux-System hat zwei Benutzer, Alice und Bob. Sie haben ein eigenes Home-Verzeichnis an den Orten /home/alice und /home/bob.
Beachten Sie, dass Bob keinen Zugriff auf /home/alice hat und umgekehrt. Das ist sinnvoll, da nur der Benutzer Zugriff auf sein Zuhause haben soll. Sie können über Dateiberechtigungen in Linux lesen, um mehr zu diesem Thema zu erfahren.
/lib – Gemeinsam genutzte Bibliotheken
Bibliotheken sind im Grunde Codes, die von den ausführbaren Binärdateien verwendet werden können. Das Verzeichnis /lib enthält die Bibliotheken, die von den Binärdateien in den Verzeichnissen /bin und /sbin benötigt werden.
Bibliotheken, die von den Binärdateien in /usr/bin und /usr/sbin benötigt werden, befinden sich im Verzeichnis /usr/lib.
/sbin – Systembinärdateien
Dies ähnelt dem /bin-Verzeichnis. Der einzige Unterschied besteht darin, dass es die Binärdateien enthält, die nur von root oder einem sudo-Benutzer ausgeführt werden können. Sie können sich das „s“ in „sbin“ als super oder sudo vorstellen.
/tmp – Temporäre Dateien
Wie der Name schon sagt, enthält dieses Verzeichnis temporäre Dateien. Viele Anwendungen verwenden dieses Verzeichnis, um temporäre Dateien zu speichern. Sie können sogar Verzeichnisse verwenden, um temporäre Dateien zu speichern.
Beachten Sie jedoch, dass die Inhalte der /tmp-Verzeichnisse gelöscht werden, wenn Ihr System neu gestartet wird. Einige Linux-Systeme löschen auch alte Dateien automatisch, also speichern Sie hier nichts Wichtiges.
/var – Variable Datendateien
Var, kurz für Variable, ist der Ort, an dem Programme Laufzeitinformationen wie Systemprotokollierung, Benutzerverfolgung, Caches und andere Dateien speichern, die von Systemprogrammen erstellt und verwaltet werden.
Die hier gespeicherten Dateien werden NICHT automatisch bereinigt und bieten Systemadministratoren daher einen guten Ort, um nach Informationen über ihr Systemverhalten zu suchen. Wenn Sie beispielsweise den Anmeldeverlauf in Ihrem Linux-System überprüfen möchten, überprüfen Sie einfach den Inhalt der Datei in /var/log/wtmp.
/boot – Boot-Dateien
Das Verzeichnis „/boot“ enthält neben LILO und Grub auch die Dateien des Kernels und des Boot-Images. Es ist oft ratsam, dass sich das Verzeichnis in einer Partition am Anfang der Disc befindet.
/proc – Prozess- und Kerneldateien
Das Verzeichnis „/proc“ enthält die Informationen über aktuell laufende Prozesse und Kernelparameter. Der Inhalt des proc-Verzeichnisses wird von einer Reihe von Tools verwendet, um Informationen zum Laufzeitsystem zu erhalten.
Wenn Sie beispielsweise Prozessorinformationen unter Linux überprüfen möchten, können Sie einfach auf die Datei /proc/cpuinfo verweisen. Sie möchten die Speichernutzung Ihres Linux-Systems überprüfen, sehen Sie sich einfach den Inhalt der Datei /proc/meminfo an.
/opt – Optionale Software
Traditionell wird das /opt-Verzeichnis zum Installieren/Speichern der Dateien von Anwendungen von Drittanbietern verwendet, die nicht im Repository der Distribution verfügbar sind.
Die übliche Vorgehensweise besteht darin, den Softwarecode in opt zu belassen und dann die Binärdatei im /bin-Verzeichnis zu verknüpfen, damit alle Benutzer sie ausführen können.
/root – Das Home-Verzeichnis der Wurzel
Es gibt auch ein /root-Verzeichnis, das als Home-Verzeichnis des Root-Benutzers fungiert. Anstelle von /home/root befindet sich die Heimat von root also unter /root. Verwechseln Sie es nicht mit dem Root-Verzeichnis (/).
/media – Einhängepunkt für Wechselmedien
Wenn Sie ein Wechselmedium wie USB-Festplatte, SD-Karte oder DVD anschließen, wird automatisch ein Verzeichnis unter dem /media-Verzeichnis für sie erstellt. Von diesem Verzeichnis aus können Sie auf den Inhalt des Wechselmediums zugreifen.
/mnt – Mount-Verzeichnis
Dies ähnelt dem /media-Verzeichnis, aber anstatt das Wechselmedium automatisch zu mounten, wird mnt von Systemadministratoren verwendet, um ein Dateisystem manuell zu mounten.
/srv – Dienstdaten
Das /srv-Verzeichnis enthält Daten für vom System bereitgestellte Dienste. Wenn Sie beispielsweise einen HTTP-Server betreiben, empfiehlt es sich, die Website-Daten im Verzeichnis /srv zu speichern.
Ich denke, diese vielen Informationen reichen aus, um die Linux-Verzeichnisstruktur und ihre Verwendung zu verstehen.
Am Ende können Sie, wenn Sie möchten, dieses Bild herunterladen und speichern, um schnell auf die Verzeichnisstruktur in Linux-Systemen zugreifen zu können.