Mit Hilfe des ls
Befehl listen Benutzer und Superuser Informationen über Dateien und Verzeichnisse auf. Dieser Artikel hilft Administratoren und Benutzern, Dateiberechtigungen zu identifizieren, was für den Zugriff und die grundlegende Fehlerbehebung hilfreich ist.
Mit ls
Im einfachsten Fall können Sie den ls
verwenden Befehl, um zu sehen, welche Dateien sich in einem Verzeichnis befinden:Hinweis:Die Auflistung kann farbcodiert sein oder auch nicht.
[root@centos7 ~]# ls /etc
abrt firewalld makedumpfile.conf.sample rdma
adjtime flatpak man_db.conf redhat-release
aliases fonts maven request-key.conf
aliases.db fprintd.conf mime.types request-key.d
alsa fstab mke2fs.conf resolv.conf
alternatives fuse.conf modprobe.d rhsm
anacrontab gconf modules-load.d rpc
...
Es gibt viele Flags verfügbar, um Ihnen mit Ihrer Dateiliste weitere Informationen zu geben. Am gebräuchlichsten ist -a
(oder --all
), da es Ihnen alle Dateien im Verzeichnis anzeigt, einschließlich derjenigen, die mit einem Punkt beginnen (z. B. .bash_logout
).
Ein weiteres gängiges Flag ist -l
, das Ihnen weitere Informationen zu den Dateien in einem Verzeichnis gibt, einschließlich der Berechtigungen, des Eigentums und der Größe der Datei. Wenn Sie leichter erkennen möchten, welche Einheiten eine Dateigröße hat (z. B. 1K, 234M, 2G), können Sie den -h
hinzufügen (kurz für --human-readable
)-Flag.
Gehen wir ein Beispiel durch. Eine einfache Dateiliste im Verzeichnis des Root-Benutzers könnte folgendermaßen aussehen:
[root@name ~]# ls /root
anaconda-ks.cfg
Wenn Sie die Langformatversion dieser Liste wünschen (wir behandeln die hier gezeigten zusätzlichen Informationen im nächsten Abschnitt):
[root@name ~]# ls -l /root
total 4
-rw-------. 1 root root 896 Feb 22 01:40 anaconda-ks.cfg
Wenn Sie jedoch das -a
hinzufügen Flag, das ls
Der Befehl gibt eine Kurzformliste mit den versteckten Elementen zurück:
[root@name ~]# ls -a /root
. anaconda-ks.cfg .bash_logout .bashrc .cshrc .tcshrc
.. .bash_history .bash_profile .cache .local
Beachten Sie den einfachen Punkt und den doppelten Punkt in beiden Verzeichnislisten. Der einzelne Punkt (.
) bezieht sich auf das Verzeichnis selbst. Dieser Punkt ist praktisch, wenn Sie einen Befehl ausführen und auf Ihr aktuelles Verzeichnis verweisen möchten (z. B. wenn Sie eine Datei dorthin kopieren möchten).
Die doppelten Punkte (..
) verweisen auf das übergeordnete Verzeichnis. Wenn Sie cd ..
eingeben Sie bewegen sich in der Dateisystemhierarchie eine Stufe nach oben. Zum Beispiel, wenn Ihr aktuelles Verzeichnis /root
ist , indem Sie cd ..
eingeben würde Sie zu /
führen , ganz oben in der Hierarchie.
Kombiniert man das -a
Option mit dem -l
Option in -la
, erhalten Sie weitere Details zu den versteckten und nicht versteckten Dateien:
[root@name ~]# ls -la /root
total 44
dr-xr-x---. 4 root root 4096 Feb 11 05:47 .
dr-xr-xr-x. 19 root root 4096 Jul 11 13:15 ..
-rw-------. 1 root root 896 Feb 22 01:40 anaconda-ks.cfg
-rw-------. 1 root root 163 Jul 11 01:18 .bash_history
-rw-r--r--. 1 root root 18 Feb 2 10:37 .bash_logout
-rw-r--r--. 1 root root 176 Feb 2 10:37 .bash_profile
-rw-r--r--. 1 root root 176 Feb 2 10:37 .bashrc
drwx------. 3 root root 4096 Jul 11 01:37 .cache
-rw-r--r--. 1 root root 100 Feb 2 10:37 .cshrc
drwxr-xr-x. 3 root root 4096 Feb 22 01:57 .local
-rw-r--r--. 1 root root 129 Feb 2 10:37 .tcshrc
Entschlüsselung des langen Auflistungsformats
Wenn Sie beginnen, das -l
zu verwenden Flagge, werden Sie viel mehr Informationen bemerken. Hier ist eine Beispielzeile der Ausgabe:
drwxrwxr-x 2 root test 4096 Dec 3 2009 test
Das erste Zeichen auf der linken Seite sagt Ihnen, was Sie gerade sehen. Wenn es ein d
ist , wie Sie hier sehen, das sagt, dass diese Datei ein Verzeichnis ist, das im Grunde eine spezielle Art von Datei ist (und es wird durchgehend als Datei bezeichnet). Wenn es sich jedoch um einen Bindestrich (-
), was darauf hindeutet, dass die Datei eine normale Datei ist.
Wenn das erste Zeichen ein Kleinbuchstabe l
war , dann wäre dieses Element ein spezieller Dateityp namens Symlink oder Softlink, der ein Zeiger (Verknüpfung) zu einer anderen Stelle im Dateisystem ist. Eine solche Auflistung könnte wie folgt aussehen:
lrwxrwxrwx 1 root root 4 Jun 30 03:29 sh -> bash
Nach dem ersten Zeichen stehen die Berechtigungskürzel, die zu dritt gruppiert sind. Berechtigungen für Dateien werden durch die folgenden Buchstaben dargestellt:
r
für die Leseberechtigungw
für die Schreibberechtigungx
für die Ausführungserlaubnis
Zurück zu diesem Beispiel:
drwxrwxr-x 2 root test 4096 Dec 3 2009 test
- Das erste Triplett (
rwx
) zeigt die Berechtigungen für den Benutzer oder Dateibesitzer. - Das nächste Triplett (
rwx
) zeigt die Berechtigungen für die Gruppenkategorie. - Das letzte Triplett (
r-x
) zeigt die Berechtigungen für die letzte Kategorie, andere.
In diesem Beispiel haben Benutzer, die weder der Dateieigentümer noch Mitglieder der Gruppe sind, Lese- und Ausführungsberechtigungen, aber keine Schreibberechtigungen, wie durch den Bindestrich (-
) in der mittleren Position.
Die nach den Berechtigungen aufgeführte Zahl gibt entweder den Link an count (bei einer Datei) oder die Anzahl der enthaltenen Verzeichniseinträge (bei einem Verzeichnis). Diese Nummer ist für Berechtigungen nicht relevant.
Nach dieser Nummer gibt der Vorname den Eigentümer der Datei an. Für diesen Besitzer gelten die Benutzerrechte (erstes Tripel), also in diesem Beispiel der Benutzer root
hat Lese-, Schreib- und Ausführungsberechtigungen für dieses Verzeichnis.
Der zweite Name ist die Gruppe der Datei. Die Gruppenberechtigungen gelten für jeden Benutzer in derselben Gruppe, also in diesem Fall für jeden in mail
Gruppe hat Lese-, Schreib- und Ausführungsberechtigungen.
Abschluss
Jetzt sollten Sie ein viel besseres Gefühl dafür haben, Informationen über Ihre Dateien von der Befehlszeile aus zu erhalten. Die ls
Befehl hat viel mehr Optionen. Geben Sie man ls
ein um mehr zu erfahren und Ihre bevorzugten Flaggenkombinationen herauszufinden, um Dinge zu erledigen. Vielleicht möchten Sie sogar ein paar Aliase erstellen.