Schätzung des Dateispeichers auf Linux

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 die Festplattennutzung in Linux-Systemen mit dem Befehl du (Disk Usage) schätzen und analysieren können. Die Verwaltung des Festplattenspeichers ist eine grundlegende Fähigkeit für Systemadministratoren und Linux-Nutzer. Der Befehl du bietet eine Möglichkeit, zu überprüfen, wie viel Festplattenspeicher von Dateien und Verzeichnissen auf Ihrem System belegt wird.

Am Ende dieses Labs können Sie den Befehl du effektiv mit verschiedenen Optionen nutzen, um die Festplattennutzung zu analysieren, große Dateien und Verzeichnisse zu identifizieren und Ihren Speicherplatz effizienter zu verwalten.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") subgraph Lab Skills linux/cd -.-> lab-271271{{"Schätzung des Dateispeichers auf Linux"}} linux/mkdir -.-> lab-271271{{"Schätzung des Dateispeichers auf Linux"}} linux/find -.-> lab-271271{{"Schätzung des Dateispeichers auf Linux"}} linux/sort -.-> lab-271271{{"Schätzung des Dateispeichers auf Linux"}} linux/du -.-> lab-271271{{"Schätzung des Dateispeichers auf Linux"}} linux/dd -.-> lab-271271{{"Schätzung des Dateispeichers auf Linux"}} end

Grundlegende Verwendung des du-Befehls verstehen

Der Befehl du wird verwendet, um die Dateigrößen in Linux-Systemen zu schätzen. In diesem Schritt lernen Sie die grundlegende Syntax und die Ausgabe des du-Befehls kennen.

Zunächst erstellen wir eine Verzeichnisstruktur mit einigen Beispiel-Dateien, mit denen wir arbeiten können:

  1. Öffnen Sie ein Terminal in Ihrer LabEx-VM-Umgebung.

  2. Erstellen Sie eine Projekt-Verzeichnisstruktur mit den folgenden Befehlen:

mkdir -p ~/project/data
cd ~/project/data
echo "This is file 1 content" > file1.txt
echo "This is file 2 content" > file2.txt
echo "This is a larger file with more content" > file3.txt
  1. Jetzt verwenden wir den grundlegenden du-Befehl, um die Festplattennutzung dieser Dateien anzuzeigen:
du ~/project/data

Sie werden eine Ausgabe ähnlich der folgenden sehen:

4       /home/labex/project/data

Die angezeigte Zahl ist der belegte Festplattenspeicher in Kilobyte (KB). Jede Datei und jedes Verzeichnis beansprucht mindestens 4 KB Festplattenspeicher, was in der Regel die minimale Allokationseinheit (Blockgröße) auf den meisten Dateisystemen ist.

  1. Um die Größe einzelner Dateien zu überprüfen, können Sie die Dateipfade angeben:
du ~/project/data/file1.txt ~/project/data/file2.txt ~/project/data/file3.txt

Sie werden feststellen, dass selbst kleine Dateien aufgrund der Blockgrößenallokation des Dateisystems mindestens 4 KB Festplattenspeicher beanspruchen.

Verwendung von menschenlesbaren Formaten und Zusammenfassungsoptionen

Im vorherigen Schritt haben Sie die grundlegende Verwendung des du-Befehls gelernt. Allerdings ist es nicht immer praktisch, die Festplattennutzung in Kilobyte zu lesen, insbesondere bei größeren Dateien und Verzeichnissen. In diesem Schritt lernen Sie, wie Sie Optionen verwenden können, um die Ausgabe lesbarer zu gestalten.

Die Option -h (menschenlesbares Format)

Die Option -h zeigt die Größen in einem menschenlesbaren Format (KB, MB, GB usw.) an, was es einfacher macht, die Dateigrößen zu verstehen:

du -h ~/project/data

Beispielausgabe:

4.0K    /home/labex/project/data

Die Option -s (Zusammenfassung)

Die Option -s gibt eine Zusammenfassung der gesamten Festplattennutzung anstelle der Anzeige der Nutzung für jedes Unterverzeichnis aus:

du -s ~/project/data

Beispielausgabe:

4       /home/labex/project/data

Kombination von Optionen: -sh

Sie können diese Optionen kombinieren, um eine nützlichere Ausgabe zu erhalten. Erstellen wir zunächst eine größere Datei und verwenden dann die kombinierten Optionen:

cd ~/project/data
## Create a 1MB file filled with zeros
dd if=/dev/zero of=largefile.bin bs=1M count=1

Beispielausgabe:

1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00302182 s, 347 MB/s

Jetzt überprüfen wir die Festplattennutzung mit den kombinierten Optionen:

du -sh ~/project/data

Beispielausgabe:

1.1M    /home/labex/project/data

Lassen Sie uns auch die Größen einzelner Dateien mit diesen Optionen überprüfen:

du -sh ~/project/data/*

Beispielausgabe:

4.0K    /home/labex/project/data/file1.txt
4.0K    /home/labex/project/data/file2.txt
4.0K    /home/labex/project/data/file3.txt
1.0M    /home/labex/project/data/largefile.bin

Das menschenlesbare Format erleichtert es erheblich, die Dateigrößen zu verstehen, insbesondere wenn es um größere Dateien und Verzeichnisse geht.

Analysieren von Verzeichnisstrukturen mit du

In diesem Schritt lernen Sie, wie Sie die Festplattennutzung einer komplexeren Verzeichnisstruktur analysieren können. Sie erstellen verschachtelte Verzeichnisse mit verschiedenen Dateigrößen und verwenden du, um sie zu analysieren.

Erstellen einer verschachtelten Verzeichnisstruktur

Zunächst erstellen wir eine komplexere Verzeichnisstruktur:

mkdir -p ~/project/data/docs ~/project/data/images ~/project/data/backups

Jetzt fügen wir diesen Verzeichnissen einige Dateien hinzu:

## Add text files to docs directory
cd ~/project/data/docs
echo "Document 1 content" > doc1.txt
echo "Document 2 content" > doc2.txt

## Create larger files in images directory
cd ~/project/data/images
dd if=/dev/zero of=image1.jpg bs=500K count=1
dd if=/dev/zero of=image2.jpg bs=300K count=1

## Create a backup file
cd ~/project/data/backups
dd if=/dev/zero of=backup.tar bs=2M count=1

Analysieren bestimmter Verzeichnisse

Jetzt verwenden wir den du-Befehl, um bestimmte Verzeichnisse zu analysieren:

## Check the size of the docs directory
du -sh ~/project/data/docs

## Check the size of the images directory
du -sh ~/project/data/images

## Check the size of the backups directory
du -sh ~/project/data/backups

Sie werden feststellen, dass jedes Verzeichnis eine andere Größe hat, abhängig von den enthaltenen Dateien.

Analysieren der gesamten Verzeichnisstruktur

Um die Festplattennutzung der gesamten Struktur einschließlich der Unterverzeichnisse anzuzeigen, verwenden Sie:

du -h ~/project/data

Dadurch wird die Größe jedes Unterverzeichnisses und die Gesamtgröße am Ende angezeigt.

Verwenden der Option --max-depth

Manchmal möchten Sie die Festplattennutzung auf einer bestimmten Verzeichnistiefe anzeigen. Die Option --max-depth hilft Ihnen dabei:

du -h --max-depth=1 ~/project/data

Dadurch werden nur die direkt untergeordneten Verzeichnisse von ~/project/data angezeigt, ohne tiefer in den Verzeichnisbaum zu gehen.

Beispielausgabe:

8.0K    /home/labex/project/data/docs
804K    /home/labex/project/data/images
2.0M    /home/labex/project/data/backups
3.9M    /home/labex/project/data

Dieser Befehl ist besonders nützlich, wenn Sie feststellen möchten, welche obersten Verzeichnisse am meisten Festplattenspeicher verbrauchen.

Fortgeschrittene Verwendung des du-Befehls

In diesem letzten Schritt lernen Sie einige fortgeschrittene Techniken kennen, wie Sie den du-Befehl nutzen können, um Verzeichnisse nach Größe zu sortieren, bestimmte Dateien auszuschließen und sich auf große Dateien zu konzentrieren.

Sortieren von Verzeichnissen nach Größe

Eine häufige Aufgabe besteht darin, die größten Verzeichnisse oder Dateien zu finden. Sie können du mit sort kombinieren, um dies zu erreichen:

du -h ~/project/data | sort -h

Die Option -h für sort ermöglicht es, menschenlesbare Größen richtig zu verstehen und zu sortieren. Die Ausgabe wird von der kleinsten zur größten Größe sortiert.

Um die Sortierung von der größten zur kleinsten Größe durchzuführen, fügen Sie die Option -r (umgekehrte Sortierung) zu sort hinzu:

du -h ~/project/data | sort -hr

Beispielausgabe:

3.9M    /home/labex/project/data
2.0M    /home/labex/project/data/backups
804K    /home/labex/project/data/images
8.0K    /home/labex/project/data/docs
4.0K    /home/labex/project/data/docs/doc2.txt
4.0K    /home/labex/project/data/docs/doc1.txt

Finden bestimmter Dateitypen

Sie können den find-Befehl in Kombination mit du verwenden, um die Größe bestimmter Dateitypen zu berechnen:

## Find all jpg files and check their sizes
find ~/project/data -name "*.jpg" -exec du -h {} \;

Dieser Befehl sucht alle Dateien mit der Endung .jpg im Verzeichnis ~/project/data und führt du -h für jede dieser Dateien aus.

Ausschließen von Verzeichnissen

Manchmal möchten Sie bestimmte Verzeichnisse von der Berechnung der Festplattennutzung ausschließen. Sie können die Option --exclude verwenden:

du -h --exclude="backups" ~/project/data

Dadurch wird die Festplattennutzung für alles in ~/project/data berechnet, mit Ausnahme des Verzeichnisses backups.

Ermitteln der gesamten Festplattennutzung

Um nur die Gesamtsumme (Zusammenfassung) eines Verzeichnisses und all seiner Unterverzeichnisse zu erhalten:

du -sh ~/project/data

Beispielausgabe:

3.9M    /home/labex/project/data

Dies ist besonders nützlich, wenn Sie nur an der Gesamtgröße eines Verzeichnisbaums interessiert sind, anstatt an der detaillierten Aufschlüsselung.

Überprüfen der Festplattennutzung anhand des Dateialters

Erstellen wir einige Dateien mit unterschiedlichen Zeitstempeln, um dies zu demonstrieren:

## Create a directory for this example
mkdir -p ~/project/data/timeline
cd ~/project/data/timeline

## Create files with different timestamps
echo "Old file" > old_file.txt
echo "Recent file" > recent_file.txt
touch -d "1 month ago" old_file.txt

Jetzt können Sie find mit du verwenden, um Dateien zu überprüfen, die innerhalb eines bestimmten Zeitraums geändert wurden:

## Find files modified in the last 7 days and check their sizes
find ~/project/data -type f -mtime -7 -exec du -h {} \;

Dadurch werden die Größen aller Dateien angezeigt, die in den letzten 7 Tagen geändert wurden.

Diese fortgeschrittenen Techniken helfen Ihnen, den Festplattenspeicher auf Linux-Systemen effektiv zu verwalten, indem Sie feststellen, wo Speicherplatz verwendet wird, und Möglichkeiten zur Freigabe von Speicherplatz finden.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den du-Befehl verwenden können, um die Festplattennutzung in Linux-Systemen zu schätzen und zu analysieren. Sie haben Folgendes untersucht:

  • Die grundlegende Verwendung des du-Befehls zur Überprüfung der Festplattennutzung von Dateien und Verzeichnissen
  • Die Verwendung von Optionen wie -h für eine menschenlesbare Ausgabe und -s für Zusammenfassungsinformationen
  • Die Analyse der Festplattennutzung in komplexen Verzeichnisstrukturen mit verschachtelten Unterverzeichnissen
  • Fortgeschrittene Techniken, einschließlich der Sortierung nach Größe, der Filterung nach Dateityp, des Ausschlusses von Verzeichnissen und der Überprüfung von Dateien anhand der Änderungszeit

Diese Fähigkeiten sind für die effektive Verwaltung des Festplattenspeichers in Linux-Systemen unerlässlich. Mit dem du-Befehl können Sie große Dateien und Verzeichnisse identifizieren, die einen erheblichen Teil des Festplattenspeichers verbrauchen, und so fundierte Entscheidungen über die Speicherverwaltung treffen.

Mit den in diesem Lab erworbenen Kenntnissen können Sie nun mit Zuversicht die Festplattennutzung in jeder Linux-Umgebung überwachen und analysieren, sei es auf einem persönlichen Computer, einem Server oder einer Cloud-Instanz.