So verwenden Sie den ls-Befehl zum Auflisten von Dateien und Verzeichnissen unter Linux
Die zentralen Thesen
- Der Befehl ls ist ein leistungsstarkes Tool, mit dem Dateien und Verzeichnisse aufgelistet werden können.
- Es gibt viele nützliche Optionen und Parameter für ls, die seine Funktionalität verbessern und die Verwendung komfortabler machen können.
- ls -la ist ein guter Befehl, wenn Sie alles in einem Ordner sehen möchten.
Wir verwenden den Linux- ls
Befehl jeden Tag, ohne darüber nachzudenken. Das ist schade. Wenn Sie ihm etwas Aufmerksamkeit schenken, werden Sie viele nützliche Optionen finden – darunter auch einige, die Sie zu Ihrem Befehlszeilen-Arsenal hinzufügen sollten.
ls listet Dateien und Verzeichnisse auf
Der ls
Befehl ist wahrscheinlich der erste Befehl, auf den die meisten Linux-Benutzer stoßen. Diejenigen von uns, die an der Befehlszeile herumhängen, nutzen sie Tag für Tag, ohne überhaupt darüber nachzudenken. Das könnte erklären, warum hinter diesem Befehl mehr steckt, als den meisten Benutzern bewusst ist. Wir listen damit Dateien auf, um zu sehen, was sich in einem Verzeichnis befindet. Wir listen Dateien im Langformat auf, wenn wir uns die Berechtigungen für eine Datei ansehen möchten. Darüber hinaus findet es kaum Beachtung.
Der ls
Befehl ist einer dieser Befehle mit einer Fülle von Optionen. Vielleicht ist das ein Teil des Problems. Es gibt so viele Optionen. Wie durchforstet man sie, um die nützlichen zu finden? Und wie erinnern Sie sich an sie, nachdem Sie sie gefunden haben?
Nützliche Permutationen des ls
Befehls mit ihren Options- und Parameterketten sind die perfekten Kandidaten für Aliase . Tatsächlich ist das, was Sie als „nackten“ Befehl bezeichnen, in den meisten Distributionen ls
tatsächlich ein Alias. Unter anderem der Typ lstype command can be used to show the underlying definition of aliases. Let's look at the definition of
ls
:
Die --color=auto
Parameter werden bei jeder Verwendung des ls
Befehls automatisch eingebunden. Dadurch werden die verschiedenen Farben für die verschiedenen Dateitypen in den Auflistungen bereitgestellt.
Einfache ls-Auflistungen
Jeder, der schon einmal das Linux-Terminal verwendet hat, weiß, dass standardmäßig ls
die Dateien und Verzeichnisse im aktuellen Verzeichnis aufgelistet werden.
ls
Wenn Ihr Eintrag in einer einzigen Spalte erstellt werden soll, verwenden Sie die -1
Option (eine Datei pro Zeile):
ls -1
Wir werden gleich auf den seltsam aussehenden Dateinamen oben in der Liste eingehen.
Verwenden von ls in verschiedenen Verzeichnissen
Um ls
die Dateien in einem anderen Verzeichnis als dem aktuellen Verzeichnis aufzulisten, übergeben Sie den Pfad zum Verzeichnis in ls
der Befehlszeile. Sie können auch mehr als ein Verzeichnis an übergeben ls
und diese nacheinander auflisten lassen. Hier bitten wir darum, ls
die Dateien in zwei Verzeichnissen aufzulisten, eines mit dem Namen „Help“ und das andere mit dem Namen „gc_help“.
ls Help gc_help
Wenn ls
der Inhalt des ersten Verzeichnisses aufgelistet ist, wird der Inhalt des zweiten Verzeichnisses aufgelistet. Es gibt den Namen jedes Verzeichnisses aus, während es diese verarbeitet:
Verwenden von Dateimustern
Um eine Reihe von Dateien selektiv aufzulisten, verwenden Sie den Mustervergleich. Das Fragezeichen „ ?
“ steht für ein beliebiges einzelnes Zeichen und das Sternchen „ *
“ für eine beliebige Zeichenfolge. Um alle Dateien oder Verzeichnisse aufzulisten, deren Namen mit „ip_“ beginnen, verwenden Sie dieses Format:
ls ip_*
Um Dateien mit der Erweiterung „.c“ aufzulisten, verwenden Sie dieses Format:
ls *.c
Sie können auch ls
mit grep
und grep
die Mustervergleichsfunktionen von verwenden . Suchen wir nach Dateien, deren Name die Zeichenfolge „_pin_“ enthält:
ls | grep _pin_
Dies ist fast dasselbe wie die ls
alleinige Verwendung mit zwei Platzhaltern:
ls | grep _pin_
ls *_pin_*
Warum fast das Gleiche? Beachten Sie die unterschiedlichen Layouts. grep
erzwingt die Ausgabe auf ein einzelnes Dateinamen-pro-Zeilen-Format.
Nicht druckbare Zeichen
Es ist möglich, dass Sie einen Dateinamen haben, der ein nicht druckbares Zeichen oder ein Steuerzeichen im Dateinamen enthält. Dies kann normalerweise passieren, wenn Sie ein Archiv erweitern, das Sie aus dem Internet heruntergeladen oder ein Git-Repository abgerufen haben , und der ursprüngliche Autor beim Erstellen einer Datei einen Fehler gemacht hat, ihn aber nicht bemerkt hat.
Unsere seltsame Datei ist eine davon:
Wenn wir es uns im Dateibrowser ansehen und „F2“ drücken, um es umzubenennen, werden die nicht druckbaren Zeichen durch ein seltsames Symbol dargestellt.
Mit der -b
Option (Escape) können Sie sehen, was der Dateiname tatsächlich enthält. Diese Option bewirkt ls
, dass die Escape-Sequenzen der Programmiersprache C zur Darstellung der Steuerzeichen verwendet werden.
ls -b a*
Es stellt sich heraus, dass es sich bei dem mysteriösen Zeichen um ein Zeilenumbruchzeichen handelt, das in C als „\n“ dargestellt wird.
Dateien ignorieren
Um bestimmte Dateien aus einer Liste auszuschließen, verwenden Sie die --hide
Option. Angenommen, Sie möchten die Sicherungsdateien „.bak“ nicht in der Liste sehen. Sie könnten diesen Befehl verwenden:
ls
ls --hide=*.bak
Die „.bak“-Dateien sind in der zweiten Auflistung nicht enthalten.
Die Auflistung im Langformat
Die -l
Option (lange Auflistung) bewirkt, ls
dass detaillierte Informationen zu jeder Datei bereitgestellt werden.
ls -l
Es gibt hier viele Informationen, also gehen wir sie durch.
Als Erstes ls
wird die Gesamtgröße aller Dateien in der Liste angezeigt. Dann wird jede Datei oder jedes Verzeichnis einzeln in einer Zeile angezeigt.
Der erste Satz aus zehn Buchstaben und Bindestrichen gibt den Dateityp sowie den Eigentümer, die Gruppe und andere Dateiberechtigungen an.
Das allererste Zeichen repräsentiert den Dateityp. Es wird eines von:
- – : Eine reguläre Datei.
- b : Eine Block-Spezialdatei.
- c : Eine spezielle Zeichendatei.
- d : Ein Verzeichnis.
- l : Ein symbolischer Link.
- n : Eine Netzwerkdatei.
- p : Eine benannte Pipe.
- s : Ein Sockel.
Die nächsten neun Zeichen sind drei Gruppen von drei Zeichen, die zusammenhängend angezeigt werden. Jede Dreiergruppe stellt die Lese-, Schreib- und Ausführungsberechtigungen in dieser Reihenfolge dar. Wenn die Erlaubnis erteilt wird, wird ein r
, w
oder x
vorhanden sein. Wenn die Berechtigung nicht erteilt wird, -
wird ein Bindestrich angezeigt.
Der erste Satz aus drei Zeichen sind die Berechtigungen für den Dateieigentümer. Der zweite Satz von drei Berechtigungen gilt für Gruppenmitglieder und der letzte Satz von drei Berechtigungen gilt für andere.
Manchmal wird die Ausführungserlaubnis für den Eigentümer durch ein dargestellt s
. Dies ist das Setuid- Bit. Wenn es vorhanden ist, bedeutet dies, dass die Datei mit den Berechtigungen des Dateieigentümers ausgeführt wird, nicht des Benutzers, der die Datei ausführt.
Die Ausführungsberechtigung für die Gruppe kann auch eine sein s
. Dies ist das Setgid- Bit. Wenn dies auf eine Datei angewendet wird, bedeutet dies, dass die Datei mit den Berechtigungen der Gruppe des Eigentümers ausgeführt wird. Bei Verwendung mit einem Verzeichnis erhalten alle darin erstellten Dateien ihre Gruppenberechtigungen von dem Verzeichnis, in dem sie erstellt werden, und nicht von dem Benutzer, der die Datei erstellt.
Die Ausführungserlaubnis für die anderen kann manchmal durch ein dargestellt werden t
. Das ist der klebrige Teil . Es wird normalerweise auf Verzeichnisse angewendet. Wenn dies festgelegt ist, kann unabhängig von den Schreib- und Ausführungsrechten, die für die Dateien im Verzeichnis festgelegt sind, nur der Dateieigentümer, der Verzeichniseigentümer oder der Root-Benutzer Dateien im Verzeichnis umbenennen oder löschen.
Das Sticky-Bit wird häufig für Ordner wie „/tmp“ verwendet. Dies ist für alle Benutzer des Computers beschreibbar. Das Sticky-Bit im Verzeichnis stellt sicher, dass Benutzer – und von ihnen gestartete Prozesse – nur ihre eigenen temporären Dateien umbenennen oder löschen können.
Wir können das Sticky-Bit im Verzeichnis „/tmp“ sehen. Beachten Sie die Verwendung der -d
Option (Verzeichnis). Dies führt dazu ls
, dass über die Details des Verzeichnisses berichtet wird. Ohne diese Option ls
wird ein Bericht über die Dateien im Verzeichnis erstellt.
ls -l -d /tmp
Die Zahl hinter den Berechtigungen gibt die Anzahl der Hardlinks zur Datei oder zum Verzeichnis an. Bei einer Datei ist dies normalerweise eins, aber wenn andere Hardlinks erstellt werden, erhöht sich diese Zahl. Ein Verzeichnis verfügt normalerweise über mindestens zwei feste Links. Das eine ist ein Link zu sich selbst und das andere ist der Eintrag im übergeordneten Verzeichnis.
Als nächstes werden der Name des Eigentümers und der Gruppe angezeigt. Danach folgen die Dateigröße und das Datum der letzten Änderung der Datei. Abschließend wird der Dateiname angegeben.
Vom Menschen lesbare Dateigrößen
Die Angabe der Dateigröße in Bytes ist nicht immer praktisch. Um die Dateigrößen in den am besten geeigneten Einheiten (Kilobyte, Megabyte usw.) anzuzeigen, verwenden Sie die -h
Option (für Menschen lesbar):
ls -l -h
Versteckte Dateien anzeigen
Um versteckte Dateien anzuzeigen, verwenden Sie die -a
Option (alle):
ls -l -a
Die beiden Einträge „.“ und „..“ repräsentieren das aktuelle Verzeichnis bzw. das übergeordnete Verzeichnis. Eine Datei namens „.base_settings“ ist nun erstmals sichtbar.
Weglassen. Und. . aus den Einträgen
Wenn Sie nicht möchten, dass Ihr Eintrag mit den Einträgen „.“ und „..“ vollgestopft wird, Sie aber versteckte Dateien sehen möchten, verwenden Sie die -A
Option (fast alle):
ls -l -A
Die versteckte Datei wird weiterhin aufgeführt, die Einträge „.“ und „..“ werden jedoch unterdrückt.
Verzeichnisse rekursiv auflisten
Um ls
die Dateien in allen Unterverzeichnissen aufzulisten, verwenden Sie die -R
Option (rekursiv).
ls -l -R
ls
arbeitet sich durch den gesamten Verzeichnisbaum unterhalb des Startverzeichnisses und listet die Dateien in jedem Unterverzeichnis auf.
Anzeige der UID und GID
Um die Benutzer-ID und Gruppen-ID anstelle des Benutzernamens und Gruppennamens anzuzeigen, verwenden Sie die -n
Option (numerische UID und GID).
ls -n
Sortieren der Einträge
Sie können die Liste nach Erweiterung, Dateigröße oder Änderungszeit sortieren. Diese Optionen müssen beim langen Listenformat nicht unbedingt verwendet werden, es ist jedoch in der Regel sinnvoll, dies zu tun. Wenn Sie nach Dateigröße sortieren, ist es sinnvoll, die Dateigrößen in der Liste anzuzeigen. Wenn Sie nach Erweiterungstyp sortieren, ist das lange Listenformat nicht so wichtig.
Um nach Erweiterung zu sortieren, verwenden Sie die -X
Option (nach Erweiterung sortieren).
ls -X -1
Die Verzeichnisse werden zuerst aufgelistet (überhaupt keine Erweiterungen), dann folgt der Rest in alphabetischer Reihenfolge entsprechend den Erweiterungen.
Um nach Dateigröße zu sortieren, verwenden Sie die -S
Option (nach Dateigröße sortieren).
ls -l -h -S
Die Sortierreihenfolge ist vom größten zum kleinsten.
Um die Liste nach Änderungszeit zu sortieren, verwenden Sie die -t
Option (nach Änderungszeit sortieren).
ls -l -t
Die Auflistung ist nach Änderungszeit sortiert.
Wenn der Zeitpunkt der Dateiänderung innerhalb des aktuellen Jahres liegt, werden als Informationen Monat, Tag und Uhrzeit angezeigt. Wenn das Änderungsdatum nicht im aktuellen Jahr lag, werden der Monat, der Tag und das Jahr angezeigt.
Eine schnelle Möglichkeit, die neuesten und ältesten Dateien in einem Verzeichnis abzurufen, ist die Verwendung ls
der Befehle head
und tail
.
Um die neueste Datei oder das neueste Verzeichnis abzurufen, verwenden Sie diesen Befehl:
ls -t | head -1
Um die älteste Datei oder das älteste Verzeichnis abzurufen, verwenden Sie diesen Befehl:
ls -t | tail -1
Um die Sortierreihenfolge umzukehren
Um eine der Sortierreihenfolgen umzukehren, verwenden Sie die -r
Option (umkehren).
ls -l -h -S -r
Die Auflistung ist nun von der kleinsten zur größten Datei geordnet.
Und es gibt noch mehr
Schauen Sie sich die Manpage an ls
, es gibt viele weitere Optionen . Einige von ihnen erfüllen etwas unklare Anwendungsfälle, aber hin und wieder werden Sie froh sein, davon zu wissen.
Müssen Sie die Zeitstempel der Dateien mit der größtmöglichen Präzision sehen, die Linux bieten kann? Nutzen Sie die Vollzeitoption:
ls --full-time
Vielleicht möchten Sie die Inode-Nummer der Dateien sehen? Verwenden Sie die Inode-Option:
ls -i
Arbeiten Sie an einem monochromen Display und möchten Sie das Risiko einer Verwechslung von Dateien mit Verzeichnissen und Links beseitigen? Verwenden Sie die Option „Klassifizieren“ und ls
fügen Sie jedem Listeneintrag eine davon hinzu:
- / : Ein Verzeichnis.
- @ : Ein Symlink.
- | : Eine Named Pipe.
- = : Ein Sockel.
- * : Eine ausführbare Datei
ls -F
Graben Sie ein bisschen. Sie werden feststellen, dass es sich um ls
eine reiche Ader handelt, und Sie werden immer wieder Edelsteine finden.
Linux-Befehle |
|
Dateien |
tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · Join · jq · Fold · Uniq · Journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konvertieren · rclone · shred · srm · scp · gzip · chattr · schneiden · finden · umask · wc · tr |
Prozesse |
alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · geschichte · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · Timeout · Wall · Yes · Kill · Sleep · Sudo · Su · Time · Groupadd · Usermod · Groups · LSHW · Shutdown · Reboot · Halt · Poweroff · Passwd · LSCPU · Crontab · Date · BG · FG · PIDOF · Nohup · PMAP |
Vernetzung |
netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
Schreibe einen Kommentar