Einführung
Herzlich willkommen zum Lab „Einführung in Linux-Datei- und Verzeichnisoperationen“! Wenn Sie neu in der Linux-Welt sind, keine Sorge – wir begleiten Sie Schritt für Schritt und erklären Ihnen nicht nur, was zu tun ist, sondern auch, warum wir es tun. Dieses Lab ist darauf ausgelegt, Ihnen praktische Erfahrungen mit dem Linux-Dateisystem zu vermitteln, was die absolute Grundlage für die Arbeit mit Linux darstellt.
Bevor wir loslegen, schauen wir uns einige grundlegende Konzepte an:
- Linux-Dateisystem: Stellen Sie sich dies als eine baumartige Struktur vor, die alle Dateien auf Ihrem Computer organisiert. Im Gegensatz zu Windows mit seinen Laufwerksbuchstaben (C:, D: usw.) hat Linux ein einziges Wurzelverzeichnis (Root-Verzeichnis, gekennzeichnet durch
/), von dem aus sich alles andere verzweigt. - Verzeichnis (Directory): Dies ist der Linux-Begriff für das, was Sie in anderen Betriebssystemen vielleicht als „Ordner“ kennen. Es ist ein Container für Dateien und weitere Verzeichnisse.
- Datei (File): In Linux ist fast alles eine Datei! Normale Dokumente, Verzeichnisse und sogar Hardware-Geräte werden als Dateien behandelt. Dieser einheitliche Ansatz vereinfacht viele Abläufe.
- Pfad (Path): Dies ist wie eine Adresse für eine Datei oder ein Verzeichnis. Wir werden absolute Pfade (die im Wurzelverzeichnis beginnen) und relative Pfade (die an Ihrem aktuellen Standort beginnen) kennenlernen.
- Terminal: Dies ist Ihre Kommandozentrale für die Interaktion mit Linux. Es mag anfangs einschüchternd wirken, aber Sie werden schnell feststellen, dass es ein mächtiges Werkzeug zur Systemverwaltung ist.
- Dateisuche: Linux bietet leistungsstarke Werkzeuge, um Dateien im gesamten System zu finden. Wir werden Befehle wie
findundwhicherkunden, mit denen Sie Dateien und ausführbare Programme schnell lokalisieren können.
Bereit für den Start? Beginnen wir unsere Reise in das Linux-Dateisystem!
Die Linux-Verzeichnisstruktur erkunden
In diesem Schritt machen wir einen Rundgang durch das Linux-Dateisystem. Dies wird Ihnen helfen zu verstehen, wo verschiedene Arten von Dateien gespeichert sind und wie das System organisiert ist.
Öffnen Sie Ihr Terminal. Sie sollten eine Eingabeaufforderung (Prompt) sehen, die mit einem
$-Zeichen endet. Hier geben Sie Ihre Befehle ein. Sie befinden sich derzeit in Ihrem Projektverzeichnis, welches/home/labex/projectist. Lassen Sie uns das bestätigen:pwdpwdsteht für „print working directory“ (Arbeitsverzeichnis ausgeben). Es sagt Ihnen genau, wo Sie sich im Dateisystem befinden.Lassen Sie uns nun die gesamte Verzeichnisstruktur anzeigen:
tree /Wow! Das sind eine Menge Informationen. Der Befehl
treezeigt die Verzeichnisstruktur in einem Baumformat an. Das Argument/weist ihn an, im Wurzelverzeichnis zu beginnen. Machen Sie sich keine Sorgen, wenn Sie nicht alles verstehen, was Sie sehen – wir konzentrieren uns auf die wichtigsten Teile.Erkunden wir einige Hauptverzeichnisse:
ls /home ls /etc ls /bin/homeist der Ort, an dem die Benutzerverzeichnisse gespeichert sind. Jeder Benutzer hat hier normalerweise sein eigenes Verzeichnis./etcenthält Systemkonfigurationsdateien./binenthält grundlegende Befehls-Binärdateien (Programme), die für alle Benutzer verfügbar sein müssen.
Navigieren wir nun zum Wurzelverzeichnis und listen dessen Inhalt auf:
cd / ls -lcdbedeutet „change directory“ (Verzeichnis wechseln). Das/bringt Sie zum Wurzelverzeichnis.ls -llistet den Inhalt des Verzeichnisses in einem detaillierten Format auf. Das-lwird als Option oder Flag bezeichnet, welches das Verhalten des Befehls modifiziert.Kehren wir in Ihr Home-Verzeichnis zurück:
cd ~ pwdDas
~ist ein Kürzel, das immer Ihr Home-Verzeichnis repräsentiert, egal wo im Dateisystem Sie sich gerade befinden.
Nach diesem Schritt sollten Sie ein grundlegendes Verständnis der Linux-Verzeichnisstruktur haben und wissen, wie man darin navigiert. Denken Sie daran: Es ist völlig in Ordnung, wenn Sie sich nicht alles merken – Sie können diese Befehle jederzeit nutzen, um sich die Struktur wieder ins Gedächtnis zu rufen.
Pfade und Navigation verstehen
Nachdem wir nun einen Überblick über das Dateisystem haben, lernen wir, wie man effizient darin navigiert. Wir werden die Konzepte von absoluten und relativen Pfaden untersuchen, die für die Bewegung im Dateisystem entscheidend sind.
Erstellen wir zunächst eine Übungs-Verzeichnisstruktur:
mkdir -p ~/project/practice/subdirectorymkdirbedeutet „make directory“ (Verzeichnis erstellen). Die Option-permöglicht es uns, übergeordnete Verzeichnisse gleich mitzuerstellen, falls sie noch nicht existieren. Dieser Befehl erstellt ein Verzeichnispracticein Ihremproject-Ordner und darin einsubdirectory.Navigieren Sie mit einem relativen Pfad in das neue Unterverzeichnis:
cd ~/project/practice/subdirectory pwdDieser Pfad ist relativ zu Ihrem Home-Verzeichnis (
~). Er wird relativer Pfad genannt, weil er von Ihrem aktuellen Standort abhängt.Gehen wir nun eine Ebene in der Verzeichnisstruktur nach oben:
cd .. pwd..bezieht sich immer auf das übergeordnete Verzeichnis. Es ist ein praktisches Kürzel, um im Verzeichnisbaum nach oben zu klettern.Verwenden wir einen absoluten Pfad, um zum Unterverzeichnis zurückzukehren:
cd /home/labex/project/practice/subdirectory pwdDies ist ein absoluter Pfad, da er im Wurzelverzeichnis (
/) beginnt und den vollständigen Weg zum Ziel angibt, unabhängig davon, wo Sie sich gerade befinden.Üben wir nun einige Navigations-Kürzel:
cd ~ ## Zum Home-Verzeichnis gehen pwd cd - ## Zum vorherigen Verzeichnis zurückkehren pwd cd ## Ein weiterer Weg, um zum Home-Verzeichnis zu gelangen pwdDiese Kürzel können Ihnen viel Tipparbeit ersparen!
Am Ende dieses Schritts sollten Sie sich sicher fühlen, das Dateisystem sowohl mit absoluten als auch mit relativen Pfaden zu navigieren. Denken Sie daran: Übung macht den Meister – zögern Sie nicht, mit diesen Befehlen zu experimentieren!
Dateien und Verzeichnisse erstellen und verwalten
Da wir nun sicher navigieren können, lernen wir, wie man Dateien und Verzeichnisse erstellt und verwaltet. Dies sind grundlegende Fertigkeiten für die Arbeit mit Linux.
Navigieren Sie zu Ihrem Projektverzeichnis:
cd ~/projectErstellen wir mehrere Verzeichnisse gleichzeitig:
mkdir dir1 dir2 dir3 lsmkdirkann mehrere Verzeichnisse mit einem einzigen Befehl erstellen.lslistet den Inhalt des aktuellen Verzeichnisses auf, damit Sie sehen können, was Sie erstellt haben.Erstellen wir nun eine leere Datei:
touch file1.txt ls -l file1.txttouchwird verwendet, um leere Dateien zu erstellen oder den Zeitstempel bestehender Dateien zu aktualisieren. Der Befehlls -lzeigt detaillierte Informationen über die Datei an, einschließlich ihrer Größe (die 0 Bytes betragen sollte).Erstellen wir eine Datei mit Inhalt:
echo "Hello, Linux" > file2.txt cat file2.txtechogibt Text aus, und>leitet diesen Text in eine Datei um. Dabei wird die Datei erstellt, falls sie noch nicht existiert.catwird verwendet, um den Inhalt der Datei anzuzeigen.Fügen wir nun weiteren Inhalt an die Datei an:
echo "This is a new line." >> file2.txt cat file2.txt>>hängt Text an die Datei an, anstatt sie zu überschreiben. Beachten Sie, dass die Datei nun zwei Zeilen hat.Erstellen wir schließlich eine verschachtelte Verzeichnisstruktur:
mkdir -p nested/structure/example tree nestedDer Befehl
treeliefert uns eine schöne visuelle Darstellung der Verzeichnisstruktur, die wir gerade erstellt haben.
Am Ende dieses Schritts sollten Sie in der Lage sein, Dateien und Verzeichnisse zu erstellen, Inhalte hinzuzufügen und Dateiinhalte anzuzeigen. Diese Operationen bilden das Rückgrat der Dateiverwaltung in Linux.
Dateien kopieren, verschieben und umbenennen
Nachdem wir wissen, wie man Dateien und Verzeichnisse erstellt, lernen wir nun, wie man sie manipuliert. Wir behandeln das Kopieren, Verschieben und Umbenennen.
Beginnen wir mit dem Kopieren einer Datei:
cp file1.txt dir1/ ls dir1cpist der Kopierbefehl. Hier kopieren wirfile1.txtin das Verzeichnisdir1.Kopieren und umbenennen wir eine Datei in einem Schritt:
cp file2.txt dir2/file2_copy.txt ls dir2Dies erstellt eine Kopie von
file2.txtindir2, aber unter einem neuen Namen.Verschieben wir eine Datei:
mv file1.txt dir3/ ls ls dir3mvwird zum Verschieben von Dateien verwendet. Beachten Sie, dassfile1.txtnicht mehr im aktuellen Verzeichnis ist, sondern nun indir3erscheint.Wir können
mvauch zum Umbenennen einer Datei verwenden:mv dir3/file1.txt dir3/renamed_file.txt ls dir3Dies benennt
file1.txtinnerhalb vondir3inrenamed_file.txtum.Kopieren wir schließlich ein Verzeichnis samt Inhalt:
cp -r nested dir1/ tree dir1Die Option
-rweistcpan, Verzeichnisse rekursiv zu kopieren (einschließlich aller Unterverzeichnisse und Dateien).
Denken Sie daran: Wenn Sie Dateien verschieben oder kopieren, können Sie sowohl absolute als auch relative Pfade verwenden. Wählen Sie den Weg, der in Ihrer aktuellen Situation bequemer ist.
Dateiinhalte anzeigen und bearbeiten
In diesem letzten Schritt lernen wir fortgeschrittenere Methoden kennen, um Dateiinhalte anzuzeigen und Dateien mit einem einfachen Texteditor zu bearbeiten.
Erstellen wir eine neue Datei mit mehreren Zeilen unter Verwendung eines Here-Dokuments:
cat << EOF > multiline.txt Line 1: Hello, Linux Line 2: This is a multiline file. Line 3: Created using a here-document. EOFDies nutzt ein „Here-Dokument“, um eine mehrzeilige Datei zu erstellen. Es ist ein praktischer Weg, Dateien mit vordefiniertem Inhalt zu füllen. Dem Operator
<<folgt ein Trennzeichen (in diesem FallEOF). Die Shell liest dann alle folgenden Zeilen als Eingabe, bis sie eine Zeile sieht, die nur das Trennzeichen enthält. Dieser gesamte Textblock wird dann in die Dateimultiline.txtumgeleitet.Dateiinhalt anzeigen:
cat multiline.txtWir haben
catschon einmal benutzt; es ist besonders nützlich für einen schnellen Blick in Dateien.Datei mit Zeilennummern anzeigen:
nl multiline.txtnlfügt der Ausgabe Zeilennummern hinzu, was hilfreich sein kann, um sich auf bestimmte Zeilen zu beziehen.Die ersten zwei Zeilen der Datei anzeigen:
head -n 2 multiline.txtDer Befehl
headzeigt den Anfang einer Datei an. Mit-n 2werden die ersten zwei Zeilen ausgegeben. Beachten Sie, dass-n2ohne Leerzeichen ebenfalls gültig ist und identisch funktioniert.Die letzte Zeile der Datei anzeigen:
tail -n 1 multiline.txtAnalog dazu wird
tailverwendet, um das Ende einer Datei zu betrachten. Auch hier sind-n 1und-n1gleichwertig.Bearbeiten wir nun die Datei mit nano:
nano multiline.txtNano ist ein einfacher Texteditor. Sie können die Pfeiltasten zur Navigation nutzen, Text zum Bearbeiten tippen und den Befehlen am unteren Bildschirmrand folgen (das Symbol
^steht für die Strg-Taste).Fügen Sie eine vierte Zeile zur Datei hinzu, speichern Sie dann und beenden Sie das Programm (Strg+X, dann Y, dann Enter).
Die aktualisierte Datei anzeigen:
cat multiline.txtSie sollten nun Ihre neu hinzugefügte Zeile in der Datei sehen.
Diese Befehle geben Ihnen mächtige Werkzeuge an die Hand, um Dateiinhalte direkt über die Kommandozeile zu inspizieren und zu modifizieren.
Dateien in Linux finden
Dateien schnell zu finden, ist eine essenzielle Fertigkeit in Linux. Lernen wir einige gängige Befehle zum Lokalisieren von Dateien kennen.
Verwenden wir zunächst den Befehl
find, um nach allen .txt-Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen zu suchen:find . -name "*.txt"Dieser Befehl sollte alle .txt-Dateien in Ihrem aktuellen Verzeichnisbaum auflisten. Wenn Sie keine Ausgabe sehen, bedeutet das, dass keine .txt-Dateien vorhanden sind. Erstellen wir eine:
echo "This is a test file" > test.txt find . -name "*.txt"Nun sollten Sie
./test.txtin der Ausgabe sehen.Suchen wir nun nach einer bestimmten Datei im gesamten System:
sudo find / -name "passwd"Dieser Befehl sucht im gesamten Dateisystem nach Dateien mit dem Namen „passwd“. Wir verwenden hier
sudo, da das Durchsuchen des gesamten Systems (beginnend beim Wurzelverzeichnis/) erhöhte Berechtigungen erfordert. Viele Systemverzeichnisse sind für normale Benutzer nicht lesbar, daher erlaubt unssudo, auch diese geschützten Bereiche zu durchsuchen.Sie sollten eine Ausgabe ähnlich dieser sehen:
/etc/pam.d/passwd /etc/passwd /usr/bin/passwd /usr/share/doc/passwd /usr/share/lintian/overrides/passwdDer Befehl
findist sehr mächtig. Wir können auch nach Dateigröße suchen. Suchen wir zum Beispiel nach Dateien, die größer als 1 MB sind, in Ihrem Home-Verzeichnis:find ~ -size +1MDies listet alle Dateien in Ihrem Home-Verzeichnis auf, die die 1-MB-Marke überschreiten.
Wir können
findauch nutzen, um nach Dateien zu suchen, die innerhalb eines bestimmten Zeitrahmens geändert wurden. Suchen wir nach Dateien in Ihrem Home-Verzeichnis, die in den letzten 24 Stunden geändert wurden:find ~ -mtime -1Verwenden wir schließlich den Befehl
which, um den Speicherort von ausführbaren Dateien zu finden:which pythonSie sollten eine Ausgabe wie diese sehen:
/usr/bin/pythonFalls Sie keine Ausgabe erhalten, versuchen Sie es mit:
which python3
Mit diesen Befehlen sollten Sie in der Lage sein, Dateien in einem Linux-System problemlos aufzuspüren. Denken Sie daran, dass der find-Befehl durch die Kombination vieler Optionen extrem vielseitig ist, um Dateien nach verschiedensten Kriterien zu finden.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab „Einführung in Linux-Datei- und Verzeichnisoperationen“ erfolgreich abgeschlossen. Lassen Sie uns Revue passieren lassen, was Sie gelernt haben:
- Sie haben die Linux-Verzeichnisstruktur erkundet und den Zweck wichtiger Verzeichnisse wie
/home,/etcund/binverstanden. - Sie haben etwas über absolute und relative Pfade gelernt und erfahren, wie man mit Befehlen wie
cdund Kürzeln wie~und..effizient navigiert. - Sie haben das Erstellen von Dateien und Verzeichnissen geübt und gelernt, wie man mit Befehlen wie
mkdir,touchundechoInhalte hinzufügt. - Sie beherrschen nun die Dateimanipulation, einschließlich Kopieren, Verschieben und Umbenennen von Dateien und Verzeichnissen mit
cpundmv. - Sie haben verschiedene Wege kennengelernt, Dateiinhalte mit
cat,headundtailanzuzeigen und Dateien mit dem Texteditor nano zu bearbeiten. - Schließlich haben Sie leistungsstarke Suchtechniken mit den Befehlen
findundwhicherkundet, die es Ihnen ermöglichen, Dateien und Programme im gesamten Linux-System schnell zu finden.
Diese Fertigkeiten bilden das Fundament für die Arbeit mit Linux. Während Sie Ihre Linux-Reise fortsetzen, werden Sie auf diesen Grundlagen aufbauen, um komplexere Operationen und Systemadministrationsaufgaben durchzuführen.
Denken Sie daran: Der Schlüssel zum Meistern dieser Fähigkeiten ist die Praxis. Scheuen Sie sich nicht, mit diesen Befehlen in Ihrer Linux-Umgebung zu experimentieren. Erstellen Sie eigene Verzeichnisstrukturen, verschieben Sie Dateien, bearbeiten Sie Inhalte und suchen Sie nach Dateien mit unterschiedlichen Kriterien. Je mehr Sie üben, desto vertrauter werden Sie mit der Linux-Kommandozeile.
Mit diesen Kenntnissen in der Dateiverwaltung und Suche sind Sie bestens gerüstet, um das Linux-Dateisystem effizient zu nutzen. Forschen Sie weiter und viel Spaß beim Lernen!



