Wenn Sie darüber nachgedacht haben, Linux genauer unter die Lupe zu nehmen, sich aber von den Schrägstrichen, Punkten, Wurzeln, Mounts und Terminal-Verrücktheiten abschrecken lassen, erklärt diese Einführung in die Linux-Dateisystemstruktur alles aus einer DOS/Windows-Perspektive. Die einzige Annahme, die ich gemacht habe, ist, dass Sie mit dem Windows-Dateisystem-Layout sowie einigen DOS- oder Befehls- (CMD
) Fensternavigation. Sie werden feststellen, dass sich Linux in vielerlei Hinsicht nicht so sehr von Windows unterscheidet. Wir werden nicht einmal darauf eingehen, wer was von wem gestohlen hat, weil es offensichtlich ist, dass Inspiration von vielen Seiten kommt.
Nur damit das klar ist, ich weiß, dass Windows nicht mehr auf DOS basiert. Aber sowohl Linux als auch Windows haben eine Befehlszeilenschnittstelle (CLI) und nennen sie nicht CMD
, Befehlsfenster oder etwas anderes, ist es einfacher, den Legacy-Begriff DOS für die Windows-Befehlszeilenschnittstelle zu verwenden. Ich verwende auch die Begriffe Dateisystem und Dateisystemstruktur synonym. Worauf ich mich beziehe, ist das Layout von Dateien, Verzeichnissen, Konfigurationen, Paging und so weiter und nicht die Bit-Level-Formatierung des Dateisystems wie zum Beispiel NTFS oder XFS.
Erstens haben sowohl Linux als auch Windows (und Mac) ein hierarchisches Dateisystem-Layout, was bedeutet, dass es ein einziges "Stammverzeichnis" gibt und alle anderen Verzeichnisse davon abzweigen. In Windows werden Ihre Stammverzeichnisse mit Buchstaben gekennzeichnet, wie z. B. C:
oder D:
. Windows kann viele Root-Verzeichnisse haben. In Linux wird das Root-Verzeichnis als /
bezeichnet und es gibt nur ein Root-Verzeichnis pro Linux-Computer. Einige Referenzen nennen dieses Layout eine "Baumstruktur":Wenn alle Verzeichnisse und Unterverzeichnisse erweitert sind, ist die visuelle Referenz ein umgekehrter Baum.
Vergleichen Sie die beiden folgenden Layouts. Auf der linken Seite befindet sich Red Hat Enterprise Linux 8 und auf der rechten Seite Microsoft Windows Server 2012 R2. Beachten Sie die Ähnlichkeiten und Unterschiede zwischen den beiden:
[Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.]
Linux hat mehrere Verzeichnisse unter root (/
), während Windows relativ wenige hat. Dies liegt daran, dass Windows alles außer Anwendungen unter C:\Windows
speichert Verzeichnis. Anwendungen befinden sich entweder in den Program Files
oder die Program Files (x86)
Verzeichnisse. Linux speichert seine Anwendungen unter /usr
Verzeichnis. Das Linux /home
Verzeichnis entspricht dem Windows C:\Users
Verzeichnis.
Die folgende Tabelle zeigt wichtige Linux-Verzeichnisse und ihre Funktionen (das -> ist ein symbolischer Link oder Shortcut in der Windows-Terminologie):
Verzeichnis | Zweck |
---|---|
bin -> /usr/bin | Verzeichnis mit Benutzer-Binärdateien. |
boot | Verzeichnis mit Bootloader-Dateien. |
dev | Verzeichnis mit Gerätedateien. |
etc | Verzeichnis mit Konfigurationsdateien. |
home | Verzeichnis mit Home-Verzeichnissen der Benutzer. |
lib -> /usr/lib | Verzeichnis mit Systembibliotheken. |
lib64 -> /usr/lib64 | Verzeichnis mit 64-Bit-Systembibliotheken. |
media | Wo DVDs und Wechseldatenträger automatisch gemountet werden. |
mnt | Verzeichnis, das zum temporären Mounten von entfernten Dateisystemen und anderen Medien verwendet wird. |
opt | Verzeichnis, in dem Software von Drittanbietern installiert ist. |
proc | Verzeichnis mit Systemprozessinformationen. |
root | Das Home-Verzeichnis des Root-Benutzers. |
run | Ein Laufzeit-Scratch-Verzeichnis (RAM-basiert). |
sbin -> /usr/sbin | Verzeichnis mit System-Binärdateien. |
srv | Verzeichnis mit Servicedaten. |
sys | Verzeichnis, das Geräte, Kernel-Module, Dateisysteme und andere Informationen zu Kernel-Komponenten enthält. |
tmp | Verzeichnis mit temporären Dateien. |
usr | Verzeichnis mit Benutzerprogrammen. |
var | Verzeichnis mit variablen Dateien wie Protokollen und temporären Dateien. |
Beachten Sie, dass Sie beim Schreiben von Verzeichnisnamen in Linux immer das Stammverzeichnis (/
) und ähnlich haben Sie (C:\
) unter Windows. Es ist wichtig, die Root-Verzeichnisreferenzen auf beiden Betriebssystemen einzuschließen. Unter Linux gibt es beispielsweise Verzeichnisse wie /usr/bin
, /usr/sbin
, und /tmp
. Windows kann mehrere Roots haben, also haben Sie vielleicht C:\Temp
, D:\Temp
, und E:\Temp
auf demselben System. Sie können sehen, dass sich das nur auf tmp
bezieht unter Linux oder Temp
in Windows ist verwirrend und nicht spezifisch genug, um eindeutig auf ein bestimmtes Verzeichnis zu verweisen.
Sie werden auch feststellen, dass die Schrägstriche für Linux Backslashes und Windows Schrägstriche oder "Whacks" sind. Haben Sie sich jemals gefragt, warum Backslash ein Wort ist, aber Forward Slash zwei? Unter Linux ist der Backslash ein Operator, der bedeutet, das nächste Zeichen zu ignorieren, was Ihren Dateipfad wirklich durcheinander bringen würde. Es gibt also einige Unterschiede, wie Sie mit den beiden Betriebssystemen interagieren, wie Sie navigieren, wo sich Dinge befinden und PATH
Bezeichnungen, aber Sie sehen auch einige Gemeinsamkeiten.
Während Windows Konfigurationsdateien an vielen verschiedenen Orten speichert, befinden sich die meisten von ihnen irgendwo unter C:\Windows
Verzeichnis und seinen Dutzenden von Unterverzeichnissen. Linux verwendet fast ausschließlich den /etc
Verzeichnis für Konfigurationen. Anwendungen unter Linux speichern ihre Konfigurationsdateien oft in ihrem eigenen etc
Unterverzeichnis (Sie sprechen etc
aus als et-see ). Wenn Sie sich in Diskussionen auf /etc
beziehen Verzeichnis, /tmp
, /home
, oder jedes andere Verzeichnis der ersten Ebene, müssen Sie nicht "Slash" sagen. Sagen Sie einfach das Verzeichnis „etc“, „home“ oder „tmp“. Wenn Sie sich auf ein Unterverzeichnis beziehen, können Sie „usr bin“ (/usr/bin
) sagen ) oder "usr local bin"(/usr/local/bin
). Und usr
wird "Benutzer" ausgesprochen. Es ist ähnlich wie Sie sich auf C:\Windows
beziehen Verzeichnis, indem Sie „das Windows-Verzeichnis“ sagen (C:\Windows
) oder nach C:\Windows\System32
indem Sie "das Windows System32-Verzeichnis" sagen.
Übrigens hat Windows auch einen etc
Verzeichnis, aber es ist gut versteckt in C:\Windows\System32\drivers\etc
. In diesem etc
finden Sie Dateien, die beiden Betriebssystemen gemeinsam sind, wie z. B. hosts
, lmhosts
, protocol
, networks
und services
.
Auf der Kommandozeile navigieren Sie mit cd
durch beide Systeme Befehl. Das einzige, woran Sie sich erinnern müssen, ist, in welche Richtung die Schrägstriche gehen. Wenn Sie zu Linux wechseln, werden Sie feststellen, dass die Navigation von selbst kommt, und die /
Schlüssel ist viel bequemer zu finden als der \
Schlüssel ist. Die Schrägstrichrichtung wird jedoch nicht das größte Problem sein, das Sie haben. Warten Sie einfach, bis Sie ls
eingeben bei C:\>
fragen Sie nach und stellen Sie fest, was Sie getan haben, wenn Sie sehen, dass 'ls' is not recognized as an internal or external command, operable program, or batch file
Error. Geben Sie dir
ein an einer Linux-Eingabeaufforderung ist weitaus weniger traumatisch. Hinweis:dir
ist ein Alias für ls
unter Linux.
Ich denke, Sie werden feststellen, dass das Linux-Dateisystem organisiert, einfach zu navigieren und angenehm zu verwalten ist. In zukünftigen Beiträgen werden wir Linux-Berechtigungen behandeln und Ihnen zeigen, wie leistungsfähig und sicher Linux ist. Konzentrieren Sie sich zunächst darauf, sich mit dem Layout und den Speicherorten wichtiger Dateien und Verzeichnisse vertraut zu machen.