Mit List und Tücke
Verzeichnisinhalt en detail mit "ls"
Alter vor Schönheit?
Auf Wunsch sortiert ls auch nach Datum und Uhrzeit der letzten Änderung. Standardmäßig taucht die "jüngste" Datei dabei zuerst in der Liste auf:
$ ls -t script.sh blubb.ps huhn.mpg bla
Auch hier dreht -r als zusätzliche Option die Reihenfolge um und gibt die älteste Datei zuerst aus. Da eine solche Liste nicht besonders übersichtlich ist, wenn gleich mehrere Dateinamen in einer Zeile stehe, weisen Sie ls mit der Option -1 an, nur einen Eintrag pro Spalte anzuzeigen:
$ ls -tr1 bla huhn.mpg blubb.ps script.sh
Wie viele Details?
Wer die sehr ausführliche Darstellung zu detailreich findet, aber trotzdem auf die Angabe der Dateitypen nicht verzichten möchte, setzt den Parameter -F ein:
$ ls -F bla/ blubb.ps@ blubb.ps~ huhn.mpg script.sh*
Verzeichnisse kennzeichnet ls in dieser Ausgabe mit einem abschließenden Schrägstrich; hinter smybolischen Links befindet sich ein Klammeraffe, und hinter ausführbaren Dateien taucht ein Sternchen auf.
Ebenso können Sie ls anweisen, etwas weniger anzuzeigen: Sicherungskopien, die eine Tilde am Ende des Dateinamens tragen, klammern Sie aus, indem Sie den Parameter -B einsetzen. Sollten die Backups hingegen eine Dateiendung, wie z. B. .bak tragen, weisen Sie ls mit dem Parameter -I und einem entsprechenden Muster an, diese Dateien zu ignorieren:
ls -I *.bak
Das Kommando bringt auch eine Option mit, die verhindert, dass Inhalte von Unterverzeichnissen angezeigt werden, wenn Sie z. B. mit Shell-Wildcards arbeiten. Lassen Sie sich beispielsweise mit dem Befehl
ls /etc/cron*
Dateien im Ordner /etc, die mit cron beginnen, anzeigen, tauchen z. B. auch Inhalte des Unterverzeichnisses /etc/cron.daily auf. Die Bash interpretiert in diesem Fall das Sternchen und übergibt dem ls-Befehl u. a. das Verzeichnis /etc/cron.daily als Argument, so dass dessen Inhalt aufgelistet wird. Mit dem Parameter -d schalten Sie das ab und sehen dann im Fall eines Unterverzeichnisses dessen eigenen Eintrag (und nicht den Inhalt):
$ ls -d /etc/cron* /etc/cron.d /etc/cron.monthly /etc/cron.daily /etc/crontab /etc/cron.hourly /etc/cron.weekly



