Jaka jest liczba po uprawnieniach do plików w systemach Unix / Linux, takich jak „-rw-rw-r--. 1 ”oznacza na wyjściu„ ls -l ”

17

Czy ktoś może wyjaśnić -rw-rw-r--. 1i podać „szczegółowe” informacje na temat polecenia ls -lart.

W szczególności, co oznacza liczba 1po uprawnieniach do plików? Dlaczego się zmienia lub dlaczego różni się dla różnych plików?

VAR121
źródło
4
en.wikipedia.org/wiki/…
Karoly Horvath
2
Czy próbowałeś samodzielnie znaleźć informacje (strony podręcznika itp.)? Czy informacje były niejasne?
Daniel Andersson,
1
@ yi_H, po uprawnieniach nie widzę żadnych informacji o numerze.
Shahbaz
1
Byłem pewien, że pytanie użytkownika1688102 zostało już zadane i udzielono odpowiedzi, ale nie mogę go znaleźć. @Shahbaz: it; s liczba odwołań do tego samego i-węzła, tj. Liczba dowiązań twardych, tj. Liczba różnych nazw dla tego samego pliku (z wyłączeniem dowiązań miękkich).
RedGrittyBrick
1
Widziałem stronę mężczyzny. Informacje nie były jasne i nie podano żadnych informacji dotyczących uprawnień w man ls @Daniel
VAR121

Odpowiedzi:

15

Kilka przykładów:

-rwxrw-r-- 1to plik z uprawnieniami do odczytu, zapisu i wykonywania dla właściciela. Grupa czytała i pisała, a inni czytali tylko. Brak linków do tych danych.

drwxr-xr-x 10to katalog z 8 plikami. Dodatkowe 2 to .i ... Tylko właściciel może tworzyć pliki w tym katalogu, inni mogą uzyskiwać dostęp do plików znajdujących się w tym katalogu i czytać zawartość tych plików, jeśli pozwalają na to uprawnienia.

-r-------- 2to plik, który tylko właściciel może odczytać, ale nie może go wykonać ani zmodyfikować. Ma łącze, co oznacza, że ​​na dysku znajduje się inne odniesienie do pliku, które uzyskuje dostęp do tych samych danych. Zatem rzeczywista „zawartość pliku” na dysku zawiera 2 „pliki”, które się do niej odnoszą. Te linki są często tworzone przy użyciu lnbez dostarczania -s.

Więc:

  • Znak 1 jest typem węzła: zwykle -lub dwskazuje plik lub katalog.
  • Znaki 2, 3, 4 oznaczają read, wobrzęd i xeuteut dla właściciela.
  • Znaki 5, 6, 7 robią to samo dla grupy.
  • Znaki 8, 9, 10 robią to samo dla innych.
  • Liczba kolejnych znaków uprawnień wskazuje liczbę łączy, jeśli węzeł jest plikiem, oraz liczbę „podwęzłów”, jeśli węzeł jest katalogiem.

Patrz rozdział dłuższej Format z man ls.

sapht
źródło
Ponieważ @sapht powiedział, że liczba (dla katalogu) na końcu sugeruje, że liczba plików w katalogu jest nieprawidłowa. Ponieważ mam tysiące plików w katalogu i nadal pokazuje 2
VAR121
Nigdy nie widziałem ls, który nie drukuje licznika podwęzłów katalogu przy użyciu długiego formatu. Na jakim systemie operacyjnym / dystrybucji korzystasz? Gnu ls, busybox i darwin drukują liczbę węzłów. Czy to naprawdę katalog, a nie inny typ węzła?
sapht
Moja dystrybucja (Linux Mint 18.3) nie ma takiego rozdziału na lsstronie podręcznika użytkownika. Żadne z pól nie jest tam wyjaśnione. Myślę, że to samo dotyczy Ubuntu.
bleistift2
5

W przypadku plików jest to liczba dowiązań twardych do zawartości pliku. 1 oznacza brak twardych linków (typowy przypadek), liczba N powyżej 1 oznacza to, a inne nazwy plików N-1 mają tę samą zawartość.

W przypadku katalogów większość, ale nie wszystkie systemy plików, zgłaszają liczbę odsyłaczy równą 2+ N, gdzie N jest liczbą podkatalogów.

ndemou
źródło
1

[max @ localhost ~] $ ll

razem 4

drwxrwxr-x 2 max max 4096 25 września 17:11 zzz

Tutaj 2 oznacza liczbę linków

teraz utworzę 3 katalogi wewnątrz zzz

teraz wartość zmienia się na 5

[max @ localhost ~] $ cd zzz
[max @ localhost zzz] $ mkdir abc
drwxrwxr-x 5 max 4096 25 września 17:16.
drwx ------ 5 maks. 4096 wrz 25 17:12 ..
drwxrwxr-x 2 max max 4096 25 września 17:16 a
drwxrwxr-x 2 max max 4096 25 września 17:16 b
drwxrwxr-x 2 max max 4096 25 września 17:16 c

[max @ localhost zzz] $ cd

[max @ localhost ~] $ ll

razem 4

drwxrwxr-x 5 max 4096 wrz 25 17:16 zzz

To dlatego, że teraz w Zzz 3 jest obecnych 5 katalogów, a b ca 2 to katalogi ukryte. ..

jeśli utworzę plik, nic się nie stanie z liczeniem linków

[max @ localhost zzz] $ touch 1 2 3
[max @ localhost zzz] $ ls -al
razem 20
drwxrwxr-x 5 maks. 4096 25 września 17:26. ------> bieżąca liczba linków do katalogu
drwx ------ 5 maks. 4096 września 25 17:12 .. ------> liczba linków do katalogu nadrzędnego
-rw-rw-r-- 1 max max 0 września 25 17:26 1
-rw-rw-r-- 1 max max 0 września 25 17:26 2
-rw-rw-r-- 1 max max 0 września 25 17:26 3
drwxrwxr-x 2 max max 4096 25 września 17:16 a
drwxrwxr-x 2 max max 4096 25 września 17:16 b
drwxrwxr-x 2 max max 4096 25 września 17:16 c
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
razem 4
drwxrwxr-x 5 maks. 4096 25 września 25 17:26 zzz

ale jeśli usunę jakiś katalog, liczba linków ulegnie zmianie

[max @ localhost zzz] $ rmdir bc
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
razem 4
drwxrwxr-x 3 max max 4096 25 września 17:28 zzz
max
źródło
Wiele (może za dużo) szczegółów dla reżimów, ani słowa dla plików.
ndemou