' Find: обзор функций и характеристик на CentOS | Шнайдер блог

Find: обзор функций и характеристик на CentOS

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

Начнем, с общего синтаксиса команды find, который выглядит так:

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

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

Касательно “критерия поиска”,  принято, что программа find будет искать тот критерий, который начинается с : "-", "(", ")"', "," или "!"

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

.    — для поиска в текущем каталоге;

/   — для поиска от корневого каталога;

~  — для поиска в домашнем каталоге.

Чаще всего, поиск проводится по именам файлов, где "критерий_поиска" задается как "-name имя_файла".

Разберем основные опции поиска через команду find.

-name —  поиск файлов по имени;

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

-group —  поиск файлов, что принадлежат конкретной группе;

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

-type —  поиск файлов определенного типа6 которые также делятся;

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/tatiana), затем, через опцию  “-name”  указываете имя своего искомого файла.

Например: вы хотите увидеть все файлы с расширением ‘tex’  в рабочей папке. Поэтому, независимо от написания этих файлов, вы вводите:

Find ~ -iname ' *.tex '


Категории


Хостинг сайтов

Популярное в категории