Что делает поля в среднем ls - al output?

dnsmasq намного легче настроить как демон агрегатора/кэширования DNS, чем BIND, и с этой целью, производительность могла бы просто быть лучше. Если Вы поднимаете вход для "отлаживания", все вопросы и ответы обнаруживаются во что syslog настроил для сообщений отладки.

Dnsmasq также помогает избавиться от оскорбительных рекламодателей и dirtbag конфиденциальности, вторгающейся в "аналитические" сползания путем искажения всех доменов к 127.0.0.1

231
30.11.2013, 01:13
4 ответа

В порядке вывода;

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

Полномочия файла отображены как после;

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

В Вашем примере -rwxrw-r--, это означает, что отображенная строка:

  • регулярный файл (отображенный как-)
  • читаемый, перезаписываемый и исполняемый владельцем (rwx)
  • читаемый, перезаписываемый, но не исполняемый группой (rw-)
  • читаемый, но не перезаписываемый или исполняемый другим (r-)
226
27.01.2020, 19:28
  • 1
    Существует больше чем 2 типа файла. - не для некаталогов, это для регулярных файлов, существуют больше, чем r, w и x полномочия. В большинстве систем первое поле также используется для указания на присутствие дополнительных атрибутов как ACLs, атрибуты безопасности или другие расширенные атрибуты. Также обратите внимание, что для символьных ссылок, цель символьной ссылки также отображена в выводе ls -l. –  Stéphane Chazelas 29.11.2013, 23:06
  • 2
    Первый символ может иметь различные значения (например. b, D, and p'). На Википедию существует полное объяснение. –  ashes999 14.10.2014, 16:53
  • 3
    , числа полей плохо объяснены. Для файлов это означает количество жестких ссылок. Для каталога: количество каталогов в каталоге + этот каталог сам + 1. –  yanpas 19.03.2016, 21:20
  • 4
    Что делает number of links средний?Спасибо. –  tommy.carstensen 06.01.2017, 13:41
  • 5
    info ls имеет больше информации –  ctrl-alt-delor 05.03.2018, 11:21

Первый столбец является режимом файла, следующий столбец является числами ссылки, которую имеет файл, третьим и четвертым является имя владельца и группы, которой принадлежит файл. В следующем столбце говорится что число байтов файла (некоторые ls реализации имеют a -h опция видеть эту информацию в более удобной для пользователя форме). Последние два столбца указывают на метку времени и название файла. Вы прочитали страницу справочника для большего количества информации.

3
27.01.2020, 19:28

В системах 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.
31
27.01.2020, 19:28

Вывод команды "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 и т.д.), и варьируется в широких пределах - обратитесь к вашему руководству, man-страницам, инфоинструменту, или к чему-то подобному.

Флаги разрешений (режима) (UUUGGGOOO) представляют собой три набора из трех символов, где первый набор - "Пользователь" (т.е. Владелец), второй - "Группа", а третий - "Другие" (т.е. все остальные; все, кто не является ни Владельцем, ни Группой). Три флага разрешения в каждом наборе обычно r или -, что означает, что пользователь/группа/братья могут читать файл (r) или нет (-), за которым следует w или -, указывающие, могут ли они записать в файл (у вас могут быть файлы, в которые вы можете записать, но не можете прочитать, как бы странно это не звучало! ), а третий символ - это флаг "catch-all" для других режимов, обычно что-то вроде x для выполнения (для каталогов это означает, что Вы можете попытаться получить доступ к содержимому каталога), или - - ни за что. Иногда Вы можете столкнуться с s или S для setuid и/или setgid программ, или другими менее распространенными символами; смотрите документацию "ls" для символов режима, которые она будет показывать.

Наконец, самый первый символ - это тип файла; обычно один из них: d для каталога, l для символической ссылки (жесткие ссылки показывают обычно без специального символа), или - для обычного файла. Существует много других, но менее распространенных типов файлов для различных файловых систем. Эти первые десять символов (тип файла и права доступа) обсуждаются - в Википедии. Опять же, ваша документация скажет вам, какие типы файлов поддерживает и отображает ваша команда.

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

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

95
27.01.2020, 19:28

Теги

Похожие вопросы