Примеры использования команды find в Linux

Содержание

Большая часть фаворитных файловых менеджеров для операционных систем на ядре Linux владеют довольно многофункциональным инвентарем поиска. Но не всегда присутствующих в нем характеристик хватает юзеру для поиска нужной инфы. В таком случае на помощь приходить стандартная утилита, запускающаяся через «Терминал». Она позволяет методом ввода команды, аргумента и функции просто найти требуемые данные в определенной директории либо во всей системе.

Используем команду find в Linux

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

Переход в директорию через консоль

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

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

На любом объекте щелкните ПКМ и найдите пункт «Свойства».

Вы увидите его родительскую папку с полным указанием пути. Запомните его, чтоб выполнить переход из «Терминала».

Сейчас запустите консоль, к примеру, через меню.

Пропишите там команду
cd /home/user/folder
, где user — имя домашней папки юзера, а folder — заглавие требуемой директории.

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

Поиск файлов в текущей директории

При выполнении

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

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

find . -print
.

Поиск файлов в обозначенном каталоге

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

find
, а после добавить
./folder
, если желаете выяснить данные о каталоге в текущем расположении, или же будет нужно указать полный путь, методом ввода, к примеру,
find ./home/user/downloads/folder
, где folder — конечная директория. Каждые элементы будут выведены отдельными строчками в порядке их глубины.

Поиск по имени

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

find . -name "word"
, где word — ключевое слово для поиска, которое непременно прописывается в двойных кавычках и с учетом регистра каждого знака.

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

find . -iname "word"
.

Для фильтрации результатов по главному слову к аргументу -name добавляется очередной. Команда обретает вид

find . -not -name "word"
, где word — слово, которое нужно исключить.

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

find . -name "word" -not name "*.txt"
. Направьте внимание, что во 2-м аргументе в кавычках обозначено «*.txt», а это означает, что find работает не только лишь с наименованиями, да и с форматами файлов, которые задаются в таком виде.

Существует и оператор Либо. Он позволяет отыскать один либо сходу несколько подходящих аргументов. Каждый указывается раздельно, с добавлением при всем этом соответственных аргументов. В конечном итоге получится приблизительно последующее:

find -name "word" -o -name "word1"
.

Указание глубины поиска

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

find . -maxdepth N -name "word"
, где N — наибольшая глубина, а -name «word» — любые следующие аргументы.

Поиск в нескольких директориях

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

find ./folder ./folder1 -type f -name "word"
, где ./folder ./folder1 — список подходящих директорий, а -name «word» — другие аргументы.

Отображение укрытых частей

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

find ~ -type f -name ".*"
. Вы получите полный перечень всех файлов, но если же к неким из их нет доступа, перед словом find в строке пропишите
sudo
, чтоб активировать права суперпользователя.

Сканирование домашних папок групп и юзеров

Каждый юзер может создавать огромное количество каталогов и объектов в различных расположениях. Резвее всего найти ту информацию, которая принадлежит одному из юзеров, при помощи команды find и 1-го из ее аргументов. В «Терминале» пропишите

find . -user username
, где username — имя юзера. После ввода сканирование запустится автоматом.

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

find /var/www -group groupname
. Не запамятовывайте, что объектов может быть огромное количество и на вывод их всех время от времени уходит много времени.

Фильтрация по дате конфигураций

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

sudo find / -mtime N
, где N — количество дней вспять, когда объект был изменен последний раз. Приставка sudo тут нужна для того, чтоб получить данные и о файлах, предназначенных только для суперпользователя.

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

sudo find / -atime N
.

Фильтрация по размеру файлов

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

find / -size N
, где N — объем в б, мб (M) либо гб (G).

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

find / -size +500M -size -1000M
. Таковой анализ будет показывать файлы более 500 мегабайтов, но наименее 1000.

Поиск пустых файлов и каталогов

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

find /folder -type f -empty
, где /folder — место, где осуществляется сканирование.

Раздельно хотелось бы кратко отметить другие полезные аргументы, которые временами становятся полезными для пользователя:

  • -mount
    — ограничение лишь на текущую файловую систему;
  • -type f
    — показывать только файлы;
  • -type d
    — демонстрировать только директории;
  • -nogroup
    ,
    -nouser
    — поиск файлов, которые не относятся к никакой группе либо не принадлежат юзеру;
  • -version
    — выяснить версию применяемой утилиты.

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

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

Источник: lumpics.ru


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

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

Кликните на изображение чтобы обновить код, если он неразборчив