Как найти значения полей в ls -l [закрыто]

9

Мой вопрос не в том, что означает каждое поле, а в том, как определить, что означает каждое поле.

Страница man просто заявляет: я использую формат длинного списка без описания того, что влечет за собой формат длинного списка.

monzie
источник
1
Разные ОС будут иметь разные справочные страницы; на какую ОС ты ссылаешься?
Джефф Шаллер
Возможный дубликат Что означают поля в выводе ls -al?
G-Man говорит: «Восстановите Монику»
Не дубликат
Монзи
Я не вижу, как это не по теме. Причина явно гласит: «Единственное исключение - это вопросы о том, где найти официальную документацию», и это именно то, о чем этот вопрос.
Калимо

Ответы:

12

В конце страницы руководства по реализации GNU coreutils ls(как в системах Linux и некоторых других Unices):

SEE ALSO
       Full documentation at: <http://www.gnu.org/software/coreutils/ls>
       or available locally via: info '(coreutils) ls invocation'

Перейдя по ссылке на онлайн-руководство, вы увидите раздел с пометкой «Какая информация в списке» , в котором, среди прочего, более подробно описан формат длинного вывода.

В большинстве других систем lsруководство является автономным и описывает длинный формат. Например, руководство по OpenBSD ls (1) .

Независимо от того, какой Unix вы используете , в lsруководстве будет храниться информация, которая вам требуется, или в соответствующем другом руководстве или в интерактивном документе, в котором содержатся подробности. Если это не так, вы должны сообщить об этом как об ошибке документации.


Поиск того, что делает опция для команды, опасен, так как многие команды имеют нестандартные расширения, которые могут быть реализованы по-разному в разных Unices или даже по-разному, в зависимости от того, какая версия инструмента установлена. Что вы хотели бы сделать, это прочитать руководство по вашей системе.

Если в руководстве нет точного описания того, что делает опция, или что это за формат, явно или со ссылкой на какую-то другую документацию, то, как я сказал выше, это будет считаться ошибкой документации.

Кусалананда
источник
3

Моя lsсправочная страница дает мне полную информацию о длинном формате. Я думаю, это должно быть одинаково на всех системах. Прокрутите вниз, может быть, вы найдете всю необходимую информацию

Длинный формат

Если -lуказан этот параметр, для каждого файла отображается следующая информация: режим файла, количество ссылок, имя владельца, имя группы, количество байтов в файле, сокращенный месяц, файл дня месяца в последний раз измененный, файл часа последнее изменение, минутный файл, последний измененный, и путь. Кроме того, для каждого каталога, содержимое которого отображается, общее количество 512-байтовых блоков, используемых файлами в каталоге, отображается в отдельной строке непосредственно перед информацией для файлов в каталоге. Если файл или каталог имеет расширенные атрибуты, за полем разрешений, напечатанным -lпараметром, следует @символ «». В противном случае, если файл или каталог имеет расширенную информацию о безопасности (например, список контроля доступа), поле разрешений, напечатанное-lза параметром следует +символ «».

Если время изменения файла больше, чем 6 месяцев в прошлом или будущем, вместо поля часа и минуты отображается год последней модификации.

Если имя владельца или группы не является известным именем пользователя или группы или -nзадана опция, отображаются числовые идентификаторы.

Если файл является символьным специальным или блочным специальным файлом, старшие и младшие номера устройств для файла отображаются в поле размера. Если файл является символической ссылкой, пути к файлу, на который указывает ссылка, предшествует символ ' ->'.

Режим файла, напечатанный под -lопцией, состоит из типа записи, полномочий владельца и групповых разрешений. Символ типа записи описывает тип файла следующим образом:

  • b Заблокировать специальный файл.
  • c Специальный символьный файл.
  • d Справочник.
  • l Символическая ссылка.
  • s Ссылка на сокет.
  • p FIFO.
  • - Обычный файл.

Следующие три поля по три символа в каждом: разрешения владельца, разрешения группы и другие разрешения. Каждое поле имеет три позиции символов:

  1. Если rфайл доступен для чтения; если -это не читается.
  2. Если wфайл доступен для записи; если -это не доступно для записи.
  3. Первое из следующего:

    • SЕсли в правах владельца, файл не является исполняемым и установлен режим set-user-ID. Если в группе разрешений, файл не является исполняемым и установлен режим set-group-ID.

    • sЕсли в правах владельца, файл исполняемый и установлен режим set-user-ID. Если в группе разрешений, файл исполняемый и установлен режим setgroup-ID.

    • x Файл исполняемый или каталог доступен для поиска.

    • -Файл не является ни читаемым, ни записываемым, ни исполняемым, ни set-user-ID, ни режимом set-group-ID, ни липким. (См. ниже.)

    Следующие два применяются только к третьему символу в последней группе (другие разрешения).

    • TФиксированный бит установлен (режим 1000), но не разрешен для выполнения или поиска. (См. chmod(1)Или sticky(8).)

    • tФиксированный бит установлен (режим 1000) и доступен для поиска или выполнения. (См. chmod(1)Или sticky(8).)

Arushix
источник
4
Это, конечно, не то же самое на всех системах. Кроме того, руководство по какой-либо случайной системе может не относиться к локальной машине, которую использует пользователь. Например, в Solaris есть тип файла P(порт события), который не упоминается в руководстве по вашей системе.
Кусалананда
1
У Solaris также есть тип файла D(дверь), который был достаточно интригующим, чтобы я мог понять, что это была за дверь; Я думаю, что это было похоже на трубу.
Марк Стюарт
1
@Mark - «Вход - это дверь» в справочной странице Solaris «ls» (ваш комментарий пробудил во мне интерес).
2

Попробуйте использовать infoкоманду, как в info ls. Многие команды имеют гораздо более подробную документацию, чем на страницах руководства. В этом случае вы получите автономную версию той же документации по ссылке в ответе @ Kusalananda. Вы можете использовать info -k <search term>для поиска информационных страниц.

Другим способом поиска справки является apropos <search term>команда, которая ищет заголовки и описания справочных страниц, чтобы помочь вам найти то, что вы ищете. Это поможет вам найти все разделы справочной страницы, которая в lsмоей системе - это разделы 1 (по умолчанию) и 1р. man 1p lsимеет информацию о формате вывода.

bewilderex63
источник
1
Команда infoбудет доступна только в системах с утилитами GNU.
Кусалананда
1
Правда, но систем очень много.
bewilderex63