ls
Der Shell-Befehl ls (list) dient zum Anzeigen von Informationen über Dateien und Verzeichnisse. ls hat nur eine Standardausgabe (stdout).
Das erste Zeichen der Ausgabe von ls bezeichnet den Dateityp.
Dateityp | Beschreibung |
---|---|
- | gewöhnliche Datei |
d | (directory) Verzeichnis |
b | (block) blockorientiertes Gerät |
c | (character) zeichenorientiertes Gerät |
l | symbolischer Link |
p | (named pipe) FIFO-Datei |
s | Unix domain socket |
Die nächsten neun Zeichen bezeichnen in Dreiergruppen die Zugriffsrechte von Benutzer (user), Gruppe (group) und allen anderen (other).
Zugriffsrecht | Beschreibung |
---|---|
r | (read) lesen |
w | (write) schreiben |
x | (execute) ausführen |
Konfiguration
Nachsehen ob es sich beim Befehl "ls" um ein Alias handelt.
$ alias ls alias ls='/bin/ls $LS_OPTIONS'
Ausserkraftsetzen des alias für die aktuelle Sitzung.
$ unalias ls
Zum dauerhaften Ändern der alias-Belegung kann ein eigenes Alias in die Konfigurationsdatei ".bashrc" geschrieben und damit die systemweite Vorgabe unwirksam gemacht werden.
Anzeige der definierten Parameter.
$ echo $LS_OPTION -N --color=tty -T 0
Anzeige der definierten Farben zur Kennzeichnung der Dateitypen.
$ echo $LS_COLORS no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;...
Ein Setzen der Farben und Anzeige der Steuercodes für die Farben ist mit dircolors möglich.
Optionen
Option | Beschreibung | ||||||||
---|---|---|---|---|---|---|---|---|---|
-a | Anzeige sämtlicher Dateien im Verzeichnis (auch der Punkt-Dateien). | ||||||||
-C | Spaltenweise Anzeige der Informationen. | ||||||||
--color | Zuordnung von Farben zu bestimmten Dateitypen.
| ||||||||
-d | Anzeige nur des Namens von Verzeichnissen, aber nicht ihren Inhalt. | ||||||||
-F | Zeigt an, ob es sich um eine Datei, ein Verzeichnis oder eine ausführbare Datei handelt. | ||||||||
-I | (Ignore) Ausblenden bestimmter Dateien. | ||||||||
-i | Anzeige der Indexnummer (des i-Nodes). | ||||||||
-l | Anzeige ausführlicher Informationen. | ||||||||
-r | (reverse) Anzeige der Einträge in umgekehrter Reihenfolge. | ||||||||
-S | (Size) Anzeige dergrössten Dateien zuerst. | ||||||||
-s | (sectors) Anzeige der Anzahl Blöcke zu 512 bytes. | ||||||||
-t | (time stamp) Anzeige gemäss Zeitstempel. | ||||||||
-x | Spaltenweise Anzeige der Informationen. |
Verwendung
Die Dateinamen des aktuellen Verzeichnisses werden in die Datei "file" geschrieben. Auf dem Bildschirm wird die Anzahl Dateien des aktuellen Verzeichnisses ausgegeben.
$ ls | tee file | wc -l
Der Inhalt von Datei "filelist" wird mit "cat" ausgegeben und als Argument an den Befehl "ls" übergeben.
$ ls -l $(cat filelist)
Ausgabe der Inode-Nummer für eine Datei.
$ ls -il /dev/term/a 53810 lrwxrwxrwx 1 root root 52 Mar 13 12:49 /dev/term/a -> ../../devices/pci@1f,0/pci@1,1/ebus@1/se@14,400000:a
Anzeige aller Zeilen mit erstem Zeichen "d", also alle Verzeichnisse. grep sucht dabei in der Standardeingabe einen Zeilenanfang, auf den direkt ein d folgt.
$ ls -l | grep "^d"
Ausgabe nach ("-l") Erstellungsdatum und Uhrzeit ("-t") absteigend.
$ ls -ltr
Anzeige aller Zeilen, die
- mit D oder d beginnen und von irgendeinem Zeichen ("?") gefolgt werden
- die mit A oder a weitergehen und von irgendwelchen Zeichen ("*") gefolgt werden
- die von einer der Ziffern von 0 bis 9 gefolgt werden und mit irgendwelchen Zeichen ("*") weitergehen
$ ls -l [Dd]?[Aa]*[0-9]*
Ausgabe ausführlicher Informationen zu allen mit "file" beginnenden Dateien, sortiert nach Time-stamp, jedoch in umgekehrter Reihenfolge ("-r").
$ ls -ltr file*
Ausgabe aller Informationen zu den drei grössten Dateien im Verzeichnis "/usr/bin".
$ ls -al /usr/bin | grep ^- | sort -nr +4 | head -3 | awk '{print $0}'
Ausgabe des Dateinamens der grössten Datei im Verzeichnis "/usr/bin".
$ ls -l /usr/bin | grep ^- | sort -nr +4 | head -1 | awk '{print $8}'
Ausgabe der Anzahl der Dateien im aktuellen Verzeichnis.
$ ls -1Ra | wc | awk '{ printf("Es gibt %s Dateien in diesem Verzeichnis.\n", $1-2) }' $ ls -l | wc -l