Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ls - Informationen über Dateiverzeichnisse und Dateien ausgeben

&pagelevel(4)&pagelevel

(list directory contents)


Mit ls können Sie sich Informationen über Dateien und Dateiverzeichnisse ausgeben lassen. Art und Umfang der Information sowie das Ausgabeformat können Sie festlegen, indem Sie Optionen angeben.


Syntax


ls[ option]...[ datei]...

Kein Argument angegeben

ls gibt aus: Namen der Dateien und Dateiverzeichnisse des aktuellen Dateiverzeichnisses, alphabetisch sortiert.

Keine Option angegeben

datei ist ein Dateiverzeichnis:
ls gibt einspaltig aus: Namen der Dateien und Dateiverzeichnisse, die darin eingetragen sind, alphabetisch sortiert. Dateien, deren Name mit einem Punkt beginnt, z.B. .profile, werden nicht ausgegeben.

datei ist eine Datei:
ls gibt aus: Name der Datei. Die Datei kann mit ihrem teilqualifizierten Dateinamen angegeben werden. Wenn für datei ein Stern * angegeben wird, gibt ls alle Dateien und Dateiverzeichnisse (mit Inhalt) aus.

-a

Alle Dateinamen, auch die, die mit einem Punkt . beginnen, werden aufgelistet.

-b

Nicht druckbare Zeichen in Dateinamen werden oktal im Format \ ddd ausgegeben.

Anstelle von ddd steht der oktale Zahlenwert des Zeichens (siehe Tabellen und Verzeichnisse,  Zeichensatz EBCDIC).

-c

Zusammen mit Option -l:
Statt des Zeitpunkts der letzten Änderung der Datei wird der Zeitpunkt der letzten Indexänderung ausgegeben (Dateierstellung, Änderung der Zugriffsberechtigung etc).

Zusammen mit Option -t:
Statt des Zeitpunkts der letzten Änderung der Datei wird der Zeitpunkt der letzten Indexänderung als Sortierschlüssel verwendet.

-C

Die Einträge werden mehrspaltig ausgegeben (Standardwert bei Ausgabe auf Terminal).

Die Einträge innerhalb der Spalten sind alphabetisch sortiert.

ls verwendet die Umgebungsvariable COLUMNS, um die Anzahl Zeichen pro Zeile zu ermitteln. Ist diese nicht gesetzt, versucht ls, die Information in der Geräte-Datenbank zu finden, wobei der Wert der Umgebungsvariablen TERM als Suchschlüssel verwendet wird. Wenn das auch nicht erfolgreich ist, werden 80 Zeichen pro Zeile ausgegeben.

-d

Ist datei ein Dateiverzeichnis, gibt ls dessen Namen (nicht seinen Inhalt) aus; diese Option wird oft zusammen mit -l gesetzt, um Informationen über den Status eines Dateiverzeichnisses zu erhalten. Wird datei nicht angegeben, gibt ls einen Punkt für das aktuelle Dateiverzeichnis aus.

-f

ls behandelt jedes Argument als Dateiverzeichnis und gibt die Einträge jedes Dateiverzeichnisses in der Reihenfolge aus, in der sie erfasst wurden. Wird kein Argument angegeben, gibt ls die Einträge des aktuellen Dateiverzeichnisses aus.

Diese Option deaktiviert die Optionen -l, -t, -F, -s und -r und aktiviert die Option -a

-F

Dateiverzeichnisse werden mit einem Schrägstrich / hinter ihren Namen gekennzeichnet.

Dateien, die als ausführbar deklariert sind, kennzeichnet ls mit dem Suffix *. Ein Klammeraffe @ bezeichnet einen symbolischen Verweis, ein senkrechter Strich | eine FIFO-Datei.

-g

Die Benutzerkennung des Eigentümers wird nicht ausgegeben; wirkt im übrigen wie -l.

-i

Die Indexnummer (inode) jeder Datei bzw. jedes Dateiverzeichnisses wird in der ersten Spalte der Ausgabe angezeigt.

-l

Sie erhalten in einer langen Liste ausführliche Informationen.

Die Informationen werden in folgender Form ausgegeben:


-rwxrwxrwx n name gruppe nnnn Mon nn nn:nn datei
||         | |    |      |    |   |  |     |
||         | |    |      |    |   |  |     Dateiname
||         | |    |      |    |   |  Uhrzeit
||         | |    |      |    |   Tag
||         | |    |      |    Monat
||         | |    |      Größe in Byte
||         | |    Gruppenname
||         | Benutzerkennung des Eigentümers
||         Anzahl der Verweise
|Zugriffsrecht
Identifikation


Identifkation

(directory) Dateiverzeichnis

(symbolic link) Symbolischer Verweis

(block device special file) Gerätedatei, auf die blockweise zugegriffen werden kann

(character device special file) Gerätedatei, auf die zeichenweise zugegriffen werden kann

(shared memory) Datei, auf die verteilter Zugriff möglich ist

 (named pipe) FIFO

(semaphore) Semaphore-Datei

einfache Datei


Zugriffsrecht

3 Gruppen mit je 3 Zeichen informieren über die Zugriffsrechte

  • des Eigentümers der Datei (Zeichen 1 bis 3),

  • der Gruppenmitglieder (Zeichen 4 bis 6),

  • der anderen Benutzer (Zeichen 7 bis 9).

In jeder Gruppe steht an

1. Stelle:

für Leserecht oder - für kein Leserecht

2. Stelle:

für Schreibrecht oder - für kein Schreibrecht

3. Stelle:

für Ausführungsrecht

für Ausführungsrecht plus gesetztes s-Bit

für Ausführungsrecht plus gesetztes t-Bit (Sticky-Bit)

für t-Bit (Sticky-Bit) ohne Ausführungsrecht

für l-Bit (gesetztes s-Bit und nicht gesetztes Ausführungsrecht)

für weder Ausführungsrecht noch ein gesetztes spezielles Bit

Wenn für den Eigentümer oder die Gruppe das s-Bit und gleichzeitig das entsprechende x-Bit (für Ausführungsrecht) gesetzt ist, steht anstelle von x ein s. Das s-Bit kann ohne das entsprechende x-Bit nicht gesetzt sein.

Anstelle des x-Bits kann bei der Gruppe auch ein S stehen, falls das l-Bit für die Datei gesetzt ist, d.h., wenn die obligatorische Sperre (mandatory locking) für diese Datei eingeschaltet ist. In diesem Fall kann weder das x-Bit noch das s-Bit für die Gruppe gesetzt sein.
Die Lese- und Schreibrechte einer Datei mit gesetztem l-Bit können von einem Programm, das die Funktion lockf() verwendet, solange gesperrt werden, wie dieses Programm auf die Datei zugreift (siehe chmod).

Anstelle des x-Bits bei den anderen Benutzern kann auch ein t oder T stehen.
T bzw. t bezeichnen den Status des Sticky-Bits (t-bits). T steht für das gesetzte Sticky-Bit ohne x-Bit, t steht für gesetztes Sticky-Bit mit gesetztem x-Bit (siehe chmod).


Anzahl der Verweise
Dezimalzahl, die die Anzahl der Verweise auf die Datei angibt, mindestens 1.


Benutzerkennung des Eigentümers
Login-Name des Eigentümers der Datei.


Gruppenname
Gruppenname des Eigentümers der Datei.


Größe in Byte
Dezimalzahl, die die Größe der Datei in Byte angibt.
Wenn eine Gerätedatei angegeben ist, so wird nicht die Größe der Datei ausgegeben, sondern Gerätetyp (major device number) und Gerätenummer (minor device number).


Monat, Tag, Uhrzeit
gibt das Datum und die Uhrzeit der letzten Änderung der Datei an. Wenn das Datum der letzten Änderung länger als ein halbes Jahr zurückliegt, wird anstelle der Uhrzeit die Jahreszahl ausgegeben.


Dateiname
Name der Datei.


Bei Dateiverzeichnissen wird zusätzlich zur Größe der einzelnen Dateien die Größe des ganzen Dateiverzeichnisses in Blöcken zu 512 Byte angegeben (siehe Beispiel 4).

Falls die Datei oder das Dateiverzeichnis ein symbolischer Verweis ist, dann wird hinter dem Dateinamen ein Pfeil -> angegeben, gefolgt von dem Pfadnamen der Datei, auf die verwiesen wird.

Beachten Sie auch, dass Sie in einer Umgebung mit Remote File Sharing nicht immer die Rechte haben, die Ihnen die Ausgabe des Kommandos ls -l vermittelt.

-L

Bei symbolischen Verweisen wird der Verweisname für die Ursprungsdatei oder das Ursprungsverzeichnis ausgegeben.

Beispiel:


$ ls -l
-rw------- 1   HUGO     other       7593   Nov 30 10:48 datei
-rw------- 1   HUGO     other          3   Dec 17 10:53 linker -> datei
$ ls -lL
-rw------- 1   HUGO     other       7593   Nov 30 10:48 datei
-rw------- 1   HUGO     other       7593   Nov 30 10:48 linker


-m

Ausgabe in Listenform. Die Einträge werden hintereinander, durch Kommas voneinander getrennt, aufgelistet. ls verwendet die Umgebungsvariable COLUMNS, um die Anzahl Zeichen pro Zeile zu ermitteln. Ist diese nicht gesetzt, versucht ls, die Information in der Geräte-Datenbank zu finden, wobei der Wert der Umgebungsvariablen TERM als Suchschlüssel verwendet wird. Wenn das auch nicht erfolgreich ist, werden 80 Zeichen pro Zeile ausgegeben.

-n

Anstelle des Namens des Eigentümers bzw. des Gruppennamens wird die Benutzer- bzw. die Gruppennummer ausgegeben; wirkt im übrigen wie -l.

-o

Die Gruppe wird nicht ausgegeben; wirkt im übrigen wie -l.

-p

Ein Schrägstrich / hinter Dateinamen kennzeichnet Dateiverzeichnisse.

-q

Nicht druckbare Zeichen in Dateinamen werden in der Ausgabe als Fragezeichen ? ausgegeben.

-r

Die aktuell gültige Sortierreihenfolge wird umgekehrt.

-R

ohne Angabe von datei
Die Namen aller Dateien und Dateiverzeichnisse des aktuellen Dateiverzeichnisses werden ausgegeben, danach werden alle Unterdateiverzeichnisse und die darin enthaltenen Dateien und Dateiverzeichnisse rekursiv aufgelistet.

mit Angabe von datei
datei ist der Name eines Dateiverzeichnisses.

Die Namen aller Dateien und Unterdateiverzeichnisse des angegebenen Dateiverzeichnisses werden rekursiv ausgegeben.

-s

Zusätzlich zu den Dateinamen wird in der ersten Spalte die Größe jeder Datei in Einheiten zu je 512 Byte ausgegeben.

-t

Als Sortierschlüssel wird anstelle des Dateinamens das Datum der letzten Änderung verwendet: die Datei mit dem jüngsten Datum steht an erster Stelle.

-u

Zusammen mit Option -t:
Als Sortierschlüssel wird der Zeitpunkt des letzten Zugriffs verwendet.

Zusammen mit Option -l:
Statt des Zeitpunkts der letzten Änderung wird der Zeitpunkt des letzten Zugriffs auf die Datei ausgegeben.

-x

Mehrspaltige Ausgabe; die Einträge sind innerhalb der einzelnen Zeilen sortiert.

ls verwendet die Umgebungsvariable COLUMNS, um die Anzahl Zeichen pro Zeile zu ermitteln. Ist diese nicht gesetzt, versucht ls, die Information in der Geräte-Datenbank zu finden, wobei der Wert der Umgebungsvariablen TERM als Suchschlüssel verwendet wird. Wenn das auch nicht erfolgreich ist, werden 80 Zeichen pro Zeile ausgegeben.

-1

Es wird nur ein Eintrag pro Ausgabezeile ausgegeben.

datei

Name der Datei oder des Dateiverzeichnisses, über die/das Sie Informationen ausgeben möchten. Sie können auch mehrere Dateien oder Dateiverzeichnisse angeben.

datei nicht angegeben:
Der Inhalt des aktuellen Dateiverzeichnisses wird aufgelistet.

Datei

/etc/group

enthält alle eingerichteten Benutzergruppen.

Variable

COLUMNS

Wenn diese Variable gesetzt ist, dann wird ihr Wert für die Definition der Spaltenbreite bei mehrspaltiger Ausgabe verwendet. Enthält diese Variable eine Dezimalzahl, dann berechnet ls, wieviele Textspalten möglich sind (siehe auch Option -C). Dateinamen werden nicht abgeschnitten, um bei mehrspaltiger Ausgabe in eine Spalte zu passen.

TZ

Legt die Zeitzone für Datums- und Uhrzeitausgaben von ls fest.

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos ls:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_COLLATE

Legt die Sortierreihenfolge der Ausgabe von ls fest.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten). LC_CTYPE bestimmt, welche Zeichen im Zusammenhang mit der Option -q als nichtdruckbare Zeichen definiert werden.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden.

LC_TIME

Legt das Format und den Inhalt der Datums- und Zeitausgabe bei den Optionen -g, -l, -n und -o fest.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Beispiel 1

Ausgeben des Inhaltsverzeichnisses des aktuellen Dateiverzeichnisses in ausführlicher Form.
Benutzerkennung: hugo.

$ ls -l
total 142
drwx--x--x 2   HUGO     other         48   Dec  1 16:13 ADRESSEN
-rw------- 1   HUGO     other        593   Nov 30 10:48 brief1
-rw------- 1   HUGO     other        837   Dec 17 10:53 brief2
-rw------- 1   HUGO     other       3247   Dec 17 13:46 brief3
-rw------- 1   HUGO     other       5222   Nov 30 10:48 brief4
-rw-rw-rw- 1   HUGO     other       4687   Dec 21 11:15 brief5
-rw------- 1   HUGO     other        228   Nov 30 10:48 brief6
-rw------- 1   HUGO     other        356   Dec 17 13:58 kart_a
-rw------- 1   HUGO     other      24802   Dec  1 12:13 kart_b
-rw------- 1   HUGO     other       7890   Nov 30 10:48 kart_c
-rwx--xr-x 1   HUGO     other       7253   Dec 21 13:37 kart_d
-rw------- 1   HUGO     other       9476   Dec 21 13:37 kart_e
-rwx--x--x 1   HUGO     other          0   Dec 18 13:16 kart_f
-r-------- 1   HUGO     other        105   Dec 21 13:39 typescript

Beispiel 2

Mehrspaltige Ausgabe des aktuellen Dateiverzeichnisses auf einer Breite von 80 Zeichen pro Ausgabezeile. Diese Form der Ausgabe ist zugleich Standard bei Ausgabe auf Terminal).

$ ls -C
ADRESSEN    brief3      brief6      kart_c     kart f
brief1      brief4      kart_ a     kart_d     typescript
brief2      brief5      kart_ b     kart_e

Beispiel 3

Mehrspaltige Ausgabe, nachdem die Zahl der Zeichen pro Ausgabezeile auf 40 festgelegt wurde.

$ COLUMNS=40
$ export COLUMNS
$ ls -C
ADRESSEN    brief5      kart d
brief1      brief6      kart e
brief2      kart a      kart f
brief3      kart b      typescript
brief4      kart c

Beispiel 4

Ausgeben des aktuellen Dateiverzeichnisses in ausführlicher Form (Option -l), mit allen Punktdateien (Option -a) und mit Kennzeichnung der Dateiverzeichnisse (Option -p).
Benutzerkennung: sysiphus.

$ ls -pla
total 120
drwxr-xr-x  10 SYSIPHUS   other       5720   Nov 17 08:00 ./
drwxr-xr-x  13 SYSROOT    SYSROOT     3380   Nov 04 11:48 ../
-rw-------   1 SYSIPHUS   other         79   Jul 19 14:21 .profile
-rw-------   1 SYSIPHUS   other         14   Oct 21 08:56 .rhosts
-rwx------   1 SYSIPHUS   other        125   May 25 10:29 anfang
drwx------   2 SYSIPHUS   other       1560   Oct 11 15:36 bildschirme/
drwx------   2 SYSIPHUS   other       1820   Oct 11 15:35 briefe/
drwx--x--x   2 SYSIPHUS   other       3380   Nov 09 10:30 kommandos/
drwxr-----   3 SYSIPHUS   other       2340   Oct 11 15:35 lingua/
-rw-------   1 SYSIPHUS   other       2082   Nov 08 12:29 ls.ex
-rw-------   1 SYSIPHUS   other      11597   Nov 17 07:59 ls.rc.1
-rw-------   1 SYSIPHUS   other       1351   Jul 19 15:14 plural
drwx------   2 SYSIPHUS   other       3380   Oct 11 15:36 post/
drwx------   2 SYSIPHUS   other       1560   Oct 11 15:36 pro/
drwx--x--x   2 SYSIPHUS   other       2080   Nov 07 10:43 proz/
drwx--x--x   2 SYSIPHUS   other       1040   Nov 15 08:23 sdg/

Beispiel 5

Ausgeben aller Dateien und Dateiverzeichnisse (mit Inhalt). Die Namen der Dateiverzeichnisse werden mit einem Doppelpunkt beendet.

$ ls -C *
Postkasten autoren   bvp.col
bildschirme:
aus        pause     sinix
lingua:
beispiele  car.cdr   engl.dt    fachwort

Siehe auch

chmod, find, ln