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
| -a | Zeigt versteckte Dateien an |
| –color | Farbliche Ausgabe |
| -l | Zeige Dateirechte + Dateigröße in Bytes |
| -lh | Zeige in lesbarer Form |
| -R | Zeigt recursiv den gesamten Inhalt |
| -S | Nach Größe sortiert |
| -t | Nach Zeit sortiert |
| -c | Zeige Datum der letzten Änderung |
| -i | Zeige 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>