Harting Development

Die ultimative Anleitung zum Linux-Befehl 'ls': Verzeichnisse wie ein Profi anzeigen

Lukas Fuchs vor 7 Monaten in  Tipps und Tricks 3 Minuten Lesedauer

Grundlegende Verwendung: Verzeichnisse auflisten

Der Linux-Befehl ls ist ein grundlegendes Tool zur Anzeige von Dateien und Verzeichnissen in einem bestimmten Verzeichnis. Seine einfache Syntax macht ihn auch für Anfänger leicht verständlich.

Auflistung von Dateien und Verzeichnissen

In seiner einfachsten Form listet ls die Namen aller Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis auf:

ls

Wenn du ein bestimmtes Verzeichnis auflisten möchtest, gib dessen Pfad als Argument an:

ls /home/benutzer/Dokumente

Optionen für die formatierte Ausgabe

Standardmäßig werden die Namen von Dateien und Verzeichnissen in einer einzigen Spalte aufgelistet. Du kannst jedoch verschiedene Optionen verwenden, um die Ausgabe zu formatieren:

  • -l (lange Liste): Zeigt zusätzliche Informationen wie Berechtigungen, Größe und Zeitstempel an.
  • -a (alle Dateien): Zeigt auch versteckte Dateien an, die mit einem Punkt beginnen.
  • -h (menschenlesbare Größe): Zeigt Dateigrößen in benutzerfreundlichen Einheiten wie KB oder MB an.

Kombination von Optionen

Du kannst mehrere Optionen kombinieren, um die Ausgabe weiter anzupassen. Beispielsweise würde der folgende Befehl eine lange Liste aller Dateien und Verzeichnisse im aktuellen Arbeitsverzeichnis erstellen, einschließlich versteckter Dateien und mit menschenlesbaren Dateigrößen:

ls -lah

Optionen für die Listung: Dateinamenformate und Sortierung

Wenn du den Befehl ls ausführst, erhältst du eine grundlegende Liste der Dateien und Verzeichnisse im aktuellen Verzeichnis. Du kannst jedoch die Ausgabe anpassen, indem du Optionen verwendest, die die Dateinamenformate und die Sortierung steuern.

Dateinamenformate

Die Option -F fügt am Ende jedes Dateinamens einen Buchstaben hinzu, der den Dateityp angibt:

  • /: Verzeichnis
  • *: Ausführbare Datei
  • @: Symbolischer Link
  • |: FIFO (benanntes Pipe)
  • =: Socket

Mit der Option -d kannst du nur die Namen der Verzeichnisse auflisten, nicht deren Inhalte. Dies ist nützlich, wenn du eine hierarchische Ansicht der Verzeichnisstruktur anzeigen möchtest.

Sortierung

Du kannst die Ausgabe auch sortieren. Mit der Option -r kannst du die Ausgabe in umgekehrter Reihenfolge sortieren, sodass die neuesten Dateien zuerst angezeigt werden.

Mit der Option -t kannst du die Ausgabe nach der Erstellungszeit sortieren. Dies ist nützlich, wenn du die zuletzt geänderten Dateien schnell finden möchtest.

Wenn du mehrere Sortieroptionen kombinieren möchtest, kannst du sie in der Befehlszeile aneinanderreihen. Beispielsweise sortiert der folgende Befehl die Dateien zuerst nach Typ und dann nach Erstellungszeit:

ls -Frt

Indem du die verschiedenen Optionen für die Listung und Sortierung beherrschst, kannst du die Ausgabe des Befehls ls an deine spezifischen Anforderungen anpassen.

Filteroptionen: Dateien nach Name, Größe oder Typ anzeigen

Neben der grundlegenden Auflistung von Verzeichnissen bietet der ls-Befehl eine Vielzahl von Filteroptionen, mit denen du deine Ergebnisse gezielt eingrenzen kannst.

Filterung nach Name

Wenn du nur Dateien mit einem bestimmten Namen anzeigen möchtest, kannst du die Option -f (oder --files-only) verwenden. Dies schließt Symbolische Links und Verzeichnisse aus. Beispiel:

ls -f *test*

Filterung nach Größe

Um Dateien nach ihrer Größe zu filtern, kannst du die Option -s (oder --size) verwenden. Dies zeigt die Größe jeder Datei in Bytes an. Du kannst die Option -h (oder --human-readable) verwenden, um die Größe in lesbaren Einheiten wie KB oder MB anzuzeigen. Beispiel:

ls -s * | sort -nr

Filterung nach Typ

Wenn du nur Dateien eines bestimmten Typs anzeigen möchtest, kannst du die Option -t (oder --sort=time) verwenden. Dies sortiert die Dateien nach der letzten Änderungszeit. Du kannst die Option -r (oder --reverse) verwenden, um die Sortierung umzukehren. Beispiel:

ls -t | grep ".txt"

Weitere Filteroptionen

Zusätzlich zu diesen grundlegenden Filteroptionen bietet ls eine Reihe erweiterter Filteroptionen, mit denen du deine Ergebnisse noch genauer eingrenzen kannst:

  • -a (oder --all): Versteckte Dateien anzeigen
  • -c (oder --color): Dateien in verschiedenen Farben markieren, basierend auf ihrem Typ oder Status
  • -d (oder --directory): Nur Verzeichnisse anzeigen
  • -F (oder --classify): Dateitypen mit Symbolen kennzeichnen
  • -i (oder --inode): Die Inode-Nummer jeder Datei anzeigen

Versteckte Dateien anzeigen

Versteckte Dateien sind Dateien, die mit einem Punkt (.) beginnen. Diese Dateien werden typischerweise verwendet, um Konfigurationseinstellungen oder andere sensible Informationen zu speichern. Standardmäßig werden versteckte Dateien in der Ausgabe von ls nicht angezeigt.

Verwendung des Flags -a

Um versteckte Dateien anzuzeigen, kannst du das Flag -a verwenden. Dieses Flag weist ls an, alle Dateien in einem Verzeichnis aufzulisten, auch versteckte Dateien.

ls -a

Verwendung des Flags -A

Das Flag -A ähnelt dem Flag -a, listet jedoch keine Einträge mit den Namen . (das aktuelle Verzeichnis) und .. (das übergeordnete Verzeichnis) auf.

ls -A

Globale Muster verwenden

Du kannst auch globale Muster verwenden, um versteckte Dateien aufzulisten.

ls -d .?*

Dieser Befehl listet alle versteckten Dateien und Verzeichnisse im aktuellen Verzeichnis auf.

Verwendung des Befehls find

Zusätzlich zu den ls-Flags kannst du den Befehl find verwenden, um versteckte Dateien zu finden.

find . -name ".*"

Dieser Befehl durchsucht das aktuelle Verzeichnis und alle seine Unterverzeichnisse rekursiv nach Dateien, die mit einem Punkt beginnen.

Rekursive Listung: Verzeichnisse und deren Unterverzeichnisse anzeigen

Wenn du eine rekursive Listung durchführen möchtest, also auch alle Unterverzeichnisse eines Verzeichnisses anzeigen willst, kannst du die Option -R verwenden. Diese Option durchsucht das angegebene Verzeichnis rekursiv und listet alle gefundenen Dateien und Verzeichnisse auf.

Verwendung

Um eine rekursive Listung durchzuführen, verwendest du folgenden Befehl:

ls -R

Beispiel:

ls -R ~/Dokumente

Dieser Befehl listet alle Dateien und Verzeichnisse im Verzeichnis "~/Dokumente" und seinen Unterverzeichnissen auf.

Optionen

Neben der Option -R kannst du auch andere Optionen verwenden, um die rekursive Listung anzupassen.

  • -a: Zeige auch versteckte Dateien an.
  • -l: Zeige detaillierte Informationen zu den Dateien an, einschließlich Berechtigungen, Eigentümer und Dateigröße.
  • -h: Zeige Dateigrößen in einem menschenlesbaren Format an, z. B. "10K" statt "10240".

Beispiele

Beispiel 1: Rekursive Listung mit versteckten Dateien

ls -Ra ~/Dokumente

Beispiel 2: Rekursive Listung mit detaillierten Informationen

ls -Rl ~/Dokumente

Beispiel 3: Rekursive Listung mit menschenlesbaren Dateigrößen

ls -Rh ~/Dokumente

Anwendungsfälle

Die rekursive Listung ist nützlich, wenn du:

  • Den Inhalt eines gesamten Verzeichnisbaums anzeigen willst.
  • Nach Dateien in Unterverzeichnissen suchen willst.
  • Informationen zu Dateien in mehreren Verzeichnissen sammeln willst.

Dateidetails abrufen: Berechtigungen, Eigentümer und mehr

Mit dem ls-Befehl kannst du nicht nur Dateinamen auflisten, sondern auch ausführliche Dateidetails abrufen, einschließlich Berechtigungen, Eigentümer und Zeitstempel.

Berechtigungen anzeigen

Du kannst die Berechtigungen von Dateien und Verzeichnissen überprüfen, indem du die Option -l (lange Auflistung) verwendest. Diese Option zeigt folgende Details an:

  • Dateityp: Eine führende alphanumerische Zeichenfolge, die den Dateityp angibt. Verzeichnisse werden beispielsweise mit "d", reguläre Dateien mit "-" und symbolische Links mit "l" gekennzeichnet.
  • Berechtigungen: Eine Folge von neun Zeichen, die die Zugriffsrechte für Besitzer, Gruppe und andere Benutzer angeben. Jede Dreiergruppe repräsentiert die Berechtigungen für Lesen, Schreiben und Ausführen.
  • Anzahl der Links: Die Anzahl der Hardlinks, die auf die Datei verweisen.
  • Besitzer: Der Benutzer, der die Datei besitzt.
  • Gruppe: Die Gruppe, zu der die Datei gehört.
  • Größe: Die Größe der Datei in Bytes.
  • Zeitstempel: Datum und Uhrzeit der letzten Änderung der Datei.

Eigentümer und Gruppe anzeigen

Du kannst den Eigentümer und die Gruppe einer Datei mit den Optionen -o und -g anzeigen. Diese Optionen zeigen den Benutzernamen und den Gruppennamen des Besitzers bzw. der Gruppe an.

Zeitstempel anzeigen

Du kannst den Zeitstempel einer Datei mit den Optionen -c oder -u anzeigen. Die Option -c zeigt den Zeitstempel der letzten Statusänderung der Datei an, während -u den Zeitstempel der letzten Änderung des Inhalts der Datei anzeigt.

Zusätzliche Informationen mit 'stat' anzeigen

Für noch detailliertere Informationen über eine Datei kannst du den Befehl stat verwenden. Dieser Befehl zeigt Informationen wie:

  • Geräte-ID: Die ID des Geräts, auf dem die Datei gespeichert ist.
  • Inode-Nummer: Eine eindeutige Kennung für die Datei innerhalb des Dateisystems.
  • Zugriffszeit: Datum und Uhrzeit des letzten Zugriffs auf die Datei.
  • Änderungszeit: Datum und Uhrzeit der letzten Änderung der Datei.
  • Änderungszeit: Datum und Uhrzeit der letzten Änderung von Metadaten der Datei (z. B. Berechtigungen).
  • Größe der Blöcke: Die Größe der Blöcke, in denen die Datei auf dem Datenträger gespeichert ist.
  • Blockzuordnungen: Die Blöcke auf dem Datenträger, in denen die Datei gespeichert ist.
  • Extenderte Attribute: Benutzerdefinierte Metadaten, die der Datei zugeordnet sind.

Dateigrößen anzeigen: Größe in verschiedenen Einheiten

Wenn du die Dateigrößen in einer Liste anzeigst, kannst du auch die Einheit angeben, in der die Größe angegeben werden soll. Hier stehen dir verschiedene Optionen zur Verfügung:

-h, --human-readable

Diese Option veranlasst ls, die Dateigrößen in menschenlesbaren Einheiten wie KB (Kilobyte), MB (Megabyte) und GB (Gigabyte) anzuzeigen.

ls -lh

-k, --kilo

Diese Option gibt die Dateigrößen in Kilobyte (KB) an.

ls -lk

-M, --mega

Diese Option gibt die Dateigrößen in Megabyte (MB) an.

ls -lM

-G, --giga

Diese Option gibt die Dateigrößen in Gigabyte (GB) an.

ls -lG

-T, --si

Diese Option gibt die Dateigrößen in IEC-Einheiten wie KiB (Kibibyte), MiB (Mebibyte) und GiB (Gibibyte) an.

ls -lT

Du kannst diese Optionen mit anderen ls-Optionen kombinieren, um die Ausgabe anzupassen. Beispielsweise kannst du die Option -h mit der Option -l kombinieren, um eine detaillierte Auflistung mit menschenlesbaren Dateigrößen zu erhalten.

ls -lh

Dateizeitstempel anzeigen

Wenn du Überblick über die letzten Aktivitäten in einem Verzeichnis erhalten möchtest, kannst du mit 'ls' auch die Zeitstempel der Dateien abrufen.

Zeitstempelformat

Standardmäßig zeigt 'ls' die Zeitstempel im Format Monat Tag Stunde:Minute. Du kannst jedoch auch andere Formate verwenden:

  • -c: Zeitstempel im Format Änderungsdatum und -uhrzeit
  • -u: Zeitstempel im Format Zugriffsdatum und -uhrzeit

Zeitstempel anordnen

Neben der Anzeige der Zeitstempel kannst du 'ls' auch verwenden, um die Dateien nach Zeitstempeln zu sortieren:

  • -t: Dateien nach Änderungszeit sortieren
  • -tr: Dateien nach Änderungszeit in umgekehrter Reihenfolge sortieren
  • -a: Versteckte Dateien anzeigen, einschließlich .gitkeep und .DS_Store

Zeitstempelinformationen anpassen

Wenn du weitere Informationen zu den Zeitstempeln benötigst, kannst du die Option -l (long listing) verwenden. Diese zeigt zusätzliche Details an, darunter:

  • Inode: Eine eindeutige Identifikationsnummer für jede Datei
  • Berechtigungen: Leseberechtigungen für Benutzer, Gruppen und andere
  • Hard Links: Anzahl der Hard Links auf die Datei
  • Eigentümer und Gruppe: Benutzer und Gruppe, denen die Datei gehört

Zeitstempel-Tools

Neben 'ls' gibt es auch andere Tools, mit denen du Zeitstempel in Linux anzeigen kannst:

  • date: Zeigt das aktuelle Datum und die Uhrzeit an
  • cal: Zeigt einen Kalender für den aktuellen Monat an
  • touch: Ändert den Zeitstempel einer vorhandenen Datei oder erstellt eine neue Datei mit dem angegebenen Zeitstempel

Farbige Ausgabe: Dateien mit unterschiedlichen Farben markieren

Mit der Option --color kannst du die Ausgabe von ls mit verschiedenen Farben versehen, um Dateien anhand ihres Typs, ihrer Berechtigungen oder anderer Attribute zu unterscheiden. Dies kann die Navigation durch Verzeichnisse erheblich erleichtern.

Farbcodierung nach Dateityp

Standardmäßig verwendet ls die folgenden Farben, um verschiedene Dateitypen zu kennzeichnen:

  • blau: Verzeichnisse
  • grün: ausführbare Dateien
  • rot: Symlinks
  • türkis: Gerätedateien
  • gelb: reguläre Dateien

Farbcodierung nach Berechtigungen

Du kannst auch die Option --color=auto verwenden, um die Ausgabe von ls basierend auf den Berechtigungen der Dateien zu färben.

  • normal: Lesbare Dateien
  • fett: Schreibbare Dateien
  • unterstrichen: Ausführbare Dateien

Benutzerdefinierte Farbcodierung

Wenn du eine bestimmte Farbcodierung bevorzugst, kannst du die Option --color=Wert verwenden, wobei Wert einem der folgenden Werte entsprechen kann:

  • none: Keine Farben
  • auto: Automatische Farbcodierung nach Berechtigungen
  • always: Immer Farbcodierung verwenden
  • tty: Farbcodierung nur verwenden, wenn die Ausgabe auf ein Terminal geleitet wird

Tools für die Farbcodierung

Neben der integrierten Farbcodierung in ls gibt es auch Tools von Drittanbietern, die erweiterte Farbcodierungsoptionen bieten:

  • exa: Ein modernes Terminal-Dateisystem-Explorer mit einer Vielzahl von Farbcodierungsoptionen
  • lscolors: Ein Konfigurationstool zur Anpassung von ls' Farbcodierung

Alias-Erstellung: Anpassung des 'ls'-Befehls

Der Befehl 'ls' kann mit Aliasen angepasst werden, um ihn noch nützlicher zu machen. Mit Aliasen kannst du eigene Befehle erstellen, die bestimmte 'ls'-Optionen ausführen. So kannst du schnell auf häufig verwendete Optionen zugreifen oder eigene Optionen kombinieren, um deine Arbeitsabläufe zu optimieren.

Aliase erstellen

Um einen Alias zu erstellen, verwende den Befehl 'alias' in deiner Bash-Shell. Die Syntax lautet:

alias mein_alias="ls-Optionen"

Beispielsweise kannst du einen Alias erstellen, der versteckte Dateien anzeigt:

alias ls_hidden="ls -a"

Nun kannst du den Befehl 'ls_hidden' verwenden, um versteckte Dateien aufzulisten.

Beispiele für Aliase

Hier sind einige nützliche Aliasbeispiele:

  • ls_tree: Listet Verzeichnisse rekursiv auf, indem es 'ls -R' ausführt.
  • ls_size: Zeigt die Dateigrößen in einem lesbaren Format an, indem es 'ls -lh' ausführt.
  • ls_color: Aktiviert die Farbausgabe für verschiedene Dateitypen, indem es 'ls --color=auto' ausführt.
  • ls_long: Listet Dateien im Langformat auf, indem es 'ls -l' ausführt.

Tipps zur Alias-Erstellung

  • Verwende beschreibende Namen für deine Aliase, damit du dich leicht daran erinnerst, was sie tun.
  • Gruppiere ähnliche Aliase zusammen, indem du sie in derselben Zeile erstellst.
  • Teste deine Aliase immer, bevor du sie in deiner Shell verwendest.
  • Du kannst Aliase auch in Konfigurationsdateien wie '/.bashrc' oder '/.zshrc' speichern, um sie dauerhaft zu machen.
  • Wenn du einen Alias löschen möchtest, verwende den Befehl 'unalias mein_alias'.

Indem du Aliase für den Befehl 'ls' erstellst, kannst du deine Befehlszeile anpassen und deine Produktivität steigern.

Erweitertes 'ls': Verwendung mit anderen Befehlen

'ls' ist ein mächtiges Werkzeug, das du noch viel vielseitiger machen kannst, indem du es mit anderen Befehlen kombinierst. Hier sind einige Möglichkeiten, wie du 'ls' mit anderen Befehlen verwenden kannst:

Verwendung mit 'grep'

'grep' ist ein Befehl zum Filtern von Text. Du kannst 'grep' mit 'ls' kombinieren, um Dateien mit bestimmten Namen auflisten zu lassen. Beispielsweise listet der folgende Befehl alle Dateien auf, die den Begriff "Bericht" in ihrem Namen enthalten:

ls | grep Bericht

Verwendung mit 'wc'

'wc' ist ein Befehl zum Zählen von Zeilen, Wörtern und Zeichen. Du kannst 'wc' mit 'ls' kombinieren, um die Anzahl der Dateien in einem Verzeichnis, die Länge ihrer Dateinamen oder die Gesamtgröße ihrer Inhalte auszugeben. Beispielsweise listet der folgende Befehl die Anzahl der Dateien in deinem aktuellen Verzeichnis auf:

ls | wc -l

Verwendung mit 'sort'

'sort' ist ein Befehl zum Sortieren von Text. Du kannst 'sort' mit 'ls' kombinieren, um Dateien in alphabetischer Reihenfolge, nach Größe, nach Änderungsdatum oder nach anderen Kriterien sortieren zu lassen. Beispielsweise listet der folgende Befehl Dateien in absteigender Reihenfolge ihrer Größe auf:

ls -l | sort -r -k5

Verwendung mit 'find'

'find' ist ein Befehl zum Suchen nach Dateien und Verzeichnissen. Du kannst 'find' mit 'ls' kombinieren, um Dateien und Verzeichnisse zu finden, die bestimmte Kriterien erfüllen. Beispielsweise findet der folgende Befehl alle Dateien mit dem Namen "log.txt" in deinem System:

find / -name log.txt

Verwendung mit 'xargs'

'xargs' ist ein Befehl, der Befehlen Argumente übergibt. Du kannst 'xargs' mit 'ls' kombinieren, um Befehle auf mehreren Dateien auf einmal auszuführen. Beispielsweise löscht der folgende Befehl alle Dateien mit der Erweiterung ".tmp" in deinem aktuellen Verzeichnis:

ls *.tmp | xargs rm -f

Indem du 'ls' mit anderen Befehlen kombinierst, kannst du deine Dateilisten filtern, sortieren, suchen und verarbeiten. Dies macht 'ls' zu einem noch mächtigeren Werkzeug für die Verwaltung deines Linux-Systems.

Folge uns

Neue Posts

Beliebte Posts