Der Shell-Befehl du und die Alternative dua

Für die Shell stehen zahlreiche Befehle zur Verfügung, zum Beispiel ls für das Anzeigen des Verzeichnisinhalts oder cp für das Kopieren von Dateien. Diese Befehle wurden in der Programmiersprache C geschrieben und sind Bestandteil UNIX-ähnlicher Systeme. Mittlerweile gibt es zu diesen Befehlen Alternativen, die in der modernen Sprache Rust geschrieben wurden. In diesem Blog möchte ich einige dieser Befehle vorstellen, wobei es in diesem Artikel um einen Befehl zur Feststellung des Speicherbedarfs von Ordnern und Dateien geht.

Der Befehl du

Der Speicherbedarf kann mit dem Befehl du ermittelt werden. Um sich einen Überblick über den Speicherbedarf der Ordner und Dateien zu verschaffen, die sich in „Dokumente“ befinden, ruft man die Shell, d.h. die Anwendung Terminal auf und gibt den Befehl du gefolgt von Documents ein.

du Documents

Als Ergebnis erhält man die Anzahl der verwendeten Blöcke, was nicht sehr hilfreich ist. Deswegen sollte die Option -h (human readable) hinzugefügt werden. Dadurch erhält man eine Ausgabe in Bytes, wobei die verwendeten Buchstaben folgende Bedeutung haben:

  • B = Byte
  • K = Kilobyte
  • M = Megabyte
  • G = Gigabyte

Der gesamte Speicherbedarf eines Verzeichnisses lässt sich mit der Option -s (summarize) anzeigen. Bezogen auf das Verzeichnis „Dokumente“ müsste also folgende Anweisung eingegeben werden:

du -hs Documents

Die Alternative dua

Eine in Rust geschriebene Alternative zu du ist das Programm dua. Es hat den Vorteil, dass der Speicherplatzbedarf stets in Bytes (ohne die Angabe etwaiger Optionen) angezeigt wird. Außerdem kann ein interaktive Ansicht aufgerufen werden, die es ermöglicht, durch das Dateisystem zu navigieren. Das Programm wird über Github zur Verfügung gestellt.

Installation unter macOS

Am einfachsten ist die Installation mithilfe des Paketmanagers Homebrew. Wie dieses Programm auf dem Mac installiert werden kann, erfahrt ihr in diesem Artikel.

Sofern Homebrew auf eurem System vorhanden ist, könnt ihr einfach die folgende Installationsanweisung eingeben:

brew install dua-cli

Linux

Linux-Nutzer müssen für die Installation folgende Curl-Anweisung verwenden:

curl -LSfs https://raw.githubusercontent.com/Byron/dua-cli/master/ci/install.sh | \
sh -s -- --git Byron/dua-cli --target x86_64-unknown-linux-musl --crate dua --tag v2.29.0

Falls dies nicht funktionieren sollte, werft einen Blick in die Dokumentation, denn diese Anweisung mag sich im Laufe der Zeit ändern.

dua verwenden

Bezogen auf obiges Beispiel, kann der Speicherbedarf der im Dokumente-Ordner enthaltenen Dateien und Verzeichnisse nach dem Start des Terminals mit folgender Anweisung ermittelt werden:

dua Documents

Wie bereits erwähnt, existiert ein interaktiver Modus, der wie folgt aktiviert werden kann:

dua i

oder

dua interactive

Sobald dieser Modus aktiv ist, navigiert ihr mit den Pfeiltasten durch das Dateisystem. Über die Eingabe von q wird dieser Modus wieder verlassen.

Eine Übersicht über die zur Verfügung stehenden Optionen wird mit der Anweisung

dua -h

angezeigt.

Es soll nicht verheimlicht werden, dass es weitere Alternativen zu dua gibt. Eine Übersicht findet sich in der README-Datei zu dua. Da sich dua für mich bewährt hat, habe ich mir jene Programme aber nicht angesehen. Falls euch dua nicht gefallen sollte, habt ihr also noch die Möglichkeit, andere Programme auszuprobieren oder bei du zu bleiben.