Що означають поля в ls -ал випуску?


218

ls -alКоманда показує наступний висновок;

-rwxrw-r--    10    root   root 2048    Jan 13 07:11 afile.exe

Які всі поля на попередньому екрані?


що означає L у цих дозволах .... lrwxrwxrwx
Лін-людина

1
Будь ласка, прочитайте другу відповідь. Це прапор типу файлу; Звичайний файл (-), файли каталогів (d), файл блоку (b), файл пристрою символів (c), файл з іменованою трубкою або просто файл труби (p), файл символічної посилання (l), файл (и) сокета. linuxnix.com/file-types-in-linux
Містер Білий

Відповіді:


215

У порядку виходу;

-rwxrw-r--    1    root   root 2048    Jan 13 07:11 afile.exe
  • дозволи на файл,
  • кількість посилань,
  • ім'я власника,
  • група власників,
  • розмір файлу,
  • час останньої модифікації та
  • ім'я файлу / каталогу

Дозволи на файл відображаються наступним чином;

  • перший символ -або lабо d, d вказує на каталог, лінія являє собою файл, л є символічна (або м'яка посилання) - спеціальний тип файлу
  • три набори символів, три рази, із зазначенням дозволів для власника, групи та інших:
    • r = читабельний
    • w = для запису
    • x = виконуваний файл

У вашому прикладі -rwxrw-r--це означає, що відображається рядок:

  • звичайний файл (відображається як -)
  • читабельний, для запису та виконується власником (rwx)
  • читабельний, доступний для запису, але не виконується групами (rw-)
  • читабельна, але не підлягає написанню або виконуваному іншими (r--)

14
Існує понад 2 типи файлів. -не для НЕ-каталогів , то для звичайних файлів , є більше , ніж r, wі xдозвіл. У більшості систем перше поле також використовується для вказівки на наявність додаткових атрибутів, таких як ACL, атрибути безпеки або інші розширені атрибути. Також зауважте, що для посилань ціль символьної посилання також відображається у висновку ls -l.
Стефан Шазелас

12
Перший символ може мати різні значення (наприклад b, D , and p`). У Вікіпедії є повне пояснення .
ashes999

13
Кількість полів пояснюється погано. Для файлів це означає кількість жорстких посилань. Для каталогу: кількість каталогів у каталозі + сам цей каталог + 1.
yanpas

13
Що number of linksозначає? Дякую.
tommy.carstensen

3
info lsмає більше інформації
ctrl-alt-delor

94

Вихід команди "ls" залежить від версії "ls", використовуваних параметрів, використовуваної платформи тощо. З вашого прикладу виходить, що ви використовуєте її з типового un * x (наприклад, Linux), і, ймовірно, використовуючи типову сучасну "ls" версію. У якому випадку:

-rwxrw-r--    10    root   root 2048    Jan 13 07:11 afile.exe
?UUUGGGOOOS   00  UUUUUU GGGGGG ####    ^-- date stamp and file name are obvious ;-)
^ ^  ^  ^ ^    ^      ^      ^    ^
| |  |  | |    |      |      |    \--- File Size
| |  |  | |    |      |      \-------- Group Name (for example, Users, Administrators, etc)
| |  |  | |    |      \--------------- Owner Acct
| |  |  | |    \---------------------- Link count (what constitutes a "link" here varies)
| |  |  | \--------------------------- Alternative Access (blank means none defined, anything else varies)
| \--\--\----------------------------- Read, Write and Special access modes for [U]ser, [G]roup, and [O]thers (everyone else)
\------------------------------------- File type flag

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

У деяких версіях та / або прапорах командного рядка буде перераховано кількість використаних блоків замість кількості байтів; файлова система з розміром блоку 1024 байтів буде перераховувати всі розміри до 1024 байтів як "1", тобто 1 блок використовується, від 1025 до 2048 як "2", використовуючи 2 блоки тощо. Але перелік розмірів блоків за замовчуванням (без явного використання параметра командного рядка) є рідкісним на більшості сучасних машин un * x.

Спеціальний / альтернативний прапор доступу зазвичай є порожнім простором, але на деяких платформах його можна використовувати, щоб вказати, що існують спеціальні / альтернативні режими доступу (наприклад, ACL та дескриптори безпеки на WIN32 тощо), і широко варіюється - проконсультуйтеся у своєму посібнику , довідкові сторінки, інформаційний інструмент чи що - ні.

Прапори дозволів (режим) (UUUGGGOOO) - це три набори з трьох символів, де перший набір - "Користувач" (тобто власник), другий набір - "Група", а третій - "Інші" (тобто всі інші будь-хто, хто не є власником і не групою); Три прапори дозволів у кожному наборі, як правило, rабо -означають, що користувач / група / інші можуть читати файл ( r) чи ні ( -), після чого wабо -вказувати, чи можуть вони записувати у файл (у вас можуть бути файли, до яких ви можете записувати, але не може читати, як це не дивно звучить!), а третій символ - це прапор "catch-all" для інших режимів, як правило, щось на кшталт xExecute (для каталогів, це означає, що ви можете спробувати отримати доступ до вмісту каталогу), або -ні для кого.sабо Sдля встановлених та / або встановлених програм, або інших менш поширених символів; перегляньте свою "ls" документацію щодо символів режиму, які вона відображатиметься.

Нарешті, найпершим символом є тип файлу; як правило, один із: dдля каталогу, lдля символічного посилання (жорсткі посилання відображаються зазвичай без спеціального власного символу) або -для звичайного файлу. Існує багато інших, але рідше зустрічаються типів файлів для різних файлових систем. Ці перші десять символів (тип файлу та дозволи) обговорюються у Вікіпедії . Знову ж таки, ваша документація точно розповість, які типи файлів підтримує та відображає ваша команда.

BTW, якщо ви не можете знайти сторінку man / info для самого "ls" ("man ls" / "info ls"), спробуйте пошукати пакет "coreutils" ("info coreutils"). Також зауважте, що серед більш поширених платформ платформи Microsoft, як правило, не дуже добре переводять на вихід "ls", тож ви можете побачити дивну поведінку, прапори чи іншу незвичну інформацію у висновку, залежно від того, якою була ваша версія "ls" складено, з чим це було пов’язано тощо.

Ще одне застереження: штамп часу файлу - це зазвичай дата / час останнього зміни файлу , а не час створення файлу. Насправді, у файловій системі un * x-ish, немає запису про час створення файлу; поле ctime НЕ означає "час створення", як це робиться у файлових системах FAT / NTFS, а, скоріше, означає "час inode [C]" - час, коли сама індея востаннє змінена. Часові позначки "mtime" (останнє [M] відмінено) та atime (останнє [A] ccesed / read) є однаковими для обох систем, хоча точність (наприклад, FAT має деталізацію у дві секунди) та часовий пояс можуть змінюватись .


4
Яка система включає символьні посилання у кількість посилань?
celtschk

1
До жаль, я не ясно .. Ні одна система , я знаю , включає в себе символічні посилання на засланні кол .. я тільки мав на увазі «що представляє собою" посилання "». Наприклад, в Windows 'посилання на оболонку вважається посиланням, але більшість команд консолі трактують її як звичайний файл. Сюди входить ls, який не включатиме його до кількості посилань. Наскільки мені відомо, якщо джерела для 'ls' не змінені іншим чином, він повідомляє лише те, що звітує ОС за кількість посилань.
CM CM

1
В тому числі файли sym-посилання та .lnk потребують пробірки всього каталогу. Просто перелічити файл. Це було б повільно. Він включає лише жорстке посилання. Це кількість записів у каталозі, які є у файлі. (він використовується смітником. Коли кількість посилань дорівнює нулю, тоді файл видаляється.)
ctrl-alt-delor

1
Як правило, моє розуміння операційних систем (ОС) та файлових систем (FS) погодиться, але час від часу я бачив деякі диваки з певними ОС і FS. Хоча це не завжди є частиною ОС / FS; Іноді дивацтва є результатом спроби перенести інструмент з однієї ОС на іншу, а потім спробувати налаштувати його для нової платформи - відмінності в полі CTIME між EXT та FAT / NTFS, наприклад - і як NTFS реалізує різні види "посилань" (посилання оболонки, точки перерозподілу тощо), що ускладнює дати точне та рівномірне визначення.
CM CM

1
Додаткова примітка: розмір файлу для каталогу - це лише розмір метаданих каталогу, а не загальний розмір файлів у каталозі.
Вісбукі

31

У системах GNU це описується на lsінформаційній сторінці дуже докладно. Все , що вам потрібно зробити , щоб знайти його: просто відкрити man lsі знайти в кінці посилання на повну документацію: info coreutils 'ls invocation'.

Ось цитата з нього:

`-l'
`--format=long'
`--format=verbose'
     In addition to the name of each file, print the file type, file
     mode bits, number of hard links, owner name, group name, size, and
     timestamp (*note Formatting file timestamps::), normally the
     modification time.  Print question marks for information that
     cannot be determined.

     Normally the size is printed as a byte count without punctuation,
     but this can be overridden (*note Block size::).  For example, `-h'
     prints an abbreviated, human-readable count, and
     `--block-size="'1"' prints a byte count with the thousands
     separator of the current locale.

     For each directory that is listed, preface the files with a line
     `total BLOCKS', where BLOCKS is the total disk allocation for all
     files in that directory.  The block size currently defaults to 1024
     bytes, but this can be overridden (*note Block size::).  The
     BLOCKS computed counts each hard link separately; this is arguably
     a deficiency.

     The file type is one of the following characters:

    `-'
          regular file

    `b'
          block special file

    `c'
          character special file

    `C'
          high performance ("contiguous data") file

    `d'
          directory

    `D'
          door (Solaris 2.5 and up)

    `l'
          symbolic link

    `M'
          off-line ("migrated") file (Cray DMF)

    `n'
          network special file (HP-UX)

    `p'
          FIFO (named pipe)

    `P'
          port (Solaris 10 and up)

    `s'
          socket

    `?'
          some other file type

     The file mode bits listed are similar to symbolic mode
     specifications (*note Symbolic Modes::).  But `ls' combines
     multiple bits into the third character of each set of permissions
     as follows:

    `s'
          If the set-user-ID or set-group-ID bit and the corresponding
          executable bit are both set.

    `S'
          If the set-user-ID or set-group-ID bit is set but the
          corresponding executable bit is not set.

    `t'
          If the restricted deletion flag or sticky bit, and the
          other-executable bit, are both set.  The restricted deletion
          flag is another name for the sticky bit.  *Note Mode
          Structure::.

    `T'
          If the restricted deletion flag or sticky bit is set but the
          other-executable bit is not set.

    `x'
          If the executable bit is set and none of the above apply.

    `-'
          Otherwise.

     Following the file mode bits is a single character that specifies
     whether an alternate access method such as an access control list
     applies to the file.  When the character following the file mode
     bits is a space, there is no alternate access method.  When it is
     a printing character, then there is such a method.

     GNU `ls' uses a `.' character to indicate a file with an SELinux
     security context, but no other alternate access method.

     A file with any other combination of alternate access methods is
     marked with a `+' character.

Дякую! Я не був впевнений у значенні "спеціального файлу персонажів" у першій колонці при перерахуванні/dev/
Бруно Броноський

3

Перший стовпець - це режим файлів, наступний стовпець - номери посилання, який має файл, третій та четвертий - це ім’я власника та група, до якої належить файл. У наступному стовпці вказано кількість байтів файлу (у деяких lsреалізаціях є -hможливість переглянути цю інформацію в більш зручній для користувача формі). Останні два стовпці вказують часову позначку та назву файлу. Ви б прочитали довідкову сторінку для отримання додаткової інформації.

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