ls
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
ls steht für list und zeigt den Inhalt eines Verzeichnisses bzw. Ordners an. Damit ist es einer der am häufigsten verwendeten Befehle auf der Kommandozeile.
Installation¶
Das Programm ls ist im essentiellen Paket
coreutils
von Ubuntu enthalten und deshalb auf jedem System installiert.
Syntax¶
Die allgemeine Syntax von ls ist [1]
ls [OPTION] [VERZEICHNIS]
Wird kein Verzeichnis angeben, so wird der Inhalt des aktuellen Verzeichnisses aufgelistet.
Optionen¶
ls kennt eine Reihe von Optionen:
Option | Beschreibung |
-A oder --almost-all | listet auch versteckte Dateien auf |
-a oder --all | listet auch versteckte Dateien und Verzeichniseinträge wie . und .. auf |
-l | Datei-Informationen in Langform ausgeben |
-c | Datum der letzten Änderung |
-C | Namen nebeneinander ausgeben (Standard) |
-d oder --directory | Verzeichnisse und keine Inhalte anzeigen |
-h oder --human-readable | gibt in Kombination mit -l die Größe in einem für Menschen besser lesbaren Format aus |
-i | Inode-Nummer vor Name ausgeben |
-m | Namen in einer Zeile ausgeben |
-R oder --recursive | Auch in Unterverzeichnisse absteigen |
Alle Optionen kann man in den Manpages von ls nachlesen (Online-Version 🇩🇪).
Beispiele¶
Allgemeines Beispiel¶
Eine der häufigsten Options-Kombination ist sicherlich -la
, da so alle Dateien, auch die versteckten, in Langform ausgegeben werden. Dies kann z.B. so aussehen:
ls -la
drwxr-xr-x 5 eigentümer gruppe 4096 Mär 19 21:30 . drwxr-xr-x 4 eigentümer gruppe 4096 Mär 17 00:05 .. drwxr-xr-- 5 eigentümer gruppe 4096 Mär 17 2010 Artwork-Themes -rw-r--r-- 1 eigentümer gruppe 337 Mär 17 10:36 .bash_aliases -rw------- 1 eigentümer gruppe 284 Mär 17 22:39 .bash_history -rw-r--r-- 1 eigentümer gruppe 414 Mär 17 00:05 .bash_profile -rw-r--r-- 1 eigentümer gruppe 261 Mär 19 10:37 .bashrc -rw-rw-r-- 1 eigentümer gruppe 164926 Mai 18 2010 Dokumentation.pdf
Die vorstehende Ausgabe stellt folgende Informationen bereit:
drwxr-xr-x | 5 | eigentümer gruppe | 4096 | Mär 19 21:30 | . | |
Dateityp | Rechte | Anzahl Hardlinks | Eigentümer Gruppe | Dateigröße | Änderungszeit (bei Dateien älter als 6 Monate wird das Jahr anstelle der Uhrzeit* angezeigt) | Name; Ein Punkt bezeichnet das Verzeichnis selber, zwei Punkte das übergeordnete Verzeichnis. |
* mit der Option --full-time
kann man auch unabhängig vom Alter die ganz genaue Uhrzeit ausgeben lassen
Mit dem folgenden Befehl kann man sich ausschließlich die Unterordner des aktiven Ordners anzeigen lassen:
ls -ld */
drwxr-xr-x 6 eigentümer gruppe 4096 Sep 23 2020 Bilder/ drwxr-xr-x 6 eigentümer gruppe 4096 Apr 4 09:19 Dokumente/ drwxr-xr-x 2 eigentümer gruppe 4096 Aug 22 08:09 Downloads/ drwxr-xr-x 2 eigentümer gruppe 4096 Mai 19 2018 Musik/ drwxr-xr-x 2 eigentümer gruppe 4096 Mai 19 2018 Öffentlich/ drwxr-xr-x 2 eigentümer gruppe 4096 Jun 28 2018 Schreibtisch/ drwxr-xr-x 2 eigentümer gruppe 4096 Sep 25 2020 Videos/ drwxr-xr-x 2 eigentümer gruppe 4096 Mai 19 2018 Vorlagen/
Man kann das Verzeichnis angeben, dessen Inhalt ausgegeben werden soll:
ls /etc
...
Mit Hilfe von ls und einer Umleitung kann man die Ausgabe ausdrucken lassen bzw. daraus eine druckbare Datei erzeugen. Dies funktioniert z.B. so:
cd /pfad/zum/ordner ls > verzeichnis.txt
Nun kann man die Datei verzeichnis.txt z.B. mit einem Textverarbeitungsprogramm oder Editor öffnen und drucken.
Dateitypen¶
Bei der Ausgabe mit der Option -l gibt der erste Buchstabe den Dateityp an. Das d
steht für „Directory“ (= Verzeichnis) und zeigt an, dass man es mit einem Ordner zu tun hat. Neben dem d
gibt es noch andere Zeichen, die verschiedene Dateitypen kennzeichnen:
Mögliche Dateitypen | |||
Typ | Bezeichnung | Beschreibung | |
d | Directory | Verzeichnis/Ordner | |
- | File | Datei (unabhängig davon ob es ein Programm oder z. B. ein Office-Dokument ist) | |
l | Link | Verknüpfung (siehe ln) | |
c | Character Device | Dies ist eine Gerätedatei, welche unter /dev zu finden ist. Es handelt sich dabei um ein zeichenorientiertes Gerät (z.B. ein Modem) | |
b | Block Device | Dies ist eine Gerätedatei welche unter /dev zu finden ist. Es handelt sich dabei um ein blockorientiertes Gerät (z.B. Festplatte oder USB-Stick) | |
s | Socket | Dies ist ein sog. Unix Domain Socket, welches von vielen Programmen für die Interprozess-Kommunikation verwendet wird. | |
p | Pipe | Dies ist eine Pipe, und alles was ein Programm in diese schreibt, kann von einem anderen Programm ausgelesen werden. Auch die Pipe wird für Interprozesskommunikation verwendet. |
Zusammenspiel mit anderen Programmen¶
ls
kann auch wie jedes andere Konsolenprogramm mit anderen Programmen kombiniert werden. Ein Beispiel ist das folgende, welches fast alle verfügbaren Programm auflistet mit einer zusätzlichen Kurzbeschreibung, dies wird dann in less angezeigt
ls /bin /sbin /usr/bin /usr/sbin /usr/bin/X11 | xargs whatis | less
Navigiert werden kann über die ↑ -, ↓ -, ← -, → -Tasten, Bild ↑ - und Bild ↓ -Tasten. Verlassen der Befehlsübersicht durch Tippen von Q .
Sucht man alle Befehle, die etwas mit einem bestimmten Suchwort zu tun haben, kann man folgenden Befehl verwenden. Als Beispiel für das Suchwort "Kopieren" dient hier der Wortstamm "kopier" und dasselbe auf Englisch, "copy":
ls /bin /sbin /usr/bin /usr/sbin /usr/bin/X11 | xargs whatis | grep -Ei "kopier|copy"
Um herauszufinden, wie viele Treffer dies erzeugt (teils doppelt gelistet), kann man ein " | wc -l
" an das Ende der Befehlszeile anhängen.
Anpassen von ls¶
Die Ausgabe von ls ist in der Regel farbig, d.h. Programme haben eine andere Farbe als Verzeichnisse usw. Dieses Verhalten kann mit Hilfe von dircolors eingestellt werden.
Außerdem kann man für häufig benutzte ls
-Befehle mit Optionen gleich einen alias anlegen, das erleichtert das Arbeiten im Terminal.
Links¶
exa - moderne Alternative zu ls
Shell/Befehlsübersicht Übersicht über verschiedene Shell-Befehle