Wenn Sie hierher gekommen sind, weil Sie die Struktur von Linux-Verzeichnissen untersuchen möchten, die wir in den verschiedenen GNU / Linux-Distributionen verallgemeinert finden. In diesem Tutorial sammeln wir den Verzeichnisbaum im Detail und erklären gleichzeitig dessen Inhalt und Funktion .
Es handelt sich nicht um ein technisches Tutorial, in dem wir uns eingehender mit allen Details befassen, sondern es besteht aus einer kleinen Anleitung, in der wir einfache und prägnante Erklärungen für neue und fortgeschrittene Benutzer abgeben.
Anfangs sollte es sich um einen kurzen Artikel handeln, doch da einige Ordner zu erklären sind, war ein Artikel etwas umfangreicher als erwartet. Hier haben Sie einen kleinen Inhaltsindex, den Sie nicht verpassen sollten:
- Was ist der Filesystem Hierarchy Standard oder FHS?
- Hauptverzeichnisse in Linux: Inhalt und Funktionen.
- Zu beenden
Was ist der Filesystem Hierarchy Standard oder FHS?
Der Filesystem Hierarchy Standard ist auch unter der Abkürzung FHS bekannt und besteht aus einem Standard, der die Hierarchie des Dateisystems in Unix und abgeleiteten Systemen definiert und normalisiert . Mit anderen Worten, dieser Standard sagt uns, wie die Verzeichnisstruktur sein sollte, und definiert die Namen und den Inhalt jedes Verzeichnisses.
Der FHS-Standard wurde von der Linux-Stiftung erstellt, und es gibt Distributionen, die strikt folgen, und andere, die nicht so streng sind. Es gibt auch Linux-Distributionen, die dieser Struktur nicht folgen und die Dateisystemhierarchie neu definieren, zum Beispiel GoboLinux.
Warum gibt es den FHS-Standard? Was sind die Vorteile, wenn man ihm folgt?
Durch eine standardisierte Hierarchie des Verzeichnisbaums stellen wir sicher, dass Programme und Skripte auf verschiedenen Betriebssystemen funktionieren. Darüber hinaus können Anwendungen und Benutzer den Speicherort von Programmen, Bibliotheken, Dokumentationen usw. vorhersagen.
Dieser Standard ermöglicht die Definition der Grundprinzipien der Verzeichnisstruktur unter Angabe der minimal erforderlichen Verzeichnisse und Dateien.
Unterscheidung der Dateitypen nach FHS.
Der FHS-Standard unterteilt Dateien in:
- Statisch und variabel : Diese Klassifizierung unterscheidet Verzeichnisse, die Dateien enthalten, die sich nicht über die Zeit ändern, die sogenannten statischen. Andererseits werden diejenigen, die im Laufe der Zeit Veränderungen erleiden, als Variablen bezeichnet.
- Gemeinsam nutzbar und nicht gemeinsam nutzbar : Mit dieser Klassifizierung können Sie gemeinsam nutzbare Verzeichnisse unterscheiden, die Dateien enthalten, die auf anderen Geräten verwendet werden können. Auf der anderen Seite befinden sich die nicht gemeinsam nutzbaren Verzeichnisse, die nur auf dem aktuellen Gerät verwendet werden können.
Ein Beispiel für eine Struktur, die die oben genannten Anforderungen erfüllt:
Hauptverzeichnisse in Linux: Inhalt und Funktionen.
Nachdem wir gesehen haben, dass das Ziel von FHS darin besteht, eine Verzeichnisstruktur zu definieren und zu normalisieren, werde ich eine Liste der Hauptverzeichnisse in Linux anzeigen, in der ich den Inhalt und die Funktionen der einzelnen Verzeichnisse angeben werde.
Das Stammverzeichnis /.
Unter UNIX-Betriebssystemen beginnt jede Verzeichnisstruktur mit einem Stammverzeichnis , das normalerweise durch das Zeichen /
. Dieses Stammverzeichnis fungiert als Einhängepunkt und aus diesem werden die restlichen Verzeichnisse und Unterverzeichnisse des Baums geboren.
Um den Inhalt des Stammverzeichnisses anzuzeigen, können Sie den Befehl ls -la /
.
Das Stammverzeichnis muss die folgenden Ordner enthalten:
Verzeichnis / bin: Wichtige Befehls-Binärdateien auf Benutzerebene.
Alle wesentlichen Befehls-Binärdateien, die von Benutzern und vom Systemadministrator verwendet werden können, sind im Verzeichnis / bin gespeichert. Mit anderen Worten, in diesem Ordner finden Sie die erforderlichen Tools, um das Betriebssystem auf Benutzerebene zu verwenden.
Das Verzeichnis /bin
darf keine Unterverzeichnisse enthalten . Die in /bin
erforderlichen Tools oder Befehle sind: cat, chgrp, chmod, chown, cp, date, dd, df, dmesg, echo, false, hostname, kill, ln, login, ls, mkdir, mknod, more, mount, mv, ps, pwd, rm, rmdir, sed, sh, stty, su, sync, true, umount und mach mit .
Mit diesen wichtigen Tools können wir das Betriebssystem verwenden und das System bei Bedarf wiederherstellen.
/ boot den Bootloader-Ordner.
Im Verzeichnis / boot ist alles gespeichert, was Sie zum Booten des Betriebssystems benötigen. Alle Daten in diesem Ordner werden verwendet, bevor der Kernel die verschiedenen Module und Systemprozesse ausführt.
In diesem Ordner finden Sie häufig den GRUB-Bootloader und die verschiedenen Versionen des installierten Linux-Kernels . In einigen Konfigurationen befindet sich das Verzeichnis /boot
auf einer anderen Partition.
Verzeichnis / dev.
Im Verzeichnis / dev finden wir die Dateien der Geräte, die mit dem System verbunden sind. Auf Festplatten und Betriebssystempartitionen befinden sich beispielsweise die entsprechenden Dateien in diesem Ordner.
Sie können versuchen, den Befehl sudo fdisk -l
auszuführen, der die im System vorhandenen Partitionen anzeigt. In den Ausgabeinformationen des Befehls sehen Sie, dass in der Spalte “Gerät” auf die Dateien /dev/sda
jeder Partition verwiesen wird. In meinem Fall ist die Ausgabe:
Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 39845887 39843840 19G 83 Linux /dev/sda2 39847934 41940991 2093058 1022M 5 Extended /dev/sda5 39847936 41940991 2093056 1022M 82 Linux swap / Solaris
Wenn wir ein externes Speichergerät anschließen, hat die Datei, die wir mit dem Befehl fdisk -l
und die auf dieses Gerät verweist, einen ähnlichen Namen wie /dev/sdb
.
/ etc ist das Verzeichnis der Konfigurationsdateien.
Das Verzeichnis / etc ist eines der bekanntesten, in diesem finden wir die Konfigurationsdateien der betriebssystemeigenen Programme und der vom Benutzer installierten Programme.
In diesem Verzeichnis befinden sich normalerweise die Apache-Serverkonfigurationsdateien , von denen wir bereits mehrmals gesprochen haben. Wir finden auch die berühmte passwd
Datei, in der die Informationen der Benutzer des Systems gespeichert sind.
Um die FHS-Anforderungen zu erfüllen, darf der Ordner /etc
keine Binärdateien enthalten .
Verzeichnis / home.
Im Verzeichnis / home werden die persönlichen Dateien aller Benutzer gespeichert. Jeder Benutzer hat einen eigenen Ordner im Verzeichnis /home
. Wenn es zum Beispiel Benutzer Juan, Manuel und Zeokat gibt, haben sie ihre jeweiligen persönlichen Ordner in den Verzeichnissen:
/home/Juan /home/Manuel /home/Zeokat
In der FHS-Spezifikation wird das Verzeichnis /home
nicht erwähnt, obwohl es in praktisch allen Linux-Distributionen vorhanden ist. In diesen Ordnern werden Dateien wie Fotos, Videos, Dokumente, benutzerdefinierte Benutzereinstellungen usw. gespeichert.
In den meisten Linux-Distributionen können wir auf das persönliche Verzeichnis des aktiven Benutzers mit dem Symbol ~
verweisen . Wenn mein Benutzer beispielsweise Zeokat ist, kann ich überprüfen, ls -la /home/Zeokat
ls -la ~
und ls -la /home/Zeokat
äquivalent sind.
In einigen benutzerdefinierten Konfigurationen der Verzeichnisstruktur wird das Verzeichnis /home
in einer separaten Partition abgelegt. Im Falle eines Systemausfalls und wenn wir ihn wiederherstellen müssen, bleiben die persönlichen Dateien des Home-Verzeichnisses intakt.
Verzeichnis / lib.
Das Verzeichnis / lib soll alle wichtigen Bibliotheken zum Booten des Betriebssystems und zum Funktionieren der Binärdateien der Ordner / bin und / sbin speichern. In diesem Ordner befinden sich auch Kernelmodule.
Wenn ein Betriebssystem unter der 64-Bit-Architektur ausgeführt wird , ist das Verzeichnis /lib64
, um die spezifischen Bibliotheken dieser Architektur zu speichern.
Inhalt des Ordners / lost + found.
Dieser Ordner ist nicht in der FHS-Spezifikation enthalten, aber heute ist es sehr verbreitet, ihn im Stammverzeichnis zu finden. Wir werden daher erläutern, wozu er dient. Im Ordner / lost + found befinden sich die Dateien und Ordner, die nach dem Ausführen des fsck-Tools wiederhergestellt wurden.
Die Dateien werden in diesem Ordner gespeichert, da es sich um Daten handelt, die einen Namen und einen Speicherort hatten, aber verloren gingen. Der Inhalt dieser Dateien ist möglicherweise beschädigt oder unvollständig, aber manchmal können wir wichtige Daten wiederherstellen.
Ordner / Medien
Das Verzeichnis / media dient als Einhängepunkt für Wechselmedien (USB-Sticks, externe Festplatten usw.) . Dies sind Geräte, die vorübergehend montiert werden. In diesem Verzeichnis wird normalerweise ein Unterverzeichnis mit dem Namen des Benutzers erstellt, der das Wechselmedium angeschlossen hat.
Verzeichnis / mnt.
Es ist ein leeres Verzeichnis, das als Einhängepunkt für temporäre Dateisysteme dient. Wenn wir die obige Beschreibung lesen, können wir annehmen, dass es dasselbe ist wie das Verzeichnis /media
und dass sie tatsächlich ähnlich sind, aber nicht dasselbe.
Der Hauptunterschied zwischen dem Verzeichnis / media und / mnt besteht darin, dass das erste Verzeichnis automatisch vom System verwendet wird, während das Verzeichnis / mnt normalerweise vom Systemadministrator zum temporären Mounten von Dateisystemen verwendet wird.
/ opt.
Es ist ein Verzeichnis, in dem zusätzliche Softwarepakete gespeichert sind. Diese Pakete sind bereits mit einer Verzeichnisstruktur vorinstalliert , die nicht den von UNIX festgelegten Standards entspricht.
Es gibt viele Artikel, die dem Ordner /opt
mit dem Ordner “Programme” in Windows ähneln. In diesem Ordner finden Sie alle Pakete oder Anwendungen, die durch ein Unterverzeichnis dargestellt werden.
Die in / opt installierten Anwendungen gelten als eigenständig, da jedes Paket alle Dateien und Bibliotheken enthält, die für die Funktion benötigt werden. Dies hat den Nachteil, dass durch das Duplizieren von Bibliotheken und anderen Dateien Speicherplatz verschwendet werden kann. Andererseits bietet es den Vorteil, dass das manuelle Entfernen oder Installieren eines Programms sehr einfach ist, obwohl es bei aktuellen Paketmanagern keine Entschuldigung gibt.
/ proc.
Im Verzeichnis / proc finden wir Dateien und Ordner, in denen wir Informationen zum Betriebssystem und zu laufenden Prozessen finden. Das gesamte Dateisystem dieses Ordners ist virtuell. Es wird vom Kernel selbst im Speicher erstellt, sodass es physisch nicht auf der Festplatte vorhanden ist .
/ root
Im Ordner / root finden wir das spezifische Verzeichnis des Root-Benutzers oder Super-Benutzers des Systems. Wir können es mit dem Verzeichnis /home
abgleichen, aber in diesem Fall ist es speziell für den Root-Benutzer konzipiert.
Ich laufe
Im Ordner / run finden wir Dateien, die sich auf ausgeführte oder laufende Prozesse beziehen. In aktuellen Systemen ersetzt der Ordner /var/run
das in der Vergangenheit verwendete /var/run
.
/ sbin.
Dieses Verzeichnis / sbin enthält alle Binärdateien der Superuser-Tools für die Systemverwaltung. Um auf diese Tools zugreifen zu können, müssen wir als Root-Benutzer identifiziert werden.
Mit den in diesem Ordner verfügbaren Befehlen können wir wichtige Aspekte wie das Booten des Betriebssystems, die Wiederherstellung von Dateien, die Reparatur des Systems usw. verwalten.
/ srv.
Im Ordner / srv finden wir die Daten, die vom System bereitgestellt werden können. Wenn beispielsweise ein Servertyp (Web, FTP, DNS, E-Mail usw.) installiert ist, können Daten aus einem eigenen Ordner in /srv
.
/ sys.
Das Verzeichnis / sys kann als Weiterentwicklung des Verzeichnisses / proc angesehen werden, da der Inhalt ähnlich ist, dh Informationen über das System und seine Prozesse. In diesem Ordner /sys
auch ein virtuelles Dateisystem namens sysfs verwendet , das Informationen geordneter darstellt als sein Vorgänger /proc
.
/ tmp.
Wie wir aus dem Namen ableiten können, werden Dateien vorübergehend im Ordner / tmp gespeichert. Wir können nicht davon ausgehen, dass die in diesem Ordner gespeicherten Dateien in kürzester Zeit gespeichert werden, egal wie kurz sie sind.
Die allgemeine Empfehlung lautet, dass die Dateien in diesem Ordner bei jedem Systemneustart automatisch gelöscht werden.
/ usr.
Das Verzeichnis / usr hat seinen Namen von der Abkürzung in English User System Resources . In diesem Ordner finden Sie schreibgeschützte Dateien, die den Befehlen und Anwenderprogrammen entsprechen .
Wenn wir ein Programm über einen Paketmanager installieren, wird es normalerweise in einem Unterverzeichnis dieses Ordners installiert. Die erforderlichen Unterverzeichnisse sind:
/ var.
Im Verzeichnis / var finden Sie Informationen zum Betriebssystem und seinen Programmen. Beispielsweise können wir Statistiken, Aktionsprotokolldateien, Fehlerprotokolldateien, Cache-Dateien usw. finden. Die Dateien im Ordner /var
enthalten variable Daten und können manchmal sogar vorübergehend gespeichert werden.
Wenn wir ein Problem mit einer Anwendung haben, ist es normalerweise sehr hilfreich, in diesen Ordner nach Fehlerprotokollen zu suchen.
Zu beenden
Am Ende habe ich mehr erweitert, als ich beabsichtigt hatte, aber ich denke, ich habe deutlich gemacht, wie die verschiedenen Ordner unter Linux-Betriebssystemen organisiert sind . Wenn ich zu irgendeinem Zeitpunkt nicht klar genug war oder Sie einen Fehler entdecken, bitte ich Sie, mich zu informieren.
Denken Sie daran, dass die in diesem Artikel gezeigten Verzeichnisse am häufigsten vorkommen und in einigen Distributionen auch anders organisiert werden können. Beispielsweise wurde in Ubuntu kürzlich der Ordner /snap
hinzugefügt, in dem alle verteilten Anwendungen als Snap-Pakete installiert sind.