====== 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: ls *.txt \\ Zeigt alle Dateien an, die mit `file` beginnen: ls file* \\ Zeigt alle Dateien an, die irgendwo im Namen `data` enthalten: ls *data* \\ **2. Fragezeichen (`?`) – Platzhalter für genau ein Zeichen** \\ Findet Dateien wie `file1.txt`, aber nicht `file10.txt`: ls file?.txt \\ Findet Dateien wie `data_1.csv`, `data_A.csv`, aber nicht `data_10.csv`: ls data_?.csv \\ **3. Eckige Klammern (`[]`) – Platzhalter für bestimmte Zeichenmengen** \\ Zeigt nur `file1.txt`, `file2.txt` oder `file3.txt`: ls file[123].txt \\ Zeigt nur `filea.txt`, `fileb.txt`, `filec.txt`, aber nicht `filed.txt`: ls file[a-c].txt \\ Findet `file1.txt` bis `file9.txt`, aber nicht `file10.txt`: ls file[0-9].txt \\ **4. Negation mit eckigen Klammern (`[^]`) – Alle außer bestimmte Zeichen** \\ Zeigt alle `fileX.txt` Dateien außer `file1.txt`: ls file[^1].txt \\ Zeigt alle `fileX.txt` Dateien außer denen, die auf einen Kleinbuchstaben enden: ls file[^a-z].txt \\ **5. Geschweifte Klammern (`{}`) – mehrere exakte Namen angeben** \\ Listet genau diese drei Dateien auf, falls sie existieren: ls {file1.txt,file2.txt,log.txt} \\ Zeigt alle `.jpg`- und `.png`-Dateien an: ls {*.jpg,*.png} \\ **6. Kombination mehrerer Wildcards** \\ Findet Dateien wie `data_01.log`, `data_AB.log`, aber nicht `data_1.log`: ls data_??.log \\ Findet `report_1.txt`, `report_2023.txt`, aber nicht `report_A.txt`: ls report_[0-9]*.txt \\ Zeigt alle `.log`- und `.txt`-Dateien im Verzeichnis `/var/log`: ls /var/log/*.{log,txt} \\ === misc === charmening@charmening-nb:/tmp$ ls report_* report_1.txt report_2023.txt report_2A.txt report_3A.txt report_3B.txt report_4A.txt charmening@charmening-nb:/tmp$ ls report_[0-9]* report_1.txt report_2023.txt charmening@charmening-nb:/tmp$ ls report_2* report_2023.txt report_2A.txt charmening@charmening-nb:/tmp$ ls report_[3,2]* report_2023.txt report_2A.txt report_3A.txt charmening@charmening-nb:/tmp$ ls report_[3,2]A* report_2A.txt report_3A.txt charmening@charmening-nb:/tmp$ ls report_[3,2]A* report_2A.txt report_3A.txt charmening@charmening-nb:/tmp$ ls report_[!3,2]A* report_4A.txt