Що означає число після дозволів файлів Unix / Linux на зразок “-rw-rw-r--. 1 ”означає у висновку“ ls -l ”


17

Чи може хтось пояснити -rw-rw-r--. 1та дати деяку "детальну" інформацію про команду ls -lart.

Зокрема, що означає число 1після дозволу на файл? Чому вона змінюється або чому вона відрізняється для різних файлів?



2
Ви спробували самостійно знайти інформацію (сторінки з інструкціями тощо)? Чи була інформація незрозумілою?
Даніель Андерссон

1
@yi_H, я не бачу жодної інформації про номер після дозволів.
Шахбаз

1
Я був впевнений, що на запитання користувача1688102 вже поставили відповідь, але не змогли його знайти. @Shahbaz: це кількість посилань на один і той же inode, тобто кількість жорстких посилань, тобто кількість різних імен для одного файлу (за винятком програмних посилань).
RedGrittyBrick

1
Я бачив сторінку людини. Інформація не була чіткою і не було надано жодної інформації щодо дозволів у man ls @Daniel
VAR121

Відповіді:


15

Деякі приклади:

-rwxrw-r-- 1це файл із правами читання, запису та виконання власника. Група читала і пише, а інші лише читали. Немає посилань на ці дані.

drwxr-xr-x 10це каталог з 8 файлами. Додаткові 2 є .і ... Лише власник може створювати файли в цьому каталозі, інші можуть отримувати доступ до файлів у каталозі та читати вміст цих файлів, якщо привілеї дозволяють.

-r-------- 2це файл, який може читати лише власник, але не може виконати чи змінити. Він має посилання, що означає, що на диску є десь інша посилання на файл, який має доступ до тих же даних. Тож власне "вміст файлу" на диску має 2 "файли", на які посилається. Ці посилання часто створюються за допомогою lnбез надання -s.

Так:

  • Символ 1 - тип вузла: зазвичай -або dвказує на файл чи каталог.
  • Символи 2, 3, 4 вказують на read, wобряд та xecute для власника.
  • Персонажі 5, 6, 7 роблять те саме для групи.
  • Персонажі 8, 9, 10 роблять те саме для інших.
  • Число наступних символів дозволу вказує кількість посилань, якщо вузол є файлом, і кількість "підвузлів", якщо вузол - це каталог.

Дивіться главу Довгий формат з man ls.


Як @sapht сказав, що число (для каталогу) в кінці означає, що кількість файлів у каталозі невірна, я думаю. Тому що у мене в каталозі тисячі файлів, і він все ще показує 2
VAR121

Я ніколи не бачив ls, який не друкує кількість підподібних вузлів каталогу, використовуючи довгий формат. На якій ОС / дистрибутиві ви працюєте? Gnu ls,, busybox і darwin всі друкують кількість вузлів. Це справді каталог, а не інший тип вузла?
sapht

У моєму дистрибутиві (Linux Mint 18.3) немає такої глави на lsчоловічій сторінці людини. Жодне з полів там не пояснено. Я думаю, що це те саме для Ubuntu.
bleistift2

5

Для файлів - це кількість жорстких посилань на вміст файлу. 1 означає відсутність жорстких посилань (типовий випадок), число N вище 1 означає, що це та інші назви файлів N-1 мають однаковий вміст.

Для каталогів більшість, але не всі файлові системи повідомляють про кількість посилань 2+ N, де N - кількість підкаталогів.


1

[max @ localhost ~] $ ll

всього 4

drwxrwxr-x 2 max max 4096 25 вересня 17:11 zzz

Тут 2 означає кількість посилань

тепер я буду створювати 3 каталоги всередині zzz

тепер значення змінюється на 5

[max @ localhost ~] $ cd zzz
[max @ localhost zzz] $ mkdir abc
drwxrwxr-x 5 max max 4096 25 вересня 17:16.
drwx ------ 5 max max 4096 25 вересня 17:12 ..
drwxrwxr-x 2 max max 4096 25 вересня 17:16 a
drwxrwxr-x 2 max max 4096 25 вересня 17:16 b
drwxrwxr-x 2 max max 4096 Вересень 25 17:16 c

[max @ localhost zzz] $ cd

[max @ localhost ~] $ ll

всього 4

drwxrwxr-x 5 max max 4096 25 вересня 17:16 zzz

Це тому, що зараз у каталозі zzz 3 є 5 каталогів, a b cа 2 - приховані каталоги. ..

якщо я створять файл, тоді нічого не станеться для підрахунку посилань

[max @ localhost zzz] $ touch 1 2 3
[max @ localhost zzz] $ ls -al
всього 20
drwxrwxr-x 5 max max 4096 25 вересня 17:26. ------> кількість поточних посилань каталогів
drwx ------ 5 max max 4096 25 вересня 17:12 .. ------> кількість посилань на батьківський каталог
-rw-rw-r-- 1 max max 0 25 вересня 17:26 1
-rw-rw-r-- 1 max max 0 25 вересня 17:26 2
-rw-rw-r-- 1 max max 0 25 вересня 17:26 3
drwxrwxr-x 2 max max 4096 25 вересня 17:16 a
drwxrwxr-x 2 max max 4096 25 вересня 17:16 b
drwxrwxr-x 2 max max 4096 Вересень 25 17:16 c
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
всього 4
drwxrwxr-x 5 max max 4096 25 вересня 17:26 zzz

але якщо я видалю будь-який каталог, то кількість посилань зміниться

[max @ localhost zzz] $ rmdir bc
[max @ localhost zzz] $ cd
[max @ localhost ~] $ ll
всього 4
drwxrwxr-x 3 max max 4096 25 вересня 17:28 zzz

Багато (може бути, занадто багато) деталей для dirs - це не слово для файлів.
ndemou
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.