find -ls: Печать заголовков результатов

Вопрос или проблема

Я хотел бы увидеть заголовок, когда запускаю следующий код:

find /mydirectory -type f -ls

Я получаю результаты, но не знаю, что представляет каждая колонка

.

Ответ или решение

Когда вы выполняете команду find /mydirectory -type f -ls, вы используете инструмент find, который применяется для поиска файлов и каталогов по определенным критериям. В данном случае, вы ищете файлы (-type f) в указанном каталоге (/mydirectory). Опция -ls используется для вывода результатов в формате, аналогичном выводимому командой ls -l. Однако проблема, с которой вы столкнулись, заключается в отсутствии заголовков, поясняющих, что означают различные столбцы в результатах поиска.

Давайте начнем с теории. Когда используется команда find -ls, каждая строчка вывода соответствует определенному файлу и содержит информацию, схожую с деталями, отображаемыми командой ls -l. В типичных Unix-подобных системах столбцы имеют следующие значения:

  1. Inode Number – Указывает уникальный идентификатор для каждого файла в файловой системе.
  2. File Blocks – Отображает количество 512-байтовых блоков, используемых данным файлом. Это значение говорит о назначении дискового пространства для хранения файла.
  3. File Permissions – Включает разрешения доступа к файлу в формате rwxrwxrwx, что обозначает, какие действия могут выполнять владелец файла, группа, и другие пользователи.
  4. Number of Links – Отражает количество жестких ссылок на этот файл. Это число показывает, сколько имен имеет данный файл в файловой системе.
  5. Owner Name – Указывает владельца файла.
  6. Group Name – Показывает группу, к которой принадлежит файл.
  7. File Size – Отображает размер файла в байтах.
  8. Modification Date and Time – Включает дату и время последней модификации файла.
  9. File Name – Это фактическое имя файла или путь к нему.

С теорией разобрались, теперь посмотрим на пример. Предположим, вывод команды find -ls выглядит так:

123456  12 -rw-r--r--  1 user  group  3456  Oct  1 12:34 filename.txt

Этот вывод можно интерпретировать следующим образом:

  • 123456 – Уникальный номер inode.
  • 12 – Блоки файла. Например, из-за фрагментации размер файла на диске может оказаться больше.
  • -rw-r–r– – Разрешения доступа: владелец может читать и писать, группа и остальные – только читать.
  • 1 – Количество ссылок на этот файл (в данном случае, одна жесткая ссылка).
  • user – Владелец файла.
  • group – Группа, к которой принадлежит файл.
  • 3456 – Размер файла в байтах.
  • Oct 1 12:34 – Обозначает дату и время последней модификации файла.
  • filename.txt – Имя файла.

Теперь, давайте рассмотрим применение этой информации. Понимание значений каждого столбца может помочь вам:

  • Быстро определить разрешения и доступ к файлам, что полезно для управления безопасностью.
  • Узнать владельца или группу файла, что важно в среде с несколькими пользователями.
  • Оценить, сколько дискового пространства реально используется файлом, для оптимизации его расхода.
  • Понимать время модификации для управления версиями и резервными копиями файлов.

Если вам необходимо добавлять заголовки при использовании команды find -ls, стоит отметить, что данная команда изначально не поддерживает вставку заголовков в стандартный вывод. Однако, можно воспользоваться комбинацией команд оболочки для вставки их вручную. Например, вы можете использовать команду echo или встроенные средства, такие как awk, для ручного добавления имен столбцов:

echo -e "Inode\tBlocks\tPermissions\tLinks\tOwner\tGroup\tSize\tDate Modified\tName"
find /mydirectory -type f -ls | awk '{printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s %s %s %s\n",$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11}'

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

Оцените материал
Добавить комментарий

Капча загружается...