Befehl "ls"

Zweck

Zeigt den Inhalt eines Verzeichnisses an.

Syntax

Inhalt des Verzeichnisses oder Namen der Datei anzeigen

ls [ -1 [ -A ] [ -C ] [ -E ] [ -F ] [-H | -L ] [ -N ] [ -R ] [ -S ] [ -X] [ -a ] [ -b ] [ -c ] [ -d ] [ -e ] [ -f ] [ -g ] [ -i ] [-k] [ -l ] [ -m [ -n ] [ -o ] [ -p ] [ -q ] [ -r ] [ -s ] [ -t ] [ -u ] [ -U ] [ -x ] [ Datei ...]

Inhalt des Verzeichnisses anzeigen

ls -f [ -C ] [ -d ] [ -i ] [ -m ] [ -s ] [ -X] [ -x ] [ -1 ] [ -U ] [ Verzeichnis ...

Beschreibung

Der Befehl ls schreibt den Inhalt jedes angegebenen Parameters Verzeichnis oder den Namen jedes angegebenen Parameters Datei zusammen mit allen anderen Informationen, die Sie mit den Flags anfordern, in die Standardausgabe. Wenn Sie keinen Parameter Datei oder Verzeichnis angeben, zeigt der Befehl ls den Inhalt des aktuellen Verzeichnisses an.

Die Angabe von mehr als einer der Optionen in den sich gegenseitig ausschließenden Paaren wird nicht als Fehler betrachtet. Die letzte in jedem Paar angegebene Option bestimmt das Ausgabeformat.

Standardmäßig zeigt der Befehl ls alle Informationen in alphabetischer Reihenfolge nach Dateiname an. Die Sortierfolge wird durch die Umgebungsvariable LANG oder LC_COLLATE bestimmt.

Wenn der Befehl ls den Inhalt eines Verzeichnisses anzeigt, werden keine Einträge für Dateien angezeigt, deren Namen mit beginnen. (Punkt) es sei denn, Sie verwenden das Flag -a oder -A . Wenn der Befehl von Root ausgeführt wird, verwendet er standardmäßig das Flag -A.

Es gibt drei Möglichkeiten, die Ausgabe zu formatieren:

  • Einen Eintrag pro Zeile auflisten
  • Einträge in mehreren Spalten durch Angabe des Flags -C oder -x auflisten. Das Flag -C ist bei der Ausgabe auf einem TTY das Standardformat. Der Befehl ls zeigt eine einspaltige Ausgabe an, wenn Datei- oder Verzeichnisnamen zu lang sind.
  • Einträge durch Angabe des Flags -m in einer durch Kommas getrennten Reihe auflisten

Um die Anzahl der Zeichenpositionen in der Ausgabezeile zu bestimmen, verwendet der Befehl ls die Umgebungsvariable COLUMNS. Wenn diese Variable nicht gesetzt ist, erhält der Befehl den aktuellen Spaltenwert der Anzeige. Wenn der Befehl ls die Anzahl der Zeichenpositionen mit keiner dieser Methoden bestimmen kann, wird ein Standardwert von 80 verwendet.

Der mit dem Flag -U angezeigte Modus ist mit dem mit dem Flag -l identisch, mit der Ausnahme, dass ein 11th Zeichen hinzugefügt wird, das wie folgt interpretiert wird:
Element Beschreibung
E Gibt an, dass eine Datei über erweiterte Attributinformationen (EA) verfügt. Der EA einer Datei wird mit dem Befehl getea angezeigt.
- Gibt an, dass eine Datei keine erweiterten Attributinformationen enthält.
e Zeigt an, dass eine Datei verschlüsselt ist.

Die Verschlüsselung hat Vorrang vor dem Vorhandensein der Zugriffssteuerungslisten (Access Control Lists, ACLs) und anderer EAs.

Der mit den Flags -e und -l angezeigte Modus wird wie folgt interpretiert:

Wenn das erste Zeichen ist:

Element Beschreibung
d Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag ein Verzeichnis.
b Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag eine blockorientierte Gerätedatei.
c Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag eine zeichenorientierte Gerätedatei.
l Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag ein symbolischer Link und es wurde entweder das Flag -N angegeben oder der symbolische Link zeigt nicht auf eine vorhandene Datei.
p Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag eine FIFO-Gerätedatei (First-In-First-Out).
s Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag ein lokales Socket.
- Wenn dieses Zeichen das erste Zeichen ist, ist der Eintrag eine normale Datei.

Die nächsten neun Zeichen sind in drei Sätze mit jeweils drei Zeichen unterteilt. Der erste Satz von drei Zeichen zeigt die Berechtigung des Eigners an. Der nächste Satz von drei Zeichen zeigt die Berechtigung der anderen Benutzer in der Gruppe an. Der letzte Satz von drei Zeichen zeigt die Berechtigung von anderen Benutzern mit Zugriff auf die Datei an. Die drei Zeichen in jedem Satz zeigen die Lese-, Schreib- und Ausführungsberechtigungen der Datei an. Mit der Ausführungsberechtigung für ein Verzeichnis können Sie ein Verzeichnis nach einer bestimmten Datei durchsuchen.

Die Berechtigungen werden wie folgt angegeben:

Element Beschreibung
r Read (Lesen)
w Write (Schreiben, Bearbeiten)
x Execute (Ausführen, Suchen)
- Entsprechende Berechtigung nicht erteilt

Das Zeichen für die Gruppenausführungsberechtigung ist s, wenn die den set-group-ID-Modus hat. Das Zeichen für die Benutzerausführungsberechtigung ist s, wenn die Datei den set-user-ID-Modus hat. Das letzte Zeichen des Modus (in der Regel X oder -) ist T , wenn das Bit 01000 (oktal) des Modus gesetzt ist (die Bedeutung dieses Modus können Sie dem Befehl Chmod entnehmen). Die Anzeiger für set-ID und Bit 01000 des Modus sind Großbuchstaben (S bzw. T), wenn die entsprechende Ausführungsberechtigung nicht gesetzt ist. Der Modus t zeigt an, dass das Sticky Bit für die Datei bzw. das Verzeichnis aktiviert ist.

Der Modus, der mit dem Flag -e angezeigt wird, ist derselbe wie beim Flag -l mit der Ausnahme, dass es ein 11. Zeichen gibt, das wie folgt interpretiert wird:

Element Beschreibung
+ Zeigt an, dass eine Datei über erweiterte Sicherheitsinformationen verfügt. Die Datei kann beispielsweise die erweiterten Attribute ACL, TCB oder TP im Modus haben.

Die Zugriffssteuerungsinformationen (ACL) einer Datei werden mit dem Befehl aclget angezeigt. Der Wert der Attribute TCB und TP wird mit dem Befehl chtcb angezeigt.

- Gibt an, dass eine Datei keine erweiterten Sicherheitsinformationen enthält.

Wenn die Größe der Dateien in einem Verzeichnis aufgelistet wird, zeigt der Befehl ls die Gesamtzahl der Blöcke an, einschließlich der indirekten Blöcke.

Flags

Element Beschreibung
-A Listet alle Einträge auf mit Ausnahme von . (Punkt) und .. (dot-dot).
-A Listet alle Einträge im Verzeichnis auf, einschließlich der Einträge, die mit beginnen. (Punkt).
-b Zeigt nicht druckbare Zeichen in einer oktalen (\nnn) Schreibweise an.
-c Verwendet die Zeit der letzten Änderung des I-Nodes für die Sortierung (bei Verwendung mit dem Flag -t) oder zur Anzeige (bei Verwendung mit dem Flag -lI). Dieses Flag hat keine Wirkung, wenn es nicht zusammen mit dem Flag -t und/oder dem Flag -l verwendet wird.
-C Sortiert die Ausgabe vertikal in einem mehrspaltigen Format. Dies ist die Standardmethode, wenn die Ausgabe auf einem Terminal erfolgt.
-d Zeigt nur die Informationen für das angegebene Verzeichnis an. Verzeichnisse werden wie Dateien behandelt, was bei der Verwendung des Flags -l hilfreich ist, um den Status eines Verzeichnisses abzurufen.
-E Zeigt den Modus (einschließlich Sicherheitsinformationen), die Anzahl der Links, den Eigner, die Gruppe, die Größe (in Byte), die Uhrzeit der letzten Änderung und den Namen jeder Datei an. Wenn es sich bei der Datei um eine Gerätedatei handelt, enthält das Größenfeld die Haupt- und Nebengerätenummern. Handelt es sich bei der Datei um eine symbolische Verbindung, wird der Pfadname der verknüpften Datei mit einem vorangestellten Minuszeichen (->) ausgegeben. Die Attribute des symbolischen Links werden angezeigt.
-E Listet die Speicherbereichsattribute einer Datei in Vxfs-Dateisystemen auf, wie z. B. die Reservierung des Speicherplatzes, die feste Speicherbereichsgröße und die Speicherbereichszuordnung. Sie müssen das Flag -l zusammen mit diesem Flag angeben. Andernfalls ignoriert der Befehl ls das Flag -E und beendet die Ausführung.
-F Listet den Namen in jedem Slot für jedes im Parameter Verzeichnis angegebene Verzeichnis auf. Dieses Flag inaktiviert die Flags -l, -t, -s und -r und aktiviert das Flag -a. Die Sortierung der Liste entspricht der Reihenfolge, in der die Einträge im Verzeichnis enthalten sind.
-F Fügt hinter jedem Dateinamen einen / (Schrägstrich) ein, wenn die Datei ein Verzeichnis ist, einen * (Stern), wenn die Datei ausgeführt werden kann, ein = (Gleichheitszeichen), wenn die Datei ein Socket ist, ein | (Pipezeichen), wenn die Datei eine FIFO-Datei ist, und ein @ für einen symbolischen Link. Symbolische Links, die als Operanden angegeben sind, werden nicht verfolgt, es sei denn, Sie geben das Flag -H oder -L an.
-G Zeigt dieselben Informationen wie das Flag -l an mit der Ausnahme, dass das Flag -g die Anzeige des Eigners und des symbolischen Links unterdrückt.
-H Wenn ein symbolischer Link, der auf eine Datei des Typs Verzeichnis verweist, in der Befehlszeile angegeben wird, wertet der Befehl ls die Dateiinformationen und den Dateityp als Angaben zu der vom Link referenzierten Datei aus und nicht des Links selbst. Der Befehl ls schreibt jedoch den Namen des Links selbst und nicht den der die Datei, auf die der Link verweist.
-i Zeigt die I-Node-Nummer in der ersten Spalte des Berichts für jede Datei an. Wenn das Dateisystem eine interne Momentaufnahme hat, haben das Verzeichnis .snapshot und dessen Inhalt keine eindeutigen I-Node-Nummern.
-k Setzt die Blockgröße für die Option -s und die pro Verzeichnis geschriebene Blockanzahl für die Optionen -l, -n, -g und -o auf 1024 Byte.
-L Listet den Datei- oder Verzeichnisinhalt auf, auf den der Link verweist. Dies ist die Standardaktion. Symbolische Links werden verfolgt. Wenn die Option -l verwendet wird, wird die Option -N als Standardwert verwendet, und es werden keine symbolischen Links verfolgt. Wenn die Option -lverwendet wird, kann die Standardoption -N nur mit der Option -L überschrieben werden.
-l Zeigt den Modus, die Anzahl der Links, den Eigner, die Gruppe, die Größe (in Byte) und die Zeit der letzten Änderung für jede Datei an. Wenn es sich bei der Datei um eine Gerätedatei handelt, enthält das Größenfeld die Haupt- und Nebengerätenummern. Wenn die Zeit der letzten Änderung länger als sechs Monate zurückliegt, wird das Zeitfeld im Format Monat Datum Jahr angezeigt. Wenn die Dateien innerhalb der letzten sechs Monate geändert wurden, wird das Zeitfeld im Format Monat Datum Zeit angezeigt.

Wenn es sich bei der Datei um eine symbolische Verbindung handelt, wird der Pfadname der verknüpften Datei mit einem vorangestellten Zeichen (->) ausgegeben. Die Attribute des symbolischen Links werden angezeigt. Die Flags -n, -G und -O überschreiben das Flag -l.

Anmerkungen:
  1. Einer symbolisch verlinkten Datei folgen ein Pfeil und der Inhalt des symbolischen Links.
  2. Die Leistung des Befehls ls kann verbessert werden, wenn er mit der Option -l verwendet wird, indem der Befehl mkpasswd ausgeführt wird. Dies ist hilfreich, wenn ein Verzeichnis Dateien enthält, die verschiedenen Benutzern gehören, z. B. das Verzeichnis /tmp.
-m Verwendet Datenstromausgabeformat (eine durch Kommas getrennte Serie).
-N Zeigt dieselben Informationen an wie das Flag -l mit der Ausnahme, dass das Flag -n die Benutzer- und Gruppen-IDs anstelle der Benutzer- und Gruppennamen anzeigt.
-N Verfolgt keine symbolischen Links, wenn der Status einer Datei bestimmt wird.

Anmerkung: Wenn sowohl die Option -L als auch die Option -N verwendet wird, hat die zuletzt angegebene Vorrang. Jedes Mal, wenn ein symbolischer Link angegeben wird, der ein / (Schrägstrich) als letztes Zeichen enthält, wird der Link unabhängig von den verwendeten Optionen automatisch befolgt.

-o Zeigt dieselben Informationen an wie das Flag -l mit der Ausnahme, dass das Flag -o die Anzeige der Informationen zu Gruppen und symbolischen Links unterdrückt.
-p Fügt hinter jedem Dateinamen einen Schrägstrich ein, wenn es sich bei dieser Datei um ein Verzeichnis handelt. Dies ist nützlich, wenn Sie die Ausgabe des Befehls ls wie folgt über eine Pipe an den Befehl pr leiten:
ls  -p |  pr  -5  -t  -w80
-q Zeigt nicht druckbare Zeichen in Dateinamen als?(Fragezeichen).
-r Kehrt die Sortierreihenfolge (alphabetisch oder Alter) um.
-R Listet alle Unterverzeichnisse rekursiv auf.
-s Gibt die Größe (einschließlich indirekter Blöcke) für jeden Eintrag in Kilobyte an.
-S Sortiert die Einträge mit der Dateigröße als Primärschlüssel (in absteigender Reihenfolge) und mit dem Dateinamen als Sekundärschlüssel (in aufsteigender Reihenfolge).
-T Sortiert die Einträge nach letzter Änderungszeit (neuester zuerst) und nicht nach Namen. Bei einem symbolischen Link ist die Zeit, die als Sortierschlüssel verwendet wird, die des symbolischen Links selbst.
-U Zeigt ähnliche Informationen wie das Flag -l an. Zeigt den Modus (einschließlich Sicherheitsinformationen, Informationen zu benannten erweiterten Attributen und Verschlüsselungsinformationen), die Anzahl der Links, den Eigner, die Gruppe, die Größe (in Byte), den Zeitpunkt der letzten Änderung und den Namen jeder Datei an. Wenn es sich bei der Datei um eine Gerätedatei handelt, enthält das Größenfeld die Haupt- und Nebengerätenummern. Wenn es sich bei der Datei um einen symbolischen Link handelt, wird der Pfadname der verknüpften Datei mit einem vorangestellten -> (Minuszeichen, Größer-als-Zeichen) ausgegeben. Die Attribute des symbolischen Links werden angezeigt.
-u Verwendet die Uhrzeit des letzten Zugriffs anstelle der Uhrzeit der letzten Änderung für die Sortierung (bei Verwendung mit dem Flag -t) oder für die Anzeige (bei Verwendung mit dem Flag -lI). Dieses Flag hat keine Wirkung, wenn es nicht zusammen mit dem Flag -t und/oder dem Flag -l verwendet wird.
-x Sortiert die Ausgabe horizontal in einem mehrspaltigen Format.
-X Gibt lange Benutzernamen aus, wenn es zusammen mit anderen Flags verwendet wird, die Benutzernamen anzeigen. Die Obergrenze wird durch das ODM-Attribut max_logname in den Objektklassen "PdAt" und "CuAt" bestimmt. Wenn ein Benutzername länger ist als der mit dem Attribut max_logname angegebene Wert, wird er auf die mit dem Attribut max_logname angegebene Anzahl von Zeichen minus eins abgeschnitten.
-1 Erzwingt die Ausgabe in das Format mit einem Eintrag pro Zeile. Dies ist die Standardeinstellung, wenn die Ausgabe nicht an ein Terminal gesendet ist.
Anmerkungen:
  • Wenn eines der Flags -l, -n, -s, -goder -o angegeben ist, wird jeder Datei, die im Verzeichnis vorhanden ist, eine Statuszeile vorangestellt, die die Anzahl der Dateisystemblöcke angibt, die von Dateien belegt sind.
  • Wenn das Flag -k nicht zusammen mit einem der Flags -l, -n, -s, -goder -o angegeben wird, gibt die Statuszeile die Anzahl der Dateisystemblöcke an, die von Dateien in Einheiten mit 512 Byte belegt sind.
  • Wenn das Flag -k zusammen mit einem der Flags -l, -n, -s, -g oder -o angegeben wird, gibt die Statuszeile die Anzahl der Dateisystemblöcke an, die von Dateien in Einheiten mit 1024 Byte belegt sind.
  • Zusätzlich wird bei Bedarf die Anzahl der von Dateien belegten Dateisystemblöcke in dem Verzeichnis auf die nächste ganzzahlige Anzahl von Einheiten abgerundet.
  • In der länderspezifischen POSIX-Umgebung ist %u\n das Ausgabeformat, das die Anzahl der Einheiten im Verzeichnis darstellt.

Exitstatus

Dieser Befehl gibt die folgenden Exitwerte zurück:

Element Beschreibung
0 Alle Dateien wurden erfolgreich geschrieben.
>0 Es ist ein Fehler aufgetreten.

Sicherheit

Achtung RBAC-Benutzer und vertrauenswürdige AIX: Dieser Befehl kann privilegierte Operationen durchführen. Privilegierte Operationen können nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen über Berechtigungen und Privilegien finden Sie unter Privilegierte Befehlsdatenbank in Sicherheit. Eine Liste der Berechtigungen und Autorisierungen, die diesem Befehl zugeordnet sind, finden Sie in den Beschreibungen des Befehls lssecattr und des Unterbefehls getcmdattr.

Beispiele

  1. Geben Sie Folgendes ein, um alle Dateien im aktuellen Verzeichnis aufzulisten:
    ls -a
    Daraufhin werden alle Dateien aufgelistet, einschließlich . (Punkt), .. (dot-dot) und andere Dateien, deren Namen mit einem Punkt beginnen.
  2. Geben Sie Folgendes ein, um detaillierte Informationen anzuzeigen:
    ls   -l chap1  .profile
    Zeigt eine lange Liste mit detaillierten Informationen zuchap1und.profile.
  3. Geben Sie Folgendes ein, um detaillierte Informationen zu einem Verzeichnis anzuzeigen:
    ls   -d   -l  .  manual  manual/chap1
    Zeigt eine lange Liste der Verzeichnisse an..undmanualund für die Dateimanual/chap1. Ohne das Flag -d werden die Dateien in der.undmanualVerzeichnisse anstelle der detaillierten Informationen zu den Verzeichnissen selbst.
  4. Geben Sie Folgendes ein, um die Dateien in der Reihenfolge ihrer Änderungszeit aufzulisten:
    ls   -l -t
    Dieser Befehl zeigt eine lange Liste der Dateien an, die zuletzt geändert wurden, gefolgt von den älteren Dateien.
  5. Geben Sie Folgendes ein, um detaillierte Informationen mit erweiterten Benutzer- und Gruppennamen anzuzeigen:
    ls  -lX .profile
    Dieser Befehl zeigt eine lange Liste mit ausführlichen Informationen zu .profile an.
  6. Geben Sie Folgendes ein, um anzuzeigen, ob erweiterte Attribute für die Dateien im aktuellen Verzeichnis festgelegt wurden:
    ls -U
    • Für AIX® 5.3 und frühere Versionen:

      Beispielausgabe:

        -rwSr-x---+   1 root     system           28 Apr 29 03:23 only_aixc
        -rwSr-x---E   1 root     system            4 Apr 29 03:23 only_aixc_ea
        -rw-r--r--E   1 root     system            4 Apr 29 03:23 only_ea
        ----------+   1 root     system          265 Apr 29 03:23 only_nfs4
        ----------E   1 root     system           64 Apr 29 03:23 only_nfs4_ea
        -rw-r--r---   1 root     system            4 Apr 29 03:23 only_regular
    • Für Releases AIX 6.1 und höher:

      Beispielausgabe:

        -rwSr-x---+    1 root     system           28 Apr 29 03:23 only_aixc
        -rwSr-x---E    1 root     system            4 Apr 29 03:23 only_aixc_ea
        -rw-r--r--E    1 root     system            4 Apr 29 03:23 only_ea
        ----------+    1 root     system          265 Apr 29 03:23 only_nfs4
        ----------E    1 root     system           64 Apr 29 03:23 only_nfs4_ea
        -rw-r--r---    1 root     system            4 Apr 29 03:23 only_regular
        -rwxrwxr-xe    2 root     system          256 May 25 16:27 encry_ex 
  7. Geben Sie Folgendes ein, um Informationen über die Anzahl der Dateisystemblöcke in Einheiten mit 512 Byte für die Dateien im aktuellen Verzeichnis anzuzeigen:
    ls -l
    Beispielausgabe:
    total 16
    -rw-r--r--    1 root     system           22 Feb 05 05:29 sample1
    -rw-r--r--    1 root     system           12 Feb 05 05:29 sample2
  8. Geben Sie Folgendes ein, um Informationen über die Anzahl der Dateisystemblöcke in Einheiten von 1024 Byte für die Dateien im aktuellen Verzeichnis anzuzeigen:
     ls -lk
    Beispielausgabe:
    total 8
    -rw-r--r--    1 root     system           22 Feb 05 05:29 sample1
    -rw-r--r--    1 root     system           12 Feb 05 05:29 sample2

Dateien

Element Beschreibung
/usr/bin/ls Enthält den Befehl ls.
/etc/passwd Enthält Benutzer-IDs.
/etc/group Enthält Gruppen-IDs.
/usr/share/lib/terminfo/* Enthält Terminalinformationen.