Как найти файловую систему linux

Обновлено: 05.07.2024

Хотите узнать, как найти файл в Linux? Что ж, сюрприз, сюрприз, вам понадобится команда find в Linux, чтобы просмотреть ваш каталог или файловую систему. Команда Linux find может рекурсивно фильтровать объекты, используя простой условный механизм, а если вы используете флаг -exec, вы также сможете сразу найти файл в Linux. и обработайте его, не используя другую команду.

Найти файлы Linux по имени или расширению

Введите find в командной строке, чтобы отследить конкретный файл по его имени или расширению. Если вы хотите найти файлы *.err в каталоге /home/username/ и во всех подкаталогах, попробуйте следующее: найти /home/username/ -name "*.err"

Типичный Linux Поиск Команды и синтаксис

Выражения команды

найти выглядят следующим образом:

найти параметры команды начало/путь выражение

Атрибут options управляет поведением и методом оптимизации процесса find. Атрибут starting/path определяет каталог верхнего уровня, в котором команда find в Linux начинает процесс фильтрации. Атрибут выражение управляет оценками, которые просматривают дерево каталогов для создания выходных данных.

Давайте разберем команду поиска Linux, где нам нужен не просто поиск файла Linux по имени:

найти -O3 -L /var/www/ -name "*.html"

Это включает оптимизацию верхнего уровня (-O3) и позволяет find переходить по символическим ссылкам (-L). Команда find в Linux ищет во всей иерархии каталогов в /var/www/ файлы с расширением .html на конце.

Основные примеры

<р>1. найти . -назовите этот файл.txt

Если вам нужно знать, как найти в Linux файл с именем thisfile.txt, он будет искать его в текущем и подкаталогах.

<р>2. найти /home -name *.jpg

Ищите все файлы .jpg в каталоге /home и под ним.

<р>3. найти . -тип f -пусто

Найдите пустой файл в текущем каталоге.

<р>4. найти /home -user randomperson-mtime 6 -iname ".db"

Поиск всех файлов .db (без учета регистра), которые были изменены за последние 6 дней пользователем с именем randomperson.

Параметры и оптимизация команды Найти для Linux

find по умолчанию игнорирует символические ссылки (файлы ярлыков). Если вы хотите, чтобы команда найти переходила по символическим ссылкам и отображала их, просто добавьте к команде параметр -L, как мы сделали в этом примере.

find может помочь Linux найти файл по имени. Команда Linux find совершенствует свой подход к фильтрации, чтобы оптимизировать производительность. Пользователь может найти файл в Linux, выбрав три этапа оптимизации-O1, -O2, и -O3. -O1 — это стандартная настройка, которая заставляет find фильтровать в соответствии с именем файла перед запуском любых других тестов.

-O2 выполняет фильтрацию по имени и типу файла, прежде чем перейти к более сложным фильтрам для поиска файла в Linux. Уровень -O3 переупорядочивает все тесты в соответствии с их относительной стоимостью и вероятностью успеха.

  • -O1 — (по умолчанию) сначала фильтруется по имени файла.
  • -O2 — сначала имя файла, затем тип файла
  • -O3 — разрешить поиску автоматически изменять порядок поиска в зависимости от эффективности использования ресурсов и вероятности успеха.
  • -maxdepth X — поиск в этом каталоге вместе со всеми подкаталогами до уровня X
  • -iname — поиск без учета регистра.
  • -not — выдавать только результаты, не соответствующие тестовому набору.
  • -type f — искать файлы
  • -type d — искать каталоги

Найти файлы по времени их изменения

Команда Linux find позволяет фильтровать иерархию каталогов на основе времени последнего изменения файла:

найти / -name "*jpg" -mtime 5

найти /home/randomuser/ -name "*jpg" -mtime 4

Первоначальная команда Linux find выводит список файлов во всей системе, которые заканчиваются символами jpg и которые были изменены за предшествующие 5 дней. Следующий фильтр отфильтровывает домашний каталог randomuser's на предмет файлов, имена которых заканчиваются на "conf" и которые были изменены за предыдущие 4 дня.

Используйте Grep для поиска файлов по содержимому

Команда find в Linux великолепна, но она может фильтровать дерево каталогов только по имени файла и метаданным. Для поиска файлов на основе того, что они содержат, вам понадобится такой инструмент, как grep. Взгляните:

найти . -type f -exec grep "forinstance" '<>' \; -печать

Это просматривает каждый объект в текущем дереве каталогов (.), который является файлом (-type f), а затем запускает grep «forinstance» для каждого совпадающего файла, а затем печатает их на экране (-print).Фигурные скобки (<>) — это заполнитель для тех результатов, которые соответствуют команде Linux find. Знак <> заключен в одинарные кавычки (‘), чтобы grep не получил искаженное имя файла. Команда -exec заканчивается точкой с запятой (;), которая также нуждается в escape-последовательности (\;), чтобы она не интерпретировалась оболочкой.

До того, как был реализован -exec, xargs использовался бы для создания того же типа вывода:

найти . тип f-print | xargs grep "для примера"

Мониторинг серверов и сайтов

Как найти и обработать файлы с помощью команды Найти в Linux

Параметр -exec запускает команды для каждого объекта, который соответствует выражению find. Посмотрим, как это выглядит:

Это фильтрует все объекты в текущем дереве каталогов (.) для файлов с именем rc.conf и запускает команду chmod o+r для изменения прав доступа к файлам результатов, которые возвращает find.

Корневой каталог Linux — это место, где выполняются команды, запускаемые -exec. Используйте -execdir для выполнения нужной команды в каталоге, где находится совпадение, поскольку при определенных обстоятельствах это может быть более безопасным и повысить производительность.

Параметры -exec или -execdir будут продолжать работать сами по себе, но если вы хотите видеть подсказки перед тем, как они что-либо сделают, замените -exec -ok или -execdir для -okdir.

Как управлять файлами с помощью Plesk?

Допустим, у вас есть веб-сайт, готовый к работе на вашем ноутбуке или компьютере, и вы хотите использовать диспетчер файлов, чтобы загрузить его на сервер Plesk в Linux:

Как редактировать файлы в файловом менеджере

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

  • Редактор HTML или редактор типа "что видишь, то и получаешь". Это хороший вариант, поскольку он добавляет HTML-теги за вас. Если вы не очень хорошо разбираетесь в HTML, этот вариант может оказаться полезным.
  • Редактор кода. Когда вы открываете файлы HTML с помощью этого, вам будет представлен текст, в котором выделен синтаксис HTML. Если вам удобно добавлять HTML-теги самостоятельно, вам подойдет редактор кода.
  • Текстовый редактор. Файлы HTML открываются как обычный текст.

Возможно, ваш администратор Plesk уже настроил расширение Rich Editor, и в этом случае вы можете использовать его для редактирования HTML-файлов. Rich Editor работает по принципу "что видишь, то и получаешь", как и редактор кода, хотя он лучше оснащен такими функциями, как, например, проверка орфографии.

Вот как использовать диспетчер файлов для редактирования файла:

  1. Наведите курсор на файл, и соответствующая ему строка будет выделена.
  2. Откройте контекстное меню файла, щелкнув его.
  3. Нажмите «Редактировать в … редакторе» (это зависит от выбранного вами редактора).

Как изменить разрешения с помощью файлового менеджера

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

Для этого найдите элемент, для которого вы хотите ограничить доступ в Интернет, например:

  1. Наведите на него курсор и подождите, пока не появится выделение, как в предыдущем примере.
  2. Нажмите на файл, чтобы открыть его контекстное меню, и повторите то же самое в разделе "Изменить разрешения".
  3. Внесите изменения и нажмите "ОК". Если вы хотите узнать больше о том, как просматривать и изменять разрешения, см. раздел Настройка разрешений доступа к файлам и каталогам.

Подход File Manager по умолчанию заключается в изменении разрешений нерекурсивным образом, поэтому на вложенные файлы и каталоги не влияют измененные разрешения каталогов более высокого уровня, которым они принадлежат. В Plesk для Linux вы можете заставить Файловый менеджер изменять разрешения рекурсивным образом, предполагая, что ваш администратор Plesk настроил расширение Permissions Recursive и что вы понимаете восьмеричное представление прав доступа к файлам.

Чтобы включить рекурсивное редактирование прав доступа:

  1. Наведите курсор на каталог и дождитесь выделения.
  2. Нажмите, чтобы открыть его контекстное меню, а затем снова выберите Рекурсивный набор разрешений.
  3. Теперь вы можете редактировать их. «Разрешения для папки» говорят о каталоге более высокого уровня и любых связанных с ним подкаталогах. В данном случае «Разрешения на доступ к файлам» применяются к подфайлам.
  4. После внесения изменений в права доступа нажмите "ОК".

Поиск файлов в диспетчере файлов

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

Любая операционная система должна иметь возможность доступа к файлам на устройствах хранения и управления ими; однако способ организации файлов на устройстве хранения фактически задается базовой файловой системой. В Linux и Unix существуют различные типы файловых систем, поэтому в этой статье я расскажу о нескольких командах и методах проверки типа файловой системы в Linux. и Unix.

Прежде чем мы попытаемся определить и проверить тип файловой системы, мы должны быть знакомы с термином "Файловая система".

Что такое файловая система?

Как вы, наверное, знаете или, по крайней мере, можете догадаться, жесткие диски не являются монолитными объектами, а данные просто беспорядочно разбросаны по жесткому диску. Жесткие диски организованы в сектора и кластеры. Данные любого типа организованы в файлы. Будь то документ, изображение, электронная таблица или даже исполняемая программа, это файл. Этот файл может храниться в одном или нескольких кластерах.

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

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

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

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

Команды для проверки типа файловой системы в Linux или Unix

1. черный

blkid может определить тип контента (например, файловая система или подкачка), который хранится на блочном устройстве, а также атрибуты (токены, пары ИМЯ=значение) из метаданных контента (например, поля LABEL или UUID).

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

Вы должны запустить blkid от имени пользователя root без каких-либо директив и проверить поле " TYPE ", чтобы проверить тип файловой системы соответствующего раздела или устройства в Linux или Unix.

С помощью -t, --match-token NAME=value вы можете искать блочные устройства с токенами NAME, которые имеют значение value, и отображать все найденные устройства. Общие значения для NAME включают TYPE , LABEL и UUID

Например, чтобы вывести список и проверить тип файловой системы для ext4 FS:

2. лблк

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

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

Используя директиву -T с командой df, вы можете вывести тип файловой системы всех смонтированных файловых систем.

В качестве альтернативы вы можете указать устройство с помощью команды df для проверки типа файловой системы соответствующего устройства

4. найти

findmnt выведет список всех смонтированных файловых систем или выполнит поиск файловой системы. Команда findmnt может выполнять поиск в /etc/fstab, /etc/mtab или /proc/self/mountinfo. Если устройство или точка монтирования не указаны, отображаются все файловые системы.

Используя директиву --fstab, команда findmnt будет искать в /etc/fstab, а с -t ограничит набор печатаемых файловых систем

При использовании без какой-либо директивы команда findmnt выдаст вам длинный список выходных данных со всеми привязанными монтированиями

5. файл

Команда

file обычно только пытается прочитать и определить тип файлов аргументов. Указание опции -s заставляет файл также читать файлы аргументов, которые являются блочными или символьными специальными файлами. Это полезно для определения и проверки типов файловой системы данных в необработанных разделах диска, которые являются блочными специальными файлами

6. удевадм

Команда udevadm запрашивает в базе данных udev информацию об устройстве, хранящуюся в базе данных udev. Он также может запрашивать свойства устройства из его представления sysfs, чтобы помочь в создании правил udev, соответствующих этому устройству.

Используя --query, вы можете запросить в базе данных указанный тип данных устройства. Приведенная ниже команда дает длинный вывод, поэтому мы будем искать необходимые данные, чтобы проверить тип файловой системы для нашего устройства /dev/sda1

Еще несколько команд и методов для определения типа файловой системы в Linux или Unix

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

7. Содержимое файла /etc/fstab

Обычно все устройства, которые мы используем, монтируются через файл /etc/fstab, чтобы сделать перезагрузку при монтировании постоянной. Таким образом, вы всегда можете обратиться к файлу /etc/fstab для проверки типа файловой системы, например:

Здесь первый столбец файла указывает путь к разделу устройства, а третий столбец показывает тип файловой системы соответствующего устройства.

8. Содержимое файла /etc/mtab

По аналогии с /etc/fstab вы также можете обратиться к /etc/mtab, чтобы получить список смонтированных в данный момент файловых систем вместе с типом файловой системы.

Здесь также первый столбец файла указывает путь к разделу устройства, а третий столбец показывает тип файловой системы соответствующего устройства.

9. Файл /proc/mounts

Теперь файл /proc/mounts ссылается на /etc/mtab, так что это не новый метод, а просто еще один файл, который вы можете использовать для проверки типа файловой системы в Linux или Unix.

10. команда монтирования

Опять же, команда mount также обращается к файлу /etc/mtab, чтобы получить список смонтированных файловых систем, а также может помочь вам определить тип файловой системы отдельных устройств.

Наконец, я надеюсь, что методы и команды из статьи для определения и проверки типа файловой системы в Linux и Unix были вам полезны. Итак, дайте мне знать ваши предложения и отзывы, используя раздел комментариев.

Похожие записи

Не нашли то, что искали? Выполните быстрый поиск в GoLinuxCloud

Если мои статьи о GoLinuxCloud помогли вам, пожалуйста, купите мне кофе в знак признательности.

Купить кофе GoLinuxCloud

Для любых других отзывов или вопросов вы можете использовать раздел комментариев или форму обратной связи.

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

Сегодня существует множество файловых систем. Различные файловые системы имеют разную структуру, логику, функции, гибкость, безопасность и т. д. Некоторые из наиболее распространенных файловых систем — Ext4, Btrfs, XFS, ZFS, NTFS, FAT32 и т. д.

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

В этой статье я покажу вам различные способы определения типа файловой системы в Linux. Итак, приступим.

Способ 1. Использование инструмента командной строки df

Программа командной строки df предустановлена ​​почти в каждом дистрибутиве Linux, который вы найдете. Вы можете использовать программу командной строки df, чтобы найти тип файловой системы для всех подключенных устройств хранения и разделов.

Чтобы узнать тип файловой системы всех подключенных устройств хранения и разделов вашего компьютера, выполните команду df следующим образом:


Команда df покажет вам следующую информацию:
Файловая система: имя устройства хранения или имя смонтированного раздела.

Смонтировано: каталог, в котором смонтировано устройство хранения/раздел (файловая система).

Тип: Тип файловой системы смонтированного устройства хранения/раздела.

Размер: размер подключенного устройства хранения/раздела.

Используется: дисковое пространство, используемое на смонтированном устройстве хранения/разделе.

Использование%: Процент дискового пространства, используемого на подключенном устройстве хранения/разделе.

Доступно: объем свободного места на подключенном устройстве хранения/разделе.


В Ubuntu команда df покажет вам множество петлевых устройств, как показано на снимке экрана ниже.


Вы можете скрыть петлевые устройства с помощью параметра -x команды df следующим образом:


Вы также можете скрыть устройства tmpfs в выводе команды df.


Чтобы скрыть устройства tmpfs и из выходных данных команды df, запустите команду df с параметром -x следующим образом:


Теперь результат выглядит намного чище. При желании вы можете удалить устройства udev из вывода команды df.


Чтобы также удалить устройства udev из вывода команды df, запустите команду df следующим образом:

В выводе команды df будут отображаться только физические устройства хранения и разделы. Результат также выглядит намного лучше, чем раньше.


Способ 2. Использование команды lsblk

Программа командной строки lsblk предустановлена ​​почти в каждом дистрибутиве Linux, который вы найдете. Вы можете использовать программу командной строки lsblk, чтобы найти тип файловой системы всех (смонтированных и размонтированных) устройств хранения и разделов вашего компьютера.

Чтобы узнать тип файловой системы всех (смонтированных и размонтированных) устройств хранения и разделов вашего компьютера, выполните команду lsblk следующим образом:


Команда lsblk покажет вам следующую информацию:
ИМЯ: имя устройства хранения или имя раздела устройства хранения.

MOUNTPOINT: каталог, в котором смонтировано устройство хранения/раздел (файловая система) (если смонтировано).

FSTYPE: тип файловой системы устройства хранения/раздела.

LABEL: метка файловой системы устройства хранения/раздела.

UUID: UUID (универсальный уникальный идентификатор) файловой системы устройства хранения/раздела.

FSUSE%: процент дискового пространства, используемого на устройстве хранения/разделе.

FSAVAIL: объем свободного места на диске устройства хранения/раздела


Как и раньше, вы можете скрыть петлевые устройства в выводе команды lsblk.


Чтобы скрыть петлевые устройства из вывода команды lsblk, запустите команду lsblk с параметром -e7 следующим образом:


Как видите, все петлевые устройства удаляются из вывода команды lsblk. Вывод выглядит намного чище, чем раньше.


Способ 3: использование команды blkid

Программа командной строки blkid предустановлена ​​почти в каждом дистрибутиве Linux, который вы найдете. Вы можете использовать программу командной строки blkid, чтобы определить тип файловой системы всех (смонтированных и размонтированных) устройств хранения и разделов вашего компьютера.

Чтобы узнать тип файловой системы всех (смонтированных и размонтированных) устройств хранения и разделов вашего компьютера, выполните команду blkid следующим образом:


Команда lsblk покажет вам следующую информацию:
ИМЯ: имя устройства хранения или имя раздела устройства хранения. то есть /dev/sda1, /dev/sda5.

UUID: UUID (универсальный уникальный идентификатор) файловой системы устройства хранения/раздела.

TYPE: тип файловой системы устройства хранения/раздела.

PARTUUID: UUID (универсальный уникальный идентификатор) раздела.


Вы также можете скрыть петлевые устройства из вывода команды blkid, как и раньше.


Чтобы скрыть петлевые устройства из вывода команды blkid, запустите команду blkid следующим образом:


Как видите, петлевые устройства не отображаются в выводе команды blkid. Результат выглядит намного лучше, чем раньше.


Способ 4: Использование команды файла

Программа командной строки file предустановлена ​​почти в каждом дистрибутиве Linux, который вы найдете. Вы можете использовать программу командной строки find для определения типа файла в Linux. Поскольку в Linux каждое устройство считается файлом, вы можете использовать программу командной строки find, чтобы определить тип файловой системы устройства хранения или раздела в Linux.

Например, чтобы определить тип файловой системы раздела sdb1, вы можете запустить команду file следующим образом:


Если вы прочитаете вывод команды file, вы увидите, что раздел sdb1 использует файловую систему FAT32.


Точно так же вы можете узнать тип файловой системы раздела sda5 с помощью команды file следующим образом:


Как видите, раздел sda5 использует файловую систему EXT4.


Пятый способ: использование команды mount и файла /etc/mtab

Файл /etc/mtab содержит запись обо всех подключенных устройствах хранения и разделах вашего компьютера. Вы можете прочитать этот файл, чтобы узнать тип файловой системы ваших устройств хранения и разделов. Программа командной строки mount также распечатывает содержимое файла /etc/mtab. Таким образом, вы также можете использовать программу командной строки mount для поиска тех же данных.

Вы можете прочитать содержимое файла /etc/mtab с помощью следующей команды:


Как видите, в файле /etc/mtab содержится много информации о монтировании.


Вы можете найти ту же информацию с помощью команды mount, что и на снимке экрана ниже.


Поскольку файл /etc/mtab или выходные данные команды mount содержат много записей о монтировании, интерпретировать их сложно. Вы можете использовать команду grep для фильтрации вывода и очень легко найти то, что вам нужно.

Например, чтобы определить тип файловой системы раздела sda1 с помощью команды mount или файла /etc/mtab, выполните одну из следующих команд:


Как видите, тип файловой системы раздела sda1 — FAT32/vfat


.

Таким же образом, чтобы определить тип файловой системы раздела sda5 с помощью команды mount или файла /etc/mtab, выполните одну из следующих команд:


Как видите, файловая система раздела sda5 имеет тип EXT4.


Способ 6: Использование файла /etc/fstab

В файле /etc/fstab хранится запись для каждого из устройств хранения или разделов, которые должны автоматически монтироваться во время загрузки. Таким образом, вы можете прочитать этот файл, чтобы найти тип файловой системы нужного вам устройства хранения или раздела.

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

Вы можете прочитать содержимое файла /etc/fstab с помощью следующей команды:


Содержимое файла /etc/fstab.


Вы видите, что устройство хранения или раздел с UUID 3f962401-ba93-46cb-ad87-64ed6cf55a5f использует файловую систему EXT4.

Запоминающее устройство или раздел с UUID dd55-ae26 использует файловую систему vfat/FAT32.



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


Как видите, комментарии исчезли, а результат выглядит намного чище, чем раньше.


В файле /etc/fstab по умолчанию используется UUID вместо имени устройства хранения или имени раздела.Вы можете использовать команду blkid для преобразования UUID в имя устройства хранения или имя раздела.

Например, чтобы преобразовать UUID 3f962401-ba93-46cb-ad87-64ed6cf55a5f в имя устройства хранения или раздела, выполните команду blkid следующим образом:


Как видите, раздел sda5 имеет UUID 3f962401-ba93-46cb-ad87-64ed6cf55a5f.


Таким же образом вы можете найти имя устройства хранения или раздела с UUID DD55-AE26 следующим образом:


Как видите, раздел sda1 имеет UUID DD55-AE26.


Вывод:

В этой статье показаны различные способы определения типа файловой системы устройства хранения/раздела в Linux. Я показал вам, как использовать команды df, lsblk, blkid, file и mount для определения типа файловой системы устройств хранения и разделов Linux. Я также показал вам, как определить тип файловой системы устройств хранения и разделов вашей системы Linux, прочитав файлы /etc/mtab и /etc/fstab.

Команда "найти" предлагает мощные возможности для уточнения поиска

  • Университет Буффало
  • Университет Денвера
  • Пенсильванский университет

Бывший автор Lifewire Юрген Хаас – разработчик программного обеспечения, специалист по данным и поклонник операционной системы Linux.

Крис Селф (Chris Selph) — сертифицированный CompTIA преподаватель технологии и профессиональный преподаватель информационных технологий. Он также работает администратором сети и сервера и выполняет обслуживание и ремонт компьютеров для многочисленных клиентов.

В этой статье

Перейти к разделу

В этой статье объясняется, что такое команда find в Linux, предлагаются ярлыки для поиска, общие выражения, примеры использования, шаблоны, как отправлять выходные данные команды find в файл, а также как найти и выполнить команду для файла.

Используйте команду find для поиска файла в Linux

Команда, используемая для поиска файлов, называется find.

Основной синтаксис команды find следующий:

По умолчанию текущий активный путь обозначает место поиска. Чтобы выполнить поиск по всему диску, введите следующее:

Однако, если вы хотите выполнить поиск в папке, в которой вы сейчас находитесь, используйте следующий синтаксис:

Найти команду lorem.odt в окне терминала в Ubuntu Linux

При поиске по имени по всему диску используйте следующий синтаксис:

  • Первая часть команды поиска — это команда поиска.
  • Вторая часть — это то, с чего начать поиск.
  • Следующая часть — это выражение, определяющее, что искать.
  • Последняя часть — это имя файла, который нужно найти.

Для доступа к оболочке (иногда называемой окном терминала) в большинстве дистрибутивов щелкните соответствующий значок или нажмите Ctrl+Alt+T.

Быстрые клавиши для поиска

Первый аргумент после команды find — это местоположение, которое вы хотите найти. Хотя вы можете указать определенный каталог, вы можете использовать метасимвол в качестве замены. Три метасимвола, которые работают с этой командой, включают:

  • Точка (.): указывает текущую и все вложенные папки.
  • Косая черта (/): указывает всю файловую систему.
  • Тильда (~): указывает домашний каталог активного пользователя.

Поиск по всей файловой системе может привести к ошибкам отказа в доступе. Запустите команду с повышенными привилегиями (используя команду sudo), если вам нужно выполнить поиск в местах, недоступных для вашей стандартной учетной записи.

Выражения, которые можно использовать

Самое распространенное выражение, которое вы будете использовать, это -name, которое ищет имя файла или папки.

Однако вы можете использовать и другие выражения:

  • -amin n: Последний раз к файлу обращались +/- n минут назад, в зависимости от того, как вы вводите время.
  • -anever: берет другой файл в качестве ссылки, чтобы найти все файлы, к которым недавно обращались, и эталонный файл.
  • -atime n: в последний раз к файлу обращались больше/меньше, чем n дней назад, в зависимости от того, как вы введете целевое время (n).
  • -cmin n: последний раз файл был изменен n минут назад, в зависимости от того, как вы введете целевое время (n).
  • -cnewer: берет другой файл в качестве ссылки, чтобы найти все файлы, к которым недавно обращались, и файл ссылки.
  • -ctime n: последний раз к файлу обращались больше/меньше, чем n дней назад, в зависимости от того, как вы введете целевое время (n).
  • -пусто: файл пуст.
  • -executable: файл является исполняемым.
  • -false: всегда ложь.
  • -fstype type: файл находится в указанной файловой системе.
  • -gid n: файл принадлежит группе с идентификатором n.
  • -group имя_группы: файл принадлежит указанной группе.
  • -ilname: поиск символической ссылки без учета регистра.
  • -iname pattern: поиск файла без учета регистра.
  • -inum n: поиск файла с указанным индексным узлом.
  • -ipath path: поиск пути без учета регистра.
  • -iregex expression: поиск выражения без учета регистра.
  • -links n: поиск файла с указанным количеством ссылок.
  • -lname name: Поиск символической ссылки.
  • -mmin n: последний раз к файлу обращались +/- n минут назад, в зависимости от того, как вы вводите время.
  • -mtime n: последний раз к файлу обращались больше/меньше, чем n дней назад, в зависимости от того, как вы введете целевое время (n).
  • -name name: поиск файла с указанным именем.
  • -более новое имя: поиск файла, отредактированного позднее, чем указанный эталонный файл.
  • -nogroup: поиск файла без идентификатора группы.
  • -nouser: поиск файла, к которому не подключен пользователь.
  • -path path: Поиск пути.
  • -readable: поиск файлов, доступных для чтения.
  • -regex pattern: поиск файлов, соответствующих регулярному выражению.
  • -тип: Поиск определенного типа. Варианты типа включают:
    • -type d: Директорис
    • -type f: файлы
    • -type l: Симлинки

    Пример использования команды «Найти»

    Вот несколько способов использования команды find.

    Как найти файлы, к которым обращались больше определенного количества дней назад

    Чтобы найти все файлы в вашей домашней папке, доступ к которым был открыт более 100 дней назад:

    Как найти пустые файлы и папки

    Чтобы найти все пустые файлы и папки в вашей системе:

    Как найти все исполняемые файлы

    Чтобы найти все исполняемые файлы на вашем компьютере:

    Как найти все читаемые файлы

    Чтобы найти все файлы, доступные для чтения:

    Использование шаблонов для поиска файла

    При поиске файла можно использовать шаблон. Например, поиск всех файлов с расширением MP3:

    В зависимости от используемой вами оболочки может потребоваться экранирование звездочки. Если вы запустите команду и не получите ожидаемых результатов, попробуйте заключить в кавычки весь шаблон, чтобы избежать звездочки, например: find / -name '*.mp3'

    Терминал в Ubuntu Linux, показывающий команду

    Как отправить вывод команды «Найти» в файл

    Основная проблема с командой find заключается в том, что иногда она может возвращать слишком много результатов, чтобы их можно было просмотреть за один раз. Направьте вывод в команду tail или выведите строки в файл следующим образом:

    Как найти и выполнить команду для файла

    Чтобы одновременно искать и редактировать файл, введите:

    Приведенная выше команда ищет файл с именем filename, а затем запускает редактор nano для найденного файла.

    Читайте также: