Datei- und Verzeichnisoperationen

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Willkommen im Lab zur Einführung in Linux-Datei- und Verzeichnisoperationen! Wenn Sie neu in Linux sind, keine Sorge - wir werden Sie Schritt für Schritt durchführen und Ihnen nicht nur erklären, was Sie tun sollen, sondern auch, warum wir es tun. Dieses Lab ist darauf ausgelegt, Ihnen praktische Erfahrungen mit dem Linux-Dateisystem zu vermitteln, das für die Arbeit mit Linux von grundlegender Bedeutung ist.

Bevor wir einsteigen, wollen wir einige grundlegende Konzepte besprechen:

  • Linux-Dateisystem: Stellen Sie sich dies als eine baumartige Struktur vor, mit der alle Dateien auf Ihrem Computer organisiert werden. Im Gegensatz zu Windows mit seinen Laufwerksbuchstaben (C:, D: usw.) hat Linux ein einzelnes Wurzelverzeichnis (/), von dem alles andere abzweigt.
  • Verzeichnis: Dies ist der Linux-Begriff für das, was Sie in anderen Betriebssystemen als "Ordner" kennen. Es ist ein Behälter für Dateien und andere Verzeichnisse.
  • Datei: In Linux ist fast alles eine Datei! Reguläre Dokumente, Verzeichnisse und sogar Hardwaregeräte werden als Dateien behandelt. Dieser einheitliche Ansatz vereinfacht viele Operationen.
  • Pfad: Dies ist wie eine Adresse für eine Datei oder ein Verzeichnis. Wir werden uns mit absoluten Pfaden (die vom Wurzelverzeichnis ausgehen) und relativen Pfaden (die von Ihrem aktuellen Speicherort ausgehen) befassen.
  • Terminal: Dies ist Ihre Kommandozentrale für die Interaktion mit Linux. Es mag zunächst einschüchternd aussehen, aber Sie werden bald feststellen, dass es ein leistungsstarkes Tool zur Verwaltung Ihres Systems ist.
  • Dateisuche: Linux bietet leistungsstarke Tools zum Suchen von Dateien im gesamten System. Wir werden Befehle wie find und which untersuchen, um Ihnen zu helfen, Dateien und ausführbare Dateien schnell zu finden.

Sind Sie bereit, zu beginnen? Lassen Sie uns unsere Reise in das Linux-Dateisystem starten!

Erkundung der Linux-Verzeichnisstruktur

In diesem Schritt werden wir uns das Linux-Dateisystem genauer ansehen. Dies wird Ihnen helfen zu verstehen, wo verschiedene Arten von Dateien gespeichert sind und wie das System organisiert ist.

  1. Ö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, das /home/labex/project ist. Lassen Sie uns dies bestätigen:

    pwd

    pwd steht für "print working directory" (aktuelles Arbeitsverzeichnis ausgeben). Es zeigt Ihnen, wo Sie sich im Dateisystem befinden.

  2. Jetzt lassen Sie uns die gesamte Verzeichnisstruktur anzeigen:

    tree /

    Wow! Das sind viele Informationen. Der tree-Befehl zeigt die Verzeichnisstruktur in einer baumartigen Darstellung an. Das Argument / teilt ihm mit, von dem Wurzelverzeichnis aus zu starten. Machen Sie sich keine Sorgen, wenn Sie nicht alles verstehen - wir werden uns auf die wichtigsten Teile konzentrieren.

  3. Lassen Sie uns einige Hauptverzeichnisse erkunden:

    ls /home
    ls /etc
    ls /bin
    • /home ist der Speicherort für Benutzerverzeichnisse. Jeder Benutzer hat normalerweise hier sein eigenes Verzeichnis.
    • /etc enthält Systemkonfigurationsdateien.
    • /bin enthält essentielle Befehlsbinärdateien (Programme), die für alle Benutzer verfügbar sein müssen.
  4. Jetzt navigieren wir zum Wurzelverzeichnis und listen dessen Inhalt auf:

    cd /
    ls -l

    cd bedeutet "change directory" (Verzeichnis wechseln). Das / bringt Sie in das Wurzelverzeichnis.
    ls -l listet den Inhalt des Verzeichnisses in einem detaillierten Format auf. Das -l wird als Option oder Flag bezeichnet, das das Verhalten des Befehls ändert.

  5. Lassen Sie uns in Ihr Home-Verzeichnis zurückkehren:

    cd ~
    pwd

    Das ~ ist eine Abkürzung, die immer Ihr Home-Verzeichnis darstellt, unabhängig davon, wo Sie sich im Dateisystem befinden.

Nach diesem Schritt sollten Sie ein grundlegendes Verständnis der Linux-Verzeichnisstruktur und der Navigation darin haben. Denken Sie daran, es ist in Ordnung, wenn Sie nicht alles auswendig lernen - Sie können diese Befehle immer nutzen, um sich an die Struktur zu erinnern.

Nachdem wir nun einen Überblick über das Dateisystem haben, lernen wir, wie wir es effizient navigieren können. Wir werden die Konzepte von absoluten und relativen Pfaden untersuchen, die für die Navigation im Dateisystem von entscheidender Bedeutung sind.

  1. Zunächst erstellen wir eine Übungsverzeichnisstruktur:

    mkdir -p ~/project/practice/subdirectory

    mkdir bedeutet "make directory" (Verzeichnis erstellen). Die Option -p ermöglicht es uns, Elternverzeichnisse zu erstellen, falls sie nicht existieren. Dieser Befehl erstellt ein practice-Verzeichnis in Ihrem project-Verzeichnis und ein subdirectory in practice.

  2. Navigieren Sie mit einem relativen Pfad in das neue Unterverzeichnis:

    cd ~/project/practice/subdirectory
    pwd

    Dieser Pfad bezieht sich auf Ihr Home-Verzeichnis (~). Es wird als relativer Pfad bezeichnet, da er von Ihrem aktuellen Speicherort abhängt.

  3. Jetzt bewegen wir uns eine Ebene höher in der Verzeichnisstruktur:

    cd..
    pwd

    .. bezieht sich immer auf das Elternverzeichnis. Es ist eine praktische Abkürzung, um im Verzeichnisbaum nach oben zu navigieren.

  4. Verwenden wir einen absoluten Pfad, um in das Unterverzeichnis zurückzukehren:

    cd /home/labex/project/practice/subdirectory
    pwd

    Dies ist ein absoluter Pfad, da er vom Wurzelverzeichnis (/) ausgeht und den vollständigen Pfad zum Ziel angibt, unabhängig davon, wo Sie sich derzeit befinden.

  5. Jetzt üben wir einige Navigationsabkürzungen:

    cd ~ ## Gehe in das Home-Verzeichnis
    pwd
    cd - ## Gehe in das vorherige Verzeichnis
    pwd
    cd ## Eine andere Möglichkeit, in das Home-Verzeichnis zu gehen
    pwd

    Diese Abkürzungen können Ihnen viel Tipparbeit ersparen!

Am Ende dieses Schritts sollten Sie sich bei der Navigation im Dateisystem sowohl mit absoluten als auch mit relativen Pfaden wohlfühlen. Denken Sie daran, Übung macht den Meister - zögern Sie nicht, mit diesen Befehlen zu experimentieren!

Erstellen und Verwalten von Dateien und Verzeichnissen

Nachdem wir uns nun sicher im Dateisystem bewegen können, lernen wir, wie wir Dateien und Verzeichnisse erstellen und verwalten. Dies sind grundlegende Fähigkeiten für die Arbeit mit Linux.

  1. Navigieren Sie in Ihr Projektverzeichnis:

    cd ~/project
  2. Erstellen wir mehrere Verzeichnisse auf einmal:

    mkdir dir1 dir2 dir3
    ls

    mkdir kann mit einem Befehl mehrere Verzeichnisse erstellen. ls listet den Inhalt des aktuellen Verzeichnisses auf, sodass Sie sehen können, was Sie erstellt haben.

  3. Jetzt erstellen wir eine leere Datei:

    touch file1.txt
    ls -l file1.txt

    touch wird verwendet, um leere Dateien zu erstellen oder den Zeitstempel vorhandener Dateien zu aktualisieren. Der Befehl ls -l zeigt detaillierte Informationen über die Datei an, einschließlich ihrer Größe (die 0 Bytes betragen sollte).

  4. Erstellen wir eine Datei mit etwas Inhalt:

    echo "Hello, Linux" > file2.txt
    cat file2.txt

    echo gibt Text aus, und > leitet diesen Text in eine Datei um. Wenn die Datei nicht existiert, wird sie erstellt. cat wird verwendet, um den Inhalt der Datei anzuzeigen.

  5. Jetzt fügen wir Inhalt an die Datei an:

    echo "This is a new line." >> file2.txt
    cat file2.txt

    >> fügt Inhalt an die Datei an, anstatt sie zu überschreiben. Beachten Sie, dass die Datei jetzt zwei Zeilen hat.

  6. Schließlich erstellen wir eine verschachtelte Verzeichnisstruktur:

    mkdir -p nested/structure/example
    tree nested

    Der tree-Befehl gibt uns eine schöne visuelle Darstellung der Verzeichnisstruktur, die wir gerade erstellt haben.

Am Ende dieses Schritts sollten Sie sich sicher beim Erstellen von Dateien und Verzeichnissen, Hinzufügen von Inhalt zu Dateien und Anzeigen von Dateiinhalten fühlen. Diese Operationen bilden die Grundlage der Dateiverwaltung in Linux.

Kopieren, Verschieben und Umbenennen von Dateien

Nachdem wir nun wissen, wie man Dateien und Verzeichnisse erstellt, lernen wir, wie man sie manipuliert. Wir werden uns mit dem Kopieren, Verschieben und Umbenennen von Dateien und Verzeichnissen befassen.

  1. Beginnen wir mit dem Kopieren einer Datei:

    cp file1.txt dir1/
    ls dir1

    cp ist der Kopierbefehl. Hier kopieren wir file1.txt in das Verzeichnis dir1.

  2. Jetzt kopieren und benennen wir eine Datei in einem einzigen Befehl um:

    cp file2.txt dir2/file2_copy.txt
    ls dir2

    Dadurch wird eine Kopie von file2.txt in dir2 erstellt, aber mit einem neuen Namen.

  3. Verschieben wir eine Datei:

    mv file1.txt dir3/
    ls
    ls dir3

    mv wird verwendet, um Dateien zu verschieben. Beachten Sie, dass file1.txt nicht mehr im aktuellen Verzeichnis ist, sondern jetzt in dir3 erscheint.

  4. Wir können auch mv verwenden, um eine Datei umzubenennen:

    mv dir3/file1.txt dir3/renamed_file.txt
    ls dir3

    Dies benennt file1.txt in renamed_file.txt innerhalb von dir3 um.

  5. Schließlich kopieren wir ein Verzeichnis und seinen Inhalt:

    cp -r nested dir1/
    tree dir1

    Die Option -r teilt cp mit, Verzeichnisse rekursiv zu kopieren (einschließlich aller Unterverzeichnisse und Dateien).

Denken Sie daran, dass Sie beim Verschieben oder Kopieren von Dateien entweder absolute oder relative Pfade verwenden können. Wählen Sie denjenigen, der in Ihrem aktuellen Kontext bequemer ist.

Anzeigen und Bearbeiten von Dateiinhalten

In diesem letzten Schritt lernen wir fortgeschrittenere Methoden zum Anzeigen von Dateiinhalten und wie man Dateien mit einem einfachen Texteditor bearbeitet.

  1. Erstellen wir eine neue Datei mit mehreren Zeilen mithilfe 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.
    EOF

    Hier wird ein "Here-Dokument" verwendet, um eine Datei mit mehreren Zeilen zu erstellen. Es ist eine bequeme Methode, um Dateien mit vordefiniertem Inhalt zu erstellen. Der Operator << wird von einem Trennzeichen (in diesem Fall EOF) gefolgt. 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 Datei multiline.txt umgeleitet.

  2. Zeigen Sie den Dateiinhalt an:

    cat multiline.txt

    Wir haben cat bereits verwendet, aber es ist besonders nützlich für das schnelle Anzeigen von Dateiinhalten.

  3. Zeigen Sie die Datei mit Zeilennummern an:

    nl multiline.txt

    nl fügt den Ausgabezeilen Zeilennummern hinzu, was hilfreich sein kann, um auf bestimmte Zeilen zu verweisen.

  4. Zeigen Sie die ersten beiden Zeilen der Datei an:

    head -n 2 multiline.txt

    head wird verwendet, um den Anfang einer Datei anzuzeigen. Die Option -n 2 gibt an, dass wir die ersten 2 Zeilen sehen möchten. Beachten Sie, dass es kein Leerzeichen zwischen -n und 2 gibt (d. h., -n2 ist ebenfalls gültig und funktioniert auf die gleiche Weise).

  5. Zeigen Sie die letzte Zeile der Datei an:

    tail -n 1 multiline.txt

    Ähnlich wird tail verwendet, um das Ende einer Datei anzuzeigen. Auch hier sind -n 1 und -n1 äquivalent.

  6. Jetzt bearbeiten wir die Datei mit nano:

    nano multiline.txt

    Nano ist ein einfacher Texteditor. Sie können die Pfeiltasten verwenden, um zu navigieren, tippen, um zu bearbeiten, und den Befehlen am unteren Bildschirmrand folgen (^ bedeutet Ctrl).

    Fügen Sie eine vierte Zeile zur Datei hinzu, speichern Sie die Datei und beenden Sie den Editor (Ctrl+X, dann Y, dann Enter).

  7. Zeigen Sie die aktualisierte Datei an:

    cat multiline.txt

    Sie sollten Ihre neue Zeile in der Datei sehen.

Diese Befehle bieten Ihnen leistungsstarke Werkzeuge, um Dateiinhalte direkt von der Kommandozeile aus zu untersuchen und zu ändern.

Finden von Dateien in Linux

Das schnelle Finden von Dateien ist eine essentielle Fähigkeit in Linux. Lernen wir einige gängige Befehle kennen, die zum Finden von Dateien verwendet werden.

  1. Zunächst verwenden wir den find-Befehl, um alle.txt-Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen zu suchen:

    find. -name "*.txt"

    Dieser Befehl sollte alle.txt-Dateien in Ihrem aktuellen Verzeichnis und seinen Unterverzeichnissen auflisten. Wenn Sie keine Ausgabe sehen, bedeutet das, dass es keine.txt-Dateien in Ihrer aktuellen Verzeichnisstruktur gibt. Erstellen wir eine:

    echo "This is a test file" > test.txt
    find. -name "*.txt"

    Jetzt sollten Sie ./test.txt in der Ausgabe sehen.

  2. Jetzt suchen wir nach einer bestimmten Datei im gesamten System:

    sudo find / -name "passwd"

    Dieser Befehl sucht nach Dateien mit dem Namen "passwd" im gesamten Dateisystem. Wir verwenden hier sudo, da die Suche im gesamten Dateisystem (beginnend vom Wurzelverzeichnis /) erhöhte Berechtigungen erfordert. Viele Systemverzeichnisse sind für normale Benutzer nicht lesbar, daher ermöglicht uns sudo, diese geschützten Bereiche zu durchsuchen.

    Sie sollten eine Ausgabe ähnlich der folgenden sehen:

    /etc/pam.d/passwd
    /etc/passwd
    /usr/bin/passwd
    /usr/share/doc/passwd
    /usr/share/lintian/overrides/passwd
  3. Der find-Befehl ist sehr leistungsstark. Wir können auch nach Dateigröße suchen. Beispielsweise finden wir Dateien größer als 1 MB in Ihrem Home-Verzeichnis:

    find ~ -size +1M

    Dies sollte alle Dateien größer als 1 MB in Ihrem Home-Verzeichnis auflisten.

  4. Wir können auch find verwenden, um nach Dateien zu suchen, die innerhalb eines bestimmten Zeitraums geändert wurden. Finden wir Dateien in Ihrem Home-Verzeichnis, die in den letzten 24 Stunden geändert wurden:

    find ~ -mtime -1
  5. Schließlich verwenden wir den which-Befehl, um den Speicherort ausführbarer Dateien zu finden:

    which python

    Sie sollten eine Ausgabe wie die folgende sehen:

    /usr/bin/python

    Wenn 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 finden. Denken Sie daran, dass der find-Befehl sehr leistungsstark ist und viele Optionen hat, die kombiniert werden können, was ihn zu einem vielseitigen Werkzeug zum Finden von Dateien basierend auf verschiedenen Kriterien macht.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Einführung in Linux-Datei- und Verzeichnisoperationen" abgeschlossen. Lassen Sie uns zusammenfassen, was Sie gelernt haben:

  1. Sie haben die Linux-Verzeichnisstruktur erkundet und die Zwecke wichtiger Verzeichnisse wie /home, /etc und /bin verstanden.
  2. Sie haben über absolute und relative Pfade gelernt und wie man effizient im Dateisystem navigiert, indem man Befehle wie cd und Shortcuts wie ~ und .. verwendet.
  3. Sie haben das Erstellen von Dateien und Verzeichnissen geübt und gelernt, wie man Inhalt in Dateien hinzufügt, indem man Befehle wie mkdir, touch und echo verwendet.
  4. Sie haben die Dateimanipulation beherrscht, einschließlich des Kopierens, Verschiebens und Umbenennens von Dateien und Verzeichnissen mit cp und mv.
  5. Sie haben verschiedene Methoden gelernt, um Dateiinhalte mit cat, head und tail anzuzeigen, und wie man Dateien mit dem Nano-Texteditor bearbeitet.
  6. Schließlich haben Sie leistungsstarke Dateisuche-Techniken mit Befehlen wie find und which erkundet, die es Ihnen ermöglichen, Dateien und ausführbare Programme schnell im gesamten Linux-System zu finden.

Diese Fähigkeiten bilden die Grundlage für die Arbeit mit Linux. Wenn Sie Ihre Linux-Reise fortsetzen, werden Sie auf diesen Grundlagen aufbauen, um komplexere Operationen und Systemadministrationstasks auszuführen.

Denken Sie daran, dass die Übung der Schlüssel zum Beherrschen dieser Fähigkeiten ist. Seien Sie nicht afraid, diese Befehle in Ihrer Linux-Umgebung zu experimentieren. Versuchen Sie, Ihre eigenen Verzeichnisstrukturen zu erstellen, Dateien zu verschieben, Dateiinhalte zu bearbeiten und Dateien nach verschiedenen Kriterien zu suchen. Je mehr Sie üben, desto vertrauter werden Sie mit der Linux-Kommandozeile.

Mit diesen Fähigkeiten in der Dateiverwaltung und -suche sind Sie gut gerüstet, um effizient im Linux-Dateisystem zu navigieren und es zu manipulieren. Bleiben Sie neugierig und viel Spaß beim Lernen!