Kann jemand erklären -rw-rw-r--. 1
und einige "detaillierte" Informationen über den Befehl ls -lart geben.
Was bedeutet die Nummer 1
nach den Dateiberechtigungen? Warum ändert es sich oder warum unterscheidet es sich für verschiedene Dateien?
Kann jemand erklären -rw-rw-r--. 1
und einige "detaillierte" Informationen über den Befehl ls -lart geben.
Was bedeutet die Nummer 1
nach den Dateiberechtigungen? Warum ändert es sich oder warum unterscheidet es sich für verschiedene Dateien?
Antworten:
Einige Beispiele:
-rwxrw-r-- 1
ist eine Datei mit Lese-, Schreib- und Ausführungsberechtigungen für den Eigentümer. Die Gruppe hat gelesen und geschrieben, andere haben nur gelesen. Es gibt keine Links zu diesen Daten.
drwxr-xr-x 10
ist ein Verzeichnis mit 8 Dateien. Die zusätzlichen 2 sind .
und ..
. Nur der Eigentümer kann Dateien in diesem Verzeichnis erstellen, andere können auf die Dateien im Verzeichnis zugreifen und den Inhalt dieser Dateien lesen, wenn die Berechtigungen dies zulassen.
-r-------- 2
ist eine Datei, die nur der Eigentümer lesen, aber nicht ausführen oder ändern kann. Es hat einen Link, was bedeutet, dass sich irgendwo auf der Festplatte eine andere Dateireferenz befindet, die auf dieselben Daten zugreift. Der eigentliche "Dateiinhalt" auf der Festplatte enthält also 2 "Dateien", die darauf verweisen. Diese Links werden häufig mit ln
ohne Angabe erstellt -s
.
So:
-
oder d
zeigt eine Datei oder ein Verzeichnis an.r
ead, w
rite und e x
ecute an.Siehe Kapitel Das Langformat von man ls
.
ls
der Manpage. Keines der Felder wird dort erklärt. Ich denke, dass es für Ubuntu genauso ist.
Bei Dateien ist dies die Anzahl der Hardlinks zum Inhalt der Datei. 1 bedeutet keine Hardlinks (der typische Fall), eine Zahl N über 1 bedeutet, dass dieser und ein anderer N-1- Dateiname denselben Inhalt haben.
Für Verzeichnisse geben die meisten, aber nicht alle Dateisysteme eine Verbindungsanzahl von 2+ N an, wobei N die Anzahl der Unterverzeichnisse ist.
[max @ localhost ~] $ ll
insgesamt 4
drwxrwxr-x 2 max max 4096 25. September 17:11 zzz
Hier bedeutet 2 die Anzahl der Links
Jetzt werde ich 3 Verzeichnisse in zzz erstellen
Jetzt ändert sich der Wert auf 5
[max @ localhost ~] $ cd zzz [max @ localhost zzz] $ mkdir abc drwxrwxr-x 5 max max 4096 25. September 17:16. drwx ------ 5 max max 4096 25. September 17:12 .. drwxrwxr-x 2 max max 4096 25. September 17:16 a drwxrwxr-x 2 max max 4096 25. September 17:16 b drwxrwxr-x 2 max max 4096 25. September 17:16 c
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
insgesamt 4
drwxrwxr-x 5 max max 4096 25. September 17:16 zzz
Das liegt daran, dass jetzt 5 Verzeichnisse in zzz 3 vorhanden sind a
b
c
und 2 versteckte Verzeichnisse sind.
..
Wenn ich eine Datei erstelle, passiert nichts mit der Anzahl der Links
[max @ localhost zzz] $ touch 1 2 3 [max @ localhost zzz] $ ls -al insgesamt 20 drwxrwxr-x 5 max max 4096 25. September 17:26. ------> aktuelle Verzeichnisverknüpfungsanzahl drwx ------ 5 max max 4096 Sep 25 17:12 .. ------> Anzahl der übergeordneten Verzeichnisverbindungen -rw-rw-r-- 1 max max 0 Sep 25 17:26 1 -rw-rw-r-- 1 max max 0 Sep 25 17:26 2 -rw-rw-r-- 1 max max 0 Sep 25 17:26 3 drwxrwxr-x 2 max max 4096 25. September 17:16 a drwxrwxr-x 2 max max 4096 25. September 17:16 b drwxrwxr-x 2 max max 4096 25. September 17:16 c [max @ localhost zzz] $ cd [max @ localhost ~] $ ll insgesamt 4 drwxrwxr-x 5 max max 4096 25. September 17:26 zzz
Wenn ich jedoch ein Verzeichnis lösche, ändert sich die Anzahl der Links
[max @ localhost zzz] $ rmdir bc [max @ localhost zzz] $ cd [max @ localhost ~] $ ll insgesamt 4 drwxrwxr-x 3 max max 4096 25. September 17:28 zzz