Der Befehl ls

ls-featured

In diesem Beitrag lernen Sie den Befehl ls kennen, welcher unter Linux- / UNIX-Betriebssystemen zur Ausgabe von Informationen einer Datei bzw. Dateien eines Verzeichnisses verwendet wird.

Zunächst wird die allgemeine Syntax vorgestellt, anschließend werden die wichtigsten Optionen sowie auch verschiedene Beispielanwendungen des Befehls ls gezeigt.

Allgemeine Syntax

Die allgemeine Syntax des Befehls ls lautet folgendermaßen:

ls [Optionen] [Datei / Verzeichnis]

Werden ls weder Optionen noch ein Datei- bzw. Verzeichnispfad übergeben, so werden die im aktuellen Arbeitsverzeichnis befindlichen Dateien und Verzeichnisse ausgegeben. Standardmäßig werden dabei lediglich die Namen der Dateien ausgegeben.

Durch Angabe eines Verzeichnisses ist es möglich, seine Inhalte auszugeben. Auch die Angabe einer spezifischen Datei ist möglich - die Ausgabe von ls ist hiebei einzeilig und beinhaltet ausschließlich die angegebene Datei.

Beispiel: Arbeitsverzeichnis auflisten

In diesem Beispiel werden die Inhalte des aktuellen Arbeitsverzeichnisses aufgelistet. Das Arbeitsverzeichnis ist derzeit /home/hellberg/profi-tutorials/.
Eingabe:

ls

Ausgabe:

convertchat convertviral e-business foto glossar hellberg.txt it-consulting linux

Beispiel: Spezifisches Verzeichnis auflisten

Im Folgenden werden die Inhalte des Verzeichnisses /home/hellberg/profi-tutorials/e-business/convertchat/ aufgelistet.
Eingabe:

ls /home/hellberg/profi-tutorials/e-business/convertchat/

Ausgabe:

convertchat-chatbot-erstellen.txt convertchat-domain-verknuepfen.txt

Wichtige Optionen

Die wichtigsten Optionen des Befehls ls werden im Folgenden, in verschiedenen Kategorien aufgeteilt, vorgestellt.

Aufzulistende Dateien spezifizieren

Im Folgenden finden Sie Optionen, welche verwendet werden können, um die Menge der aufgelisteten Einträge zu beeinflussen:

Option

Funktion

-a

Einträge, welche mit "." beginnen, werden nicht ignoriert.

-A

Einträge "." und ".." nicht auflisten, andere mit "." beginnende Einträge nicht ignorieren.

-d

Konkret Verzeichnisse auflisten, nicht jedoch ihre Inhalte.

-I

Einträge, auf die das angegebene Shell-Muster passt, werden nicht ausgegeben.

-R

Verzeichnisse werden rekursiv aufgelistet.

Beispiel: Versteckte Dateien anzeigen 1

In diesem Beispiel werden auch Einträge im aktuellen Arbeitsverzeichnis, welche einen Punkt "." am Anfang ihres Namens haben (versteckte Dateien) angezeigt. Das aktuelle Arbeitsverzeichnis enthält hierbei unter anderem eine Datei ".hedv-versteckt.txt".
Eingabe:

ls -a

Ausgabe:

Neben der Datei ".hedv-versteckt.txt" werden auch die beiden Einträge "." (aktuelles Verzeichnis) und ".." (Elternverzeichnis) angezeigt.

. .. convertchat convertviral e-business foto glossar .hedv-versteckt.txt hellberg.txt it-consulting linux

Beispiel: Versteckte Dateien anzeigen 2

Dieses Beispiel nutz anstelle der Option -a nun -A zur Ausgabe von versteckten Dateien. Hierbei werden nun jedoch die Einträge "." und ".." ignoriert.
Eingabe:

ls -A

Ausgabe:

Neben der Datei ".hedv-versteckt.txt" werden auch die beiden Einträge "." (aktuelles Verzeichnis) und ".." (Elternverzeichnis) angezeigt.

convertchat convertviral e-business foto glossar .hedv-versteckt.txt hellberg.txt it-consulting linux

Beispiel: Dateien nach Shell-Muster ignorieren

Hierbei sollen alle Dateien des Arbeitsverzeichnisses aufgelistet werden, bis auf solche, die das Wort "befehl" in ihrem Namen enthalten. Das Arbeitsverzeichnis enthält die Dateien "befehl-find.txt", "befehl-grep.txt" und "linux-berechtigungssystem.txt".
Eingabe:

ls -I "*befehl*"

Ausgabe:

linux-berechtigungssystem.txt

Beispiel: Verzeichnisse rekursiv auflisten

Schließlich sollen hier einmal rekursiv die Inhalte des aktuellen Arbeitsverzeichnisses sowie aller Unterverzeichnisse "administration", "distributionen", "grundlagen", "installation", "netzwerke" und "sicherheit", welche wiederum einige Dateien beinhalten.
Eingabe:

ls -R

Ausgabe:

In der Ausgabe werden die Verzeichnisinhalte nun nach ihrem jeweiligen Verzeichnisnamen gruppiert ausgegeben.

befehl-ls-beispiel-001

Aufzulistende Information spezifizieren

Die mit den Einträgen aufgelisteten Informationen werden mit den folgenden Optionen 

Option

Funktion

-i

Inode-Indexnummer, welche jede Datei eines Dateisystems eindeutig identifiziert, ausgeben.

-l

Für die Ausgabe wird ein langes (detailliertes) Listenformat verwendet.

-n

Analog zur Option -l, jedoch werden numerische UIDs und GIDs ausgegeben.

-s

Die von einer Datei belegte Festplattenkapazität wird in Einheiten von 1024 Byte mit ausgegeben. Sie ist für gewöhnlich etwas höher als die Dateigröße.

Beispiel: Inode-Indexnummern anzeigen

In diesem Beispiel werden mithilfe der Option -i die Inode-Indexnummern aller Einträge angezeigt.
Eingabe:

ls -i

Ausgabe:

In der Ausgabe wird nun die Indoe-Indexnummer jeweils links neben den Einträgen angezeigt.

1059708 convertchat 1059707 convertviral 1059702 e-business 1059706 foto 1059701 glossar 1063448 hellberg.txt 1059704 it-consulting 1059703 linux

Beispiel: Langes Listenformat verwenden

Mit der Option -l werden in diesem Beispiel die Einträge eines Verzeichnisses im langen, detaillierten Listenformat ausgegeben.
Eingabe:

ls -l profi-tutorials/e-business/convertviral

Ausgabe:

Die Einträge werden nun Zeilenweise mit Informationen zu Typ, Berechtigungen, Kapazität und Zeitstempel ausgegeben.

befehl-ls-beispiel-002
Beispiel: Langes Listenformat (numerische UIDs / GIDs) verwenden

Dieses Beispiel ist analog zum vorherigen Beispiel, jedoch wird nun die Option -n verwendet, um die Ausgabe von Benutzer und Gruppe in numerischer Form zu erhalten.
Eingabe:

ls -n profi-tutorials/e-business/convertviral/

Ausgabe:

Die Benutzer- und Gruppeninformation wird nun numerisch als UID bzw. GID angezeigt.

befehl-ls-beispiel-003
Beispiel: Belegte Festplattenkapazität anzeigen

Hierbei soll neben der Ausgabe im langen Listenformat auch eine Ausgabe der von der jeweiligen Datei belegten Festplattenkapazität erfolgen.
Eingabe:

ls -ls profi-tutorials/linux/administration/

Ausgabe:

Die belegte Festplattenkapazität wird links in Einheiten von 1024 Bytes angezeigt.

befehl-ls-beispiel-004

Sortierung der Ausgabe

Die Sortierreihenfolge der Ausgabe kann mit den im Folgenden aufgelisteten Optionen beeinflusst werden. Standardmäßig wird eine lexikographische Sortierung nach Dateinamen mithilfe des ASCII-Character-Codes durchgeführt.

Option

Funktion

-r

Sortierreihenfolge umkehren.

--sort

Nach angegebenem Parameter sortieren. Mögliche Parameter sind "size", "time", "version" und "extension".

Beispiel: Sortierung nach Zeitstempel

Die Ausgabe von ls im langen Listenformat soll in diesem Beispiel zusätzlich nach dem Zeitstempel (Parameter "time") sortiert werden.
Eingabe:

ls -l --sort time profi-tutorials/linux/grundlagen/

Ausgabe:

Die drei ausgegebenen Einträge sind nach Ihren Zeitstempeln absteigend (neueste zuerst) sortiert.

befehl-ls-beispiel-006
Beispiel: Sortierung nach Zeitstempel (umgekehrt)

Genau wie im vorigen Beispiel sollen die Einträge nach ihrem Zeitstempel sortiert werden. Diesmal soll mithilfe der Option -r jedoch die Sortierreihenfolge umgekehrt werden.
Eingabe:

ls -lr --sort time profi-tutorials/linux/grundlagen/

Ausgabe:

Die Ausgabe ist nun nach Zeitstempeln aufsteigend (älteste zuerst) sortiert.

befehl-ls-beispiel-005

Formatierung der Ausgabe

Das Format der ausgegebenen Einträge wird schließlich mit den folgenden Optionen eingestellt:

Option

Funktion

-b

Nichtdruckbare Zeichen werden mit Zeichen im C-Stil maskiert.

-h

Größen in menschenlesbarem Format (z.B. 100M, 2G etc.) ausgeben. Wird mit -l verwendet.

-q

Anstelle nicht-druckbarer Zeichen werden Fragezeichen "?" ausgegeben.

--time

Die mit -l ausgegebene Zeit spezifizieren. Mögliche Parameter sind "atime", "access", "use", "ctime", "status". Die spezifizierte Zeit wird bei "--sort time" als Sortierschlüssel verwendet.

--time-style

Das Format der mit -l ausgegebenen Zeit spezifizieren. Mögliche Parameter sind "full-iso", "long-iso", "iso", "locale", "+[Format]". Letztere auf das Plus "+" folgende Formatangabe [Format] wird wie bei dem Befehl date interpretiert.

-l

Eine Datei pro Zeile ausgeben. (Standard, wenn Standard-Output stdout kein Terminal ist).

Beispiel: Größen in menschenlesbarem Format anzeigen

Größen sollen in diesem Beispiel in menschenlesbarem Format ausgegeben werden.
Eingabe:

ls -lh profi-tutorials/linux/netzwerke/

Ausgabe:

Jegliche Größenausgaben werden nun in geeignete Einheiten umgerechnet und entsprechend angezeigt. In diesem Fall wird die Größe der Datei "befehl-scp.txt" etwa mit "59K" (Kibibytes) ausgegeben.

befehl-ls-beispiel-007
Beispiel: Ausgegebene Zeitangabe spezifizieren

Mithilfe der Option --time soll hier nun eine Zeitangabe für die Ausgabe mit ls spezifiziert werden. Als Parameter wird in diesem Fall "use" verwendet.
Eingabe:

ls -l --time use profi-tutorials/linux/netzwerke/

Ausgabe:

Bei der mit der Option -l ausgegebenen Zeit handelt es sich nun um die letzte Zeugriffszeit ("use"). Dieser Zeitstempel wird beispielsweise bei einem lesenden Zugriff mit dem Texteditor "nano" aktualisiert.

befehl-ls-beispiel-008
Beispiel: Zeitformat spezifizieren

Die Option --time-style wird nun verwendet, um das Format der ausgegebenen Zeit festzulegen. In diesem Fall wird der Parameter "full-iso" verwendet, um eine vollständige Ausgabe im Format nach ISO-8601 zu erhalten.
Eingabe:

ls -l --time-style full-iso profi-toturials/linux/administration/

Ausgabe:

Die ausgegebenen Zeitstempel sind nun im Format nach ISO-8601.

befehl-ls-beispiel-009
Beispiel: Zeitformat mit +[Format] spezifizieren

Auch hier soll wieder das Format der Zeitstempel-Ausgabe spezifiziert werden. Hierbei soll nun jedoch folgendes eigenes Format angegeben werden: KW[Kalenderwoche]-[Jahr][Monat][Tag]
Eingabe:

ls -l --time-style '+KW%W-%Y%m%d' profi-tutorials/linux/administration/

Ausgabe:

Die Zeitstempel haben nun das oben genannte eigene Format.

befehl-ls-beispiel-010
Beispiel: Eine Datei pro Zeile

Schließlich soll hier mit der Option -l für jeden ausgegebenen Eintrag eine eigene Zeile verwendet werden.
Eingabe:

ls -l profi-tutorials/

Ausgabe:

Jeder Eintrag wird nun auf einer eigenen Zeile angezeigt - auch ohne Verwendung der Option -l.

befehl-ls-beispiel-011

Abonniere JETZT unseren Newsletter!


Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: