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 FormatZugriffsdatum 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.