Wie man prüft, ob ein Verzeichnis in Linux leer ist

LinuxLinuxBeginner
Jetzt üben

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

Einführung

In diesem Lab lernen Sie, wie Sie in Linux mithilfe verschiedener Befehlszeilentools feststellen können, ob ein Verzeichnis leer ist. Sie beginnen damit, den grundlegenden ls-Befehl mit der Option -a zu verwenden, um alle Verzeichnisinhalte, einschließlich versteckter Dateien, aufzulisten, und die Bedeutung von Einträgen wie . und .. zu verstehen.

Als Nächstes werden Sie den find-Befehl untersuchen, um rekursiv nach Dateien in einem Verzeichnis zu suchen. Dies bietet eine weitere Methode, um zu prüfen, ob es Inhalte gibt. Schließlich lernen Sie, wie Sie den du -sh-Befehl verwenden, um die Größe eines Verzeichnisses zu überprüfen. Dies ist eine schnelle Möglichkeit, um festzustellen, ob es Daten enthält. Durch die Ausführung dieser Schritte werden Sie praktische Fähigkeiten erwerben, um effizient die Leerheit von Verzeichnissen in einer Linux-Umgebung zu prüfen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/ls -.-> lab-558706{{"Wie man prüft, ob ein Verzeichnis in Linux leer ist"}} linux/touch -.-> lab-558706{{"Wie man prüft, ob ein Verzeichnis in Linux leer ist"}} linux/find -.-> lab-558706{{"Wie man prüft, ob ein Verzeichnis in Linux leer ist"}} linux/du -.-> lab-558706{{"Wie man prüft, ob ein Verzeichnis in Linux leer ist"}} end

Auflisten der Verzeichnisinhalte mit ls -a

In diesem Schritt lernen Sie, wie Sie die Inhalte eines Verzeichnisses mit dem ls-Befehl auflisten. Der ls-Befehl ist einer der grundlegendsten Befehle in Linux und wird verwendet, um Dateien und Verzeichnisse aufzulisten.

Standardmäßig zeigt ls Ihnen die sichtbaren Dateien und Verzeichnisse an Ihrem aktuellen Ort an. Ihr aktueller Ort ist das Verzeichnis, in dem Sie derzeit arbeiten. Wenn Sie im Rahmen dieses Labs das Terminal öffnen, ist Ihr aktuelles Verzeichnis /home/labex/project.

Probieren wir den grundlegenden ls-Befehl aus. Geben Sie Folgendes in Ihrem Terminal ein und drücken Sie die Eingabetaste:

ls

Möglicherweise sehen Sie eine Ausgabe, oder es wird nichts angezeigt, wenn das Verzeichnis leer ist.

Jetzt wollen wir uns eine nützliche Option für den ls-Befehl ansehen: -a. Die Option -a steht für "all" (alle) und teilt ls mit, alle Dateien, einschließlich der versteckten, anzuzeigen. In Linux werden Dateien und Verzeichnisse, die mit einem Punkt (.) beginnen, als versteckt betrachtet. Konfigurationsdateien werden oft auf diese Weise versteckt.

Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste:

ls -a

Sie werden wahrscheinlich mehr Einträge sehen als zuvor, einschließlich Einträgen wie . und ...

.
..
.zsh_history
  • . repräsentiert das aktuelle Verzeichnis.
  • .. repräsentiert das übergeordnete Verzeichnis (das Verzeichnis eine Ebene höher).
  • .zsh_history ist eine versteckte Datei, die Ihre Befehlsgeschichte speichert.

Das Verständnis von versteckten Dateien ist wichtig, da sie oft Konfigurationseinstellungen für Anwendungen und das System enthalten.

Üben Sie das Verwenden von ls und ls -a in Ihrem ~/project-Verzeichnis. Beobachten Sie den Unterschied in der Ausgabe.

Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.

Suchen nach Dateien mit dem find-Befehl

In diesem Schritt lernen Sie, wie Sie den find-Befehl verwenden, um nach Dateien und Verzeichnissen an einem bestimmten Ort zu suchen. Während ls die Inhalte eines einzelnen Verzeichnisses auflistet, kann find rekursiv in Unterverzeichnissen suchen.

Die grundlegende Syntax für find lautet:

find [starting_point] [expression]
  • [starting_point] ist das Verzeichnis, in dem die Suche beginnt. . bedeutet das aktuelle Verzeichnis.
  • [expression] gibt an, wonach Sie suchen (z.B. Dateiname, Typ, Größe).

Erstellen wir eine einfache Datei, nach der wir suchen können. Wir verwenden den touch-Befehl, der eine leere Datei erstellt. Stellen Sie sicher, dass Sie sich im ~/project-Verzeichnis befinden.

touch my_document.txt

Jetzt verwenden wir find, um die Datei zu finden, die wir gerade erstellt haben. Wir beginnen die Suche im aktuellen Verzeichnis (.) und suchen nach einer Datei mit dem Namen my_document.txt.

find . -name my_document.txt

Die Option -name teilt find mit, nach Einträgen mit einem bestimmten Namen zu suchen.

Als Ausgabe sollten Sie den Pfad zur Datei sehen:

./my_document.txt

Dies bestätigt, dass find die Datei erfolgreich gefunden hat.

Der find-Befehl ist sehr leistungsstark und bietet viele Optionen für die Suche basierend auf verschiedenen Kriterien wie Dateityp (-type f für Dateien, -type d für Verzeichnisse), Größe, Änderungszeit und Berechtigungen.

Beispielsweise können Sie alle Verzeichnisse im aktuellen Verzeichnis und seinen Unterverzeichnissen finden, indem Sie Folgendes verwenden:

find . -type d

Dies würde alle Verzeichnisse auflisten, einschließlich . und .. sowie aller Unterverzeichnisse, die Sie möglicherweise erstellt haben.

Experimentieren Sie mit find in Ihrem ~/project-Verzeichnis. Versuchen Sie, eine weitere Datei oder ein weiteres Verzeichnis zu erstellen und dann find zu verwenden, um es zu finden.

Klicken Sie auf Weiter, um fortzufahren.

Überprüfen der Verzeichnisgröße mit du -sh

In diesem Schritt lernen Sie, wie Sie die Speichernutzung von Dateien und Verzeichnissen mit dem du-Befehl überprüfen. Dies ist nützlich, um zu verstehen, wie viel Speicherplatz Ihre Dateien beanspruchen.

Der du-Befehl steht für "disk usage" (Speichernutzung). Standardmäßig zeigt du die Speichernutzung jeder Datei und jedes Unterverzeichnisses in einem gegebenen Verzeichnis in Blöcken an. Diese Ausgabe kann recht detailliert sein.

Probieren wir den grundlegenden du-Befehl in Ihrem ~/project-Verzeichnis aus:

du

Sie werden eine Ausgabe sehen, die die Größe von my_document.txt anzeigt (die wahrscheinlich 0 ist, da es eine leere Datei ist), sowie die Gesamtgröße des aktuellen Verzeichnisses.

Um eine besser lesbare Ausgabe zu erhalten, können wir Optionen mit du verwenden. Zwei häufige Optionen sind:

  • -s: Zusammenfassung. Diese Option zeigt nur die Gesamtgröße des angegebenen Verzeichnisses an, anstatt jede Datei und jedes Unterverzeichnis aufzulisten.
  • -h: Menschlich lesbar. Diese Option zeigt die Größen in einem Format an, das für Menschen leichter lesbar ist (z.B. KB, MB, GB).

Kombinieren wir diese Optionen, um eine Zusammenfassung der Speichernutzung Ihres ~/project-Verzeichnisses in einem lesbaren Format zu erhalten.

du -sh .

Der . am Ende gibt an, dass wir die Speichernutzung des aktuellen Verzeichnisses überprüfen möchten.

Die Ausgabe wird in etwa so aussehen:

4.0K    .

Dies zeigt an, dass das aktuelle Verzeichnis (.) ungefähr 4,0 Kilobyte Speicherplatz beansprucht. Die genaue Größe kann je nach System und Anzahl der versteckten Dateien geringfügig variieren.

Der du -sh-Befehl ist eine schnelle Möglichkeit, die Gesamtgröße eines Verzeichnisses zu sehen. Sie können auch einen anderen Verzeichnispfad anstelle von . angeben, um die Größe anderer Verzeichnisse zu überprüfen.

Beispielsweise können Sie die Größe Ihres Home-Verzeichnisses (~) überprüfen, indem Sie Folgendes verwenden:

du -sh ~

Üben Sie das Verwenden von du -sh auf verschiedenen Verzeichnissen, falls Sie in diesem Lab weitere erstellt haben.

Klicken Sie auf Weiter, um diesen Schritt und das Lab abzuschließen.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie in Linux überprüfen können, ob ein Verzeichnis leer ist, indem Sie mehrere grundlegende Befehle verwenden. Sie haben begonnen, indem Sie ls -a verwendet haben, um alle Inhalte aufzulisten, einschließlich versteckter Dateien und der speziellen Einträge . (aktuelles Verzeichnis) und .. (übergeordnetes Verzeichnis), die immer vorhanden sind.

Anschließend haben Sie begonnen, den find-Befehl zu erkunden, ein leistungsstarkes Werkzeug zum rekursiven Suchen nach Dateien und Verzeichnissen ab einem bestimmten Startpunkt.