home-harmening:kommandoreferenz:dateiverwaltung:ls

Dies ist eine alte Version des Dokuments!


ls - list

ls ist das Kommando um sich den Inhalt eines Ordners im Dateisystem anzeigen zu lassen.

Optionen

-aZeigt versteckte Dateien an
–colorFarbliche Ausgabe
-lZeige Dateirechte + Dateigröße in Bytes
-lhZeige in lesbarer Form
-RZeigt recursiv den gesamten Inhalt
-SNach Größe sortiert
-tNach Zeit sortiert
-cZeige Datum der letzten Änderung
-iZeige Inode an


Zeigt den Inhalt des Ordner user1 an

ls /home/user1


Zeigt detailiert den Inhalt des Ordners /etc an

ls -licah


Beispiele mit Wildcards

1. Stern (`*`) – Platzhalter für beliebig viele Zeichen
Zeigt alle Dateien mit der Endung `.txt` im aktuellen Verzeichnis an:

    <code bash>
    ls *.txt
    </code>  


Zeigt alle Dateien an, die mit `file` beginnen:

    <code bash>
    ls file*
    </code> 


Zeigt alle Dateien an, die irgendwo im Namen `data` enthalten:

    <code bash>
    ls *data*
    </code>  


2. Fragezeichen (`?`) – Platzhalter für genau ein Zeichen
Findet Dateien wie `file1.txt`, aber nicht `file10.txt`:

    <code bash>
    ls file?.txt
    </code>  


Findet Dateien wie `data_1.csv`, `data_A.csv`, aber nicht `data_10.csv`:

    <code bash>
    ls data_?.csv
    </code>  


3. Eckige Klammern (`[]`) – Platzhalter für bestimmte Zeichenmengen
Zeigt nur `file1.txt`, `file2.txt` oder `file3.txt`:

    <code bash>
    ls file[123].txt
    </code>  


Zeigt nur `filea.txt`, `fileb.txt`, `filec.txt`, aber nicht `filed.txt`:

    <code bash>
    ls file[a-c].txt
    </code>  


Findet `file1.txt` bis `file9.txt`, aber nicht `file10.txt`:

    <code bash>
    ls file[0-9].txt
    </code>  


4. Negation mit eckigen Klammern (`[^]`) – Alle außer bestimmte Zeichen
Zeigt alle `fileX.txt` Dateien außer `file1.txt`:

    <code bash>
    ls file[^1].txt
    </code>  


Zeigt alle `fileX.txt` Dateien außer denen, die auf einen Kleinbuchstaben enden:

    <code bash>
    ls file[^a-z].txt
    </code>  


5. Geschweifte Klammern (`{}`) – mehrere exakte Namen angeben
Listet genau diese drei Dateien auf, falls sie existieren:

    <code bash>
    ls {file1.txt,file2.txt,log.txt}
    </code>  


Zeigt alle `.jpg`- und `.png`-Dateien an:

    <code bash>
    ls {*.jpg,*.png}
    </code>  


6. Kombination mehrerer Wildcards
Findet Dateien wie `data_01.log`, `data_AB.log`, aber nicht `data_1.log`:

    <code bash>
    ls data_??.log
    </code>  


Findet `report_1.txt`, `report_2023.txt`, aber nicht `report_A.txt`:

    <code bash>
    ls report_[0-9]*.txt
    </code>  


Zeigt alle `.log`- und `.txt`-Dateien im Verzeichnis `/var/log`:

    <code bash>
    ls /var/log/*.{log,txt}
    </code>