Напоминание о find: поиск файлов в вашем дистрибутиве Linux

Увеличительное стекло

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

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

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

  • Искать по имени, мы можем использовать опцию или критерий поиска «-name». Например, в первом примере выполняется поиск файлов / каталогов с именем, которое начинается с «musi», во втором - заканчивается на «eon», а в последнем случае в корневом каталоге / содержится слово «найдено»:
find / -name "musi*"

find / -name "*eon"

find / -name "fundar"

  • Существует опция -type, которая может служить фильтром и может использоваться вместе с -name. В этом случае он служит для укажите тип файла для поиска. С помощью B мы ищем специальные файлы в блочном режиме, со специальными файлами C в символьном режиме, D для каталогов, F для обычных файлов, L для символических ссылок, P для именованного канала и S для сокета или сетевого подключения. Например, предположим, что вы хотите найти каталог, в конце имени которого есть слово «привет», и в каталоге Home / user:
find /Home/usuario -name "*hola" -type D

  • Мы также можем поиск по пользователю или группе, к которой он принадлежит каталог или файлы в системе. Для этого мы можем использовать критерии -user и -group. Теперь представьте, что вы хотите найти файл, содержащий «.mp3» пользователя «Rosa» и группу «Cats» в каталоге Downloads:
find /Descargas -name ".mp3" -user Rosa -group Gatos

  • Размер может помочь нам в поиске по размеру. В этом случае у нас есть разные варианты. Буква B указывает на блок, если размер не указан, по умолчанию это будет 512 байт. C для 1-байтовых символов ASCII, W для 2-байтовых (старых) слов и K для килобайт или 1024 байтов. Например, если мы хотим найти файл размером 2560 байт (5 блоков · 512), другой из 10 символов ASCII, еще один из 100 КБ, один размером менее 5 МБ, а другой - более 30 КБ:
find / -size 5

find / -size 10c

find / -size 100K

find / -size -5000K

find / -size +30K

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

  • Ты даже можешь поиск по временным критериям. С -atime вы можете искать по дате последнего доступа. -mtime по дате модификации содержимого и -ctime по дате последней модификации inode. Например, мы хотим выполнить поиск в / Home, каталоге под названием "hello", принадлежащем пользователю "Zaca" и который был изменен менее 3 дней назад:
find /Home -name "hola" -user Zaca -mtime -3

  • Есть еще критерии search, например -perm для поиска авторизаций доступа или разрешений, -links для поиска жестких ссылок, -inum для номера inode. Давайте перейдем к нашему последнему примеру, в этом случае мы будем искать каталог в текущем каталоге, права которого являются общими для пользователя-владельца и группы, и выполнение для остальных:
find -type d -perm 771

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


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   имена сказал

    Меня это не удивляет, но это мне немного помогло