Что означают поля в ls -al output?

Команда ls -al показывает следующий вывод;

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

Каковы все поля на предыдущем дисплее?

4 Solutions collect form web for “Что означают поля в ls -al output?”

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

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

Разрешения для файлов отображаются следующим образом;

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

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

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

Вывод команды «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.

Флаг специального / альтернативного доступа обычно является пустым пространством, но на некоторых платформах он может использоваться для указания наличия специальных / альтернативных режимов доступа (таких как списки контроля доступа и дескрипторы безопасности на WIN32 и т. Д.) И широко варьируется – обратитесь к руководству , man-страницы, информационный инструмент или что-то не.

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

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

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

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

В системах 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. 

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

  • Изменение интервала между файлами в ls
  • Почему * не * разбирать `ls`?
  • Доверенная файловая система для отказа автомонтирования
  • почему grep не печатает всю строку?
  • sudo ls не показывает скрытые файлы в Linux
  • передача переменной ls в grep при выполнении поиска файла работает только внутри каталога
  • Как Linux вычисляет общее количество блоков при запуске / bin / ls -l?
  • Показывать только скрытые файлы (файлы точек) в псевдониме ls
  • Linux - команда для отображения файлов (кроме ls)
  • Список файлов в другом (нерабочем) каталоге с шаблоном
  • `ls / | wc -l` указывает больше строк, чем `ls /` показывает
  • Linux и Unix - лучшая ОС в мире.