key Войти Валюта:
calendar 20.04.2016
heart 616
question Комментариев: 0

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

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

И так, первым в нашем обзоре будет общий синтаксис команды find:

find [перечень_каталогов] критерий_поиска

где «перечнем каталогов»  определяется местонахождение нужного файла.

В «критерии поиска» указывается знаки:

"-", "(", ")"', "," или "!" с  которых программа find и начинает поиск нужного критерия.

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

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

  — чтобы провести поиск в текущем каталоге;

— чтобы провести поиск в корневом каталоге;

— чтобы провести поиск в домашнем каталоге.

Зачастую, вы можете найти нужный файл по конкретному критерию поиска,

Например: «-name имя_файла».

Рассмотрим как благодаря команде find, мы можем отыскать нужные вам файлы, по определенным критериям:

-name —  используя эту опцию, находим файл по имени;

-user —  так, вы сможете найти файл или каталог, который был создан  конкретным пользователем;

-group —  опция для поиска файлов, которые входят в одну общую группу

-perm —  с ее помощью, находим файлы  которые характеризуются наличием режима доступа;

-type —  задаем поиск файлов, что разделяются на разные типы;

size  n — ищем файлы состоящий из определенного (n) количества единиц;

-mtime  -n +n  — можем задать поиск файлов, содержание которых было изменено более чем (+), но менее, чем (-) дней тому назад.

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

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

Например: одно из самых обыденных явлений смена прав в папках на 755 и в файлах на 644.

В первую очередь меняем права на файлы:

find  /home/tatiana/public_html -type f -exec chmod 0644 {} \;

Далее, на папки:

find  /home/tatiana/public_html -type d -exec chmod 0755 {} \;

Команда find придет на помощь и в поиске файлов с нужным расширением. Для этого используем знак  звездочки «*».

Например: чтобы найти файл с расширением «.db», используем «*» вместо любого набора символов.

find  /var/tatiana -type f -name *.db

Для поиска фалов отдельно от каталогов, прописываем полное дерево каталогов (например var/marina) и только после указываем имя файла («-name» ), который ищем.

Например: чтобы найти все файлы имеющие расширение  ‘tex’ , вводим:

Find ~ -iname ' *.tex '

soc-1
Tweet
© СХОСТ. All Rights Reserved.