Einführung
Willkommen zum Lab „Einführung in Linux-Datei- und Verzeichnisoperationen“! Falls Linux für Sie Neuland ist, machen Sie sich keine Sorgen – wir führen Sie Schritt für Schritt durch die Aufgaben und erklären nicht nur, was zu tun ist, sondern auch, warum wir es tun. Dieses Lab wurde entwickelt, um Ihnen praktische Erfahrungen mit dem Linux-Dateisystem zu vermitteln, das die Grundlage für die Arbeit mit Linux bildet.
Bevor wir beginnen, lassen Sie uns einige grundlegende Konzepte klären:
- Linux-Dateisystem: Stellen Sie sich dies als baumartige Struktur vor, um alle Dateien auf Ihrem Computer zu organisieren. Im Gegensatz zu Windows mit seinen Laufwerksbuchstaben (C:, D: usw.) hat Linux ein einziges Wurzelverzeichnis (/), von dem aus sich alles andere verzweigt.
- Verzeichnis: 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: Unter Linux ist fast alles eine Datei! Reguläre Dokumente, Verzeichnisse und sogar Hardwaregeräte werden als Dateien behandelt. Dieser einheitliche Ansatz vereinfacht viele Vorgänge.
- Pfad: Dies ist wie eine Adresse für eine Datei oder ein Verzeichnis. Wir lernen absolute Pfade (die vom Wurzelverzeichnis ausgehen) und relative Pfade (die von Ihrem aktuellen Standort ausgehen) kennen.
- Terminal: Dies ist Ihre Kommandozentrale für die Interaktion mit Linux. Es mag anfangs einschüchternd wirken, aber Sie werden bald 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, damit Sie Dateien und ausführbare Programme schnell lokalisieren können.
Bereit? Beginnen wir unsere Reise durch das Linux-Dateisystem!
Die Linux-Verzeichnisstruktur erkunden
In diesem Schritt machen wir eine Tour durch das Linux-Dateisystem. Dies hilft Ihnen zu verstehen, wo verschiedene Dateitypen gespeichert sind und wie das System organisiert ist.
Öffnen Sie Ihr Terminal. Sie sollten eine Eingabeaufforderung 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 dies bestätigen:pwdpwdsteht für "print working directory" (Arbeitsverzeichnis ausgeben). Es zeigt Ihnen an, wo Sie sich im Dateisystem befinden.Lassen Sie uns nun die oberste Ebene der Verzeichnisstruktur betrachten:
tree -L 1 /Der Befehl
treezeigt die Verzeichnisstruktur in einem baumartigen Format an. Die Option-L 1begrenzt die Ausgabe auf die erste Ebene unter dem Wurzelverzeichnis, was das Ergebnis übersichtlich hält und Ihr Terminal nicht überflutet. Das Argument/weist den Befehl an, beim Wurzelverzeichnis zu beginnen. Machen Sie sich keine Sorgen, wenn Sie noch nicht alles verstehen – wir konzentrieren uns auf die wichtigsten Teile.Erkunden wir einige Hauptverzeichnisse:
ls /home ls /etc ls /bin/homeist der Ort, an dem Benutzerverzeichnisse gespeichert werden. Jeder Benutzer hat hier normalerweise sein eigenes Verzeichnis./etcenthält Systemkonfigurationsdateien./binenthält wichtige 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 -lcdsteht für "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 und modifiziert das Verhalten des Befehls.Kehren wir zu Ihrem Home-Verzeichnis zurück:
cd ~ pwdDas
~ist eine Abkürzung, die immer Ihr Home-Verzeichnis repräsentiert, egal wo Sie sich im Dateisystem 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 nicht schlimm, wenn Sie sich nicht alles sofort merken – Sie können diese Befehle jederzeit verwenden, 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 erkunden die Konzepte von absoluten und relativen Pfaden, die für das Bewegen im Dateisystem entscheidend sind.
Erstellen wir zunächst eine Übungs-Verzeichnisstruktur:
mkdir -p ~/project/practice/subdirectorymkdirsteht für "make directory" (Verzeichnis erstellen). Die Option-permöglicht es uns, übergeordnete Verzeichnisse zu erstellen, falls diese noch nicht existieren. Dieser Befehl erstellt einpractice-Verzeichnis innerhalb Ihresproject-Verzeichnisses und einsubdirectoryinnerhalb vonpractice.Navigieren Sie mit einem relativen Pfad in das neue Unterverzeichnis:
cd ~/project/practice/subdirectory pwdDieser Pfad ist relativ zu Ihrem Home-Verzeichnis (
~). Er wird als relativer Pfad bezeichnet, da 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 eine praktische Abkürzung, um im Verzeichnisbaum nach oben zu gelangen.Verwenden wir einen absoluten Pfad, um zum Unterverzeichnis zurückzukehren:
cd /home/labex/project/practice/subdirectory pwdDies ist ein absoluter Pfad, da er beim Wurzelverzeichnis (
/) beginnt und den vollständigen Pfad zum Ziel angibt, unabhängig davon, wo Sie sich gerade befinden.Üben wir nun einige Navigations-Abkürzungen:
cd ~ ## Zum Home-Verzeichnis wechseln pwd cd - ## Zum vorherigen Verzeichnis wechseln pwd cd ## Eine weitere Möglichkeit, zum Home-Verzeichnis zu wechseln pwdDiese Abkürzungen können Ihnen viel Tipparbeit ersparen!
Am Ende dieses Schrittes sollten Sie sich sicher fühlen, im 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
Nachdem wir nun sicher im Dateisystem navigieren können, lernen wir, wie man Dateien und Verzeichnisse erstellt und verwaltet. Dies sind grundlegende Fähigkeiten für die Arbeit mit Linux.
Navigieren Sie zu Ihrem Projektverzeichnis:
cd ~/projectErstellen wir mehrere Verzeichnisse auf einmal:
mkdir dir1 dir2 dir3 lsmkdirkann mehrere Verzeichnisse mit einem Befehl erstellen.lslistet den Inhalt des aktuellen Verzeichnisses auf, sodass 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 vorhandener 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 etwas Inhalt:
echo "Hello, Linux" > file2.txt cat file2.txtechogibt Text aus, und>leitet diesen Text in eine Datei um, wobei die Datei erstellt wird, falls sie noch nicht existiert.catwird verwendet, um den Inhalt der Datei anzuzeigen.Hängen wir nun 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, wie die Datei nun zwei Zeilen enthält.Erstellen wir schließlich eine verschachtelte Verzeichnisstruktur:
mkdir -p nested/structure/example tree nestedDer Befehl
treegibt uns eine schöne visuelle Darstellung der Verzeichnisstruktur, die wir gerade erstellt haben.
Am Ende dieses Schrittes sollten Sie sich sicher fühlen, Dateien und Verzeichnisse zu erstellen, Inhalte zu Dateien hinzuzufügen und Dateiinhalte anzuzeigen. Diese Operationen bilden das Rückgrat der Dateiverwaltung unter Linux.
Dateien kopieren, verschieben und umbenennen
Nachdem wir wissen, wie man Dateien und Verzeichnisse erstellt, lernen wir, wie man sie manipuliert. Wir behandeln das Kopieren, Verschieben und Umbenennen von Dateien und Verzeichnissen.
Beginnen wir mit dem Kopieren einer Datei:
cp file1.txt dir1/ ls dir1cpist der Kopierbefehl. Hier kopieren wirfile1.txtin das Verzeichnisdir1.Kopieren und benennen wir nun eine Datei mit einem Befehl um:
cp file2.txt dir2/file2_copy.txt ls dir2Dies erstellt eine Kopie von
file2.txtindir2, jedoch mit 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 und dessen 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 die Variante, die in Ihrem aktuellen Kontext bequemer ist.
Dateiinhalte anzeigen und bearbeiten
In diesem letzten Schritt lernen wir fortgeschrittenere Möglichkeiten kennen, Dateiinhalte anzuzeigen und Dateien mit einem einfachen Texteditor zu bearbeiten.
Erstellen wir eine neue Datei mit mehreren Zeilen unter Verwendung eines Here-Documents:
cat << EOF > multiline.txt Line 1: Hello, Linux Line 2: This is a multiline file. Line 3: Created using a here-document. EOFDies verwendet ein "Here-Document", um eine Datei mit mehreren Zeilen zu erstellen. Es ist eine bequeme Methode, Dateien mit vordefiniertem Inhalt zu erstellen. Auf den 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.Zeigen Sie den Dateiinhalt an:
cat multiline.txtWir haben
catbereits verwendet, aber es ist besonders nützlich für einen schnellen Blick auf Dateiinhalte.Zeigen Sie die Datei mit Zeilennummern an:
nl multiline.txtnlfügt der Ausgabe Zeilennummern hinzu, was hilfreich sein kann, um auf bestimmte Zeilen zu verweisen.Zeigen Sie die ersten zwei Zeilen der Datei an:
head -n 2 multiline.txtDer Befehl
headzeigt den Anfang einer Datei an. Die Verwendung von-n 2zeigt die ersten zwei Zeilen. Es ist wichtig zu beachten, dass-n2ohne Leerzeichen ebenfalls gültig ist und identisch funktioniert.Zeigen Sie die letzte Zeile der Datei an:
tail -n 1 multiline.txtEbenso wird
tailverwendet, um das Ende einer Datei anzuzeigen. Auch hier sind-n 1und-n1äquivalent.Bearbeiten wir nun die Datei mit nano:
nano multiline.txtNano ist ein einfacher Texteditor. Sie können die Pfeiltasten zum Navigieren verwenden, tippen, um zu bearbeiten, und den Befehlen am unteren Bildschirmrand folgen (^ bedeutet Strg).
Fügen Sie der Datei eine vierte Zeile hinzu, speichern Sie und beenden Sie (Strg+X, dann Y, dann Enter).
Zeigen Sie die aktualisierte Datei an:
cat multiline.txtSie sollten sehen, dass Ihre neue Zeile zur Datei hinzugefügt wurde.
Diese Befehle geben Ihnen mächtige Werkzeuge an die Hand, um Dateiinhalte direkt von der Befehlszeile aus zu überprüfen und zu ändern.
Dateien unter Linux finden
Dateien schnell zu finden, ist eine wesentliche Fähigkeit unter Linux. Lernen wir einige gängige Befehle zum Suchen von Dateien kennen.
Verwenden wir zunächst den Befehl
find, um nach allen .txt-Dateien im aktuellen Verzeichnis und dessen Unterverzeichnissen zu suchen:find . -name "*.txt"Dieser Befehl sollte alle .txt-Dateien in Ihrem aktuellen Verzeichnis und den Unterverzeichnissen auflisten. Wenn Sie keine Ausgabe sehen, bedeutet dies, dass keine .txt-Dateien in Ihrer aktuellen Verzeichnisstruktur vorhanden sind. Erstellen wir eine:
echo "This is a test file" > test.txt find . -name "*.txt"Jetzt sollten Sie ./test.txt in 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 Dateisystems (beginnend beim Wurzelverzeichnis/) erhöhte Berechtigungen erfordert. Viele Systemverzeichnisse sind für normale Benutzer nicht lesbar, daher ermöglicht unssudo, 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 in Ihrem Home-Verzeichnis sind:find ~ -size +1MDies sollte alle Dateien auflisten, die größer als 1 MB in Ihrem Home-Verzeichnis sind.
Wir können
findauch verwenden, 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/pythonWenn Sie diese Ausgabe nicht sehen, versuchen Sie:
which python3
Mit diesen Befehlen sollten Sie in der Lage sein, Dateien in einem Linux-System leicht zu lokalisieren. Denken Sie daran, dass der Befehl find sehr mächtig ist und viele Optionen bietet, die kombiniert werden können, was ihn zu einem vielseitigen Werkzeug macht, um Dateien nach verschiedenen Kriterien zu finden.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab „Einführung in Linux-Datei- und Verzeichnisoperationen“ abgeschlossen. Lassen Sie uns zusammenfassen, was Sie gelernt haben:
- Sie haben die Linux-Verzeichnisstruktur erkundet und den Zweck wichtiger Verzeichnisse wie
/home,/etcund/binverstanden. - Sie haben absolute und relative Pfade kennengelernt und erfahren, wie man effizient mit Befehlen wie
cdund Abkürzungen wie~und..durch das Dateisystem navigiert. - Sie haben das Erstellen von Dateien und Verzeichnissen geübt und gelernt, wie man mit Befehlen wie
mkdir,touchundechoInhalte zu Dateien hinzufügt. - Sie haben die Dateimanipulation gemeistert, einschließlich des Kopierens, Verschiebens und Umbenennens von Dateien und Verzeichnissen mit
cpundmv. - Sie haben verschiedene Möglichkeiten kennengelernt, Dateiinhalte mit
cat,headundtailanzuzeigen, und wie man Dateien mit dem Texteditor nano bearbeitet. - Schließlich haben Sie leistungsstarke Dateisuchtechniken mit Befehlen wie
findundwhicherkundet, die es Ihnen ermöglichen, Dateien und ausführbare Programme schnell im gesamten Linux-System zu lokalisieren.
Diese Fähigkeiten 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 Systemverwaltungsaufgaben durchzuführen.
Denken Sie daran: Der Schlüssel zur Beherrschung dieser Fähigkeiten ist Übung. Haben Sie keine Angst, mit diesen Befehlen in Ihrer Linux-Umgebung zu experimentieren. Versuchen Sie, Ihre eigenen Verzeichnisstrukturen zu erstellen, Dateien zu verschieben, Dateiinhalte zu bearbeiten und nach Dateien anhand verschiedener Kriterien zu suchen. Je mehr Sie üben, desto vertrauter werden Sie mit der Linux-Befehlszeile.
Mit diesen Fähigkeiten zur Dateiverwaltung und Suche sind Sie bestens gerüstet, um effizient im Linux-Dateisystem zu navigieren und es zu manipulieren. Erkunden Sie weiter und viel Spaß beim Lernen!



