<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.alex-master.com/index.php?action=history&amp;feed=atom&amp;title=Find</id>
		<title>Find - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.alex-master.com/index.php?action=history&amp;feed=atom&amp;title=Find"/>
		<link rel="alternate" type="text/html" href="https://wiki.alex-master.com/index.php?title=Find&amp;action=history"/>
		<updated>2026-05-07T01:04:33Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.alex-master.com/index.php?title=Find&amp;diff=228&amp;oldid=prev</id>
		<title>Vaal: Новая страница: «&lt;code&gt;'''find'''&lt;/code&gt; — утилита поиска файлов по имени и другим свойствам, используемая в UNIX‐под…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.alex-master.com/index.php?title=Find&amp;diff=228&amp;oldid=prev"/>
				<updated>2017-04-10T06:34:42Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&amp;lt;code&amp;gt;&amp;#039;&amp;#039;&amp;#039;find&amp;#039;&amp;#039;&amp;#039;&amp;lt;/code&amp;gt; — утилита поиска файлов по имени и другим свойствам, используемая в UNIX‐под…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;code&amp;gt;'''find'''&amp;lt;/code&amp;gt; — утилита поиска файлов по имени и другим свойствам, используемая в UNIX‐подобных операционных системах. Может производить поиск в одном или нескольких каталогах с использованием критериев, заданных пользователем. По умолчанию, &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt; возвращает все файлы в рабочей директории. Более того, &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt; позволяет применять пользователю определённые действия ко всем найденным файлам. Также поддерживаются регулярные выражения. Для поиска файлов по содержимому следует пользоваться утилитой grep.&lt;br /&gt;
&lt;br /&gt;
== Список ключей ==&lt;br /&gt;
* &amp;lt;code&amp;gt;-name&amp;lt;/code&amp;gt; — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки. Опция `-name' различает прописные и строчные буквы; чтобы использовать поиск без этих различий, воспользуйтесь опцией `-iname'.&lt;br /&gt;
* &amp;lt;code&amp;gt;-type&amp;lt;/code&amp;gt; — тип искомого: f=файл, d=каталог, l=ссылка (link), p=канал (pipe), s=сокет.&lt;br /&gt;
* &amp;lt;code&amp;gt;-user&amp;lt;/code&amp;gt; — владелец: имя пользователя или UID.&lt;br /&gt;
* &amp;lt;code&amp;gt;-group&amp;lt;/code&amp;gt; — владелец: группа пользователя или GID.&lt;br /&gt;
* &amp;lt;code&amp;gt;-perm&amp;lt;/code&amp;gt; — указываются права доступа.&lt;br /&gt;
* &amp;lt;code&amp;gt;-size&amp;lt;/code&amp;gt; — размер: указывается в 512-байтных блоках или байтах (признак байтов — символ «c» за числом).&lt;br /&gt;
* &amp;lt;code&amp;gt;-atime&amp;lt;/code&amp;gt; — время последнего обращения к файлу (в днях).&lt;br /&gt;
* &amp;lt;code&amp;gt;-amin&amp;lt;/code&amp;gt; — время последнего обращения к файлу (в минутах).&lt;br /&gt;
* &amp;lt;code&amp;gt;-ctime&amp;lt;/code&amp;gt; — время последнего изменения владельца или прав доступа к файлу (в днях).&lt;br /&gt;
* &amp;lt;code&amp;gt;-cmin&amp;lt;/code&amp;gt; — время последнего изменения владельца или прав доступа к файлу (в минутах).&lt;br /&gt;
* &amp;lt;code&amp;gt;-mtime&amp;lt;/code&amp;gt; — время последнего изменения файла (в днях).&lt;br /&gt;
* &amp;lt;code&amp;gt;-mmin&amp;lt;/code&amp;gt; — время последнего изменения файла (в минутах).&lt;br /&gt;
* &amp;lt;code&amp;gt;-newer другой_файл&amp;lt;/code&amp;gt; — искать файлы созданные позже, чем другой_файл.&lt;br /&gt;
* &amp;lt;code&amp;gt;-delete&amp;lt;/code&amp;gt; — удалять найденные файлы.&lt;br /&gt;
* &amp;lt;code&amp;gt;-ls&amp;lt;/code&amp;gt; — генерирует вывод как команда [[Ls_—_Команда_печати_содержимого_каталога|ls]] -dgils.&lt;br /&gt;
* &amp;lt;code&amp;gt;-print&amp;lt;/code&amp;gt; — показывает на экране найденные файлы.&lt;br /&gt;
* &amp;lt;code&amp;gt;-print0&amp;lt;/code&amp;gt; — выводит путь к текущему файлу на стандартный вывод, за которым следует символ ASCII NULL (код символа 0).&lt;br /&gt;
* &amp;lt;code&amp;gt;-exec command {} \;&amp;lt;/code&amp;gt; — выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.&lt;br /&gt;
* &amp;lt;code&amp;gt;-ok&amp;lt;/code&amp;gt; — перед выполнением команды указанной в -exec, выдаёт запрос.&lt;br /&gt;
* &amp;lt;code&amp;gt;-depth&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;-d&amp;lt;/code&amp;gt; — начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.&lt;br /&gt;
* &amp;lt;code&amp;gt;-maxdepth&amp;lt;/code&amp;gt; — максимальный уровень вложенности для поиска. «-maxdepth 0» ограничивает поиск текущим каталогом.&lt;br /&gt;
* &amp;lt;code&amp;gt;-prune&amp;lt;/code&amp;gt; — используется, когда вы хотите исключить из поиска определённые каталоги.&lt;br /&gt;
* &amp;lt;code&amp;gt;-mount&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;-xdev&amp;lt;/code&amp;gt; — не переходить на другие файловые системы.&lt;br /&gt;
* &amp;lt;code&amp;gt;-regex&amp;lt;/code&amp;gt; —  искать по имени файла используя регулярные выражения.&lt;br /&gt;
* &amp;lt;code&amp;gt;-regextype тип&amp;lt;/code&amp;gt; — указание типа используемых регулярных выражений.&lt;br /&gt;
* &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt; — не разворачивать символьные ссылки (поведение по умолчанию).&lt;br /&gt;
* &amp;lt;code&amp;gt;-L&amp;lt;/code&amp;gt; — разворачивать символические ссылки.&lt;br /&gt;
* &amp;lt;code&amp;gt;-empty&amp;lt;/code&amp;gt; — только пустые каталоги.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
=== Поиск в текущей директории ===&lt;br /&gt;
Найти все файлы, начиная с текущей директории, название которых начинается на ''my''.&lt;br /&gt;
&amp;lt;pre&amp;gt;find . -name 'my*'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поиск в определенном каталоге ===&lt;br /&gt;
Найти все файлы, начиная с корневой директории, название которых начинается на ''my''.&lt;br /&gt;
&amp;lt;pre&amp;gt;find / -name 'my*'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поиск в директориях /usr/local/man и /opt/local/man файлов, название которых начинается на ''my''.&lt;br /&gt;
&amp;lt;pre&amp;gt;find /usr/local/man /opt/local/man -name 'my*'&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поиск по нескольким именам файлов ===&lt;br /&gt;
Найти все файлы, начиная с текущей директории, название которых начинается на ''my'' или ''qu''. Обратите внимание, что по умолчанию все аргументы соединены с помощью ''логического и'' (опция '-a'). Если необходимо объединить несколько аргументов ''логическим или'' — используйте опцию '-o'.&lt;br /&gt;
&amp;lt;pre&amp;gt;find . \( -name &amp;quot;my*&amp;quot; -o -name &amp;quot;qu*&amp;quot; \) -print&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поиск нескольких типов файлов, используя регулярные выражения ===&lt;br /&gt;
Найти все графические файлы, начиная с текущей директории,  используя регулярные выражения. &lt;br /&gt;
&amp;lt;pre&amp;gt;find . -type f -regex &amp;quot;.*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Выполнение команды ===&lt;br /&gt;
Опция ''-exec'' выполняет следующую за ней команду и подставляет вместо ''{}'' текущий файл.&lt;br /&gt;
Найти все каталоги ниже указанного каталога и изменить им права доступа:&lt;br /&gt;
&amp;lt;pre&amp;gt;find /path -type d -exec chmod 0755 {} \;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Опция -exec работает примерно в 10 раз медленнее, чем перенаправление вывода через xargs, поэтому данный код рекомендуется писать следующим образом:&lt;br /&gt;
&amp;lt;pre&amp;gt;find /path -type d | xargs chmod 0755&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Однако, директории с именами, содержащими пробелы, методом перенаправления через xargs обработаны не будут, поэтому следует использовать первый вариант, дополненный:&lt;br /&gt;
&amp;lt;pre&amp;gt;find /path -type d -exec chmod 0755 &amp;quot;{}&amp;quot; \;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Или (что лучше) вот так (опция -- -0 позволяет обрабатывать аргументы, содержащие пробелы и кавычки, т.к. использует NULL (&amp;quot;\0&amp;quot;) вместо символов-разделителей &amp;quot;пробел&amp;quot; и &amp;quot;перевод строки&amp;quot;):&lt;br /&gt;
&amp;lt;pre&amp;gt;find /path -type d -print0 | xargs -0 chmod 0755&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Поиск  всех файлов php.ini от текущего каталога и  замена текста в каждом  найденном файле.&lt;br /&gt;
 find . -name 'php.ini' -exec sed -i 's/log_errors = Off/log_errors = On/g' &amp;quot;{}&amp;quot; \;&lt;br /&gt;
Сложный поиск в нескольких видах файлов  и замен текста в каждом из них, от текущего каталога и ниже.&lt;br /&gt;
 find . -regex &amp;quot;.*\.\(php\|js\|css\)&amp;quot; -exec sed -i 's/\/bitrix\/templates\//\/local\/templates\//g' &amp;quot;{}&amp;quot; \;&lt;br /&gt;
&lt;br /&gt;
=== Поиск в зависимости от времени создания ===&lt;br /&gt;
Вывести список файлов во всей файловой системе, изменённых в течение последней минуты:&lt;br /&gt;
&amp;lt;pre&amp;gt;find / -mmin -1 -print&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывести список файлов во всей файловой системе, которые были изменены более 31 дня назад:&lt;br /&gt;
&amp;lt;pre&amp;gt;find / -mtime +31 -print&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поиск по размеру файла ===&lt;br /&gt;
Вывести список файлов во всей файловой системе, чей размер больше 100 Мб:&lt;br /&gt;
&amp;lt;pre&amp;gt;find / -size +100M -print&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== Поиск файлов принадлежащих определенному пользователю ===&lt;br /&gt;
&amp;lt;pre&amp;gt;find . -user &amp;lt;userid&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Поиск файлов c ограничением глубины ===&lt;br /&gt;
При поиске в текущем каталоге, глубина поиска указывается от корневого каталога, а не от текущего.&lt;br /&gt;
 find . -maxdepth 4 -name 'restore.php'&lt;br /&gt;
&lt;br /&gt;
=== Поиск файлов с перечислением каталогов. ===&lt;br /&gt;
Ищет файлы в указанных каталогах.&lt;br /&gt;
 find /var/spool/postfix/{deferred,active,maildrop,incoming}/ -type f&lt;br /&gt;
&lt;br /&gt;
=== Рекурсивное удаление  файла от текущего каталога, на заданную глубину. ===&lt;br /&gt;
Удаляет все файлы restore.php от текущего каталога, но не глубже 4 уровня вложенности относительно корневого каталога /  &lt;br /&gt;
&lt;br /&gt;
Начинает поиск в папке /var/www, но не глубже /var/www/*/*/  и удаляет все файлы restore.php в найденном. &lt;br /&gt;
 find /var/www -maxdepth 4 -name 'restore.php' -exec rm -r {} \;&lt;br /&gt;
&lt;br /&gt;
=== Игнорирование ошибок ===&lt;br /&gt;
Если при поиске возникает ошибка (например — нет доступа чтения из каталога) то вывод команды становится менее информативным. Перенаправьте вывод STDERR в /dev/null.&lt;br /&gt;
&amp;lt;pre&amp;gt;find / -name 'secret.keys' -print 2&amp;gt;/dev/null&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&lt;br /&gt;
=== Поиск в текущей директории ===&lt;br /&gt;
&lt;br /&gt;
=== Поиск файлов ===&lt;br /&gt;
 find . -name &amp;quot;my*&amp;quot; -type f&lt;br /&gt;
Эта команда отличается от предыдущей тем, что поиск будет производиться только для регулярных файлов, то есть в результатах поиска не будет директорий, специальных файлов, символических ссылок и т. д.&lt;br /&gt;
&lt;br /&gt;
=== Поиск всех файлов для владельца user ===&lt;br /&gt;
&lt;br /&gt;
 find . -user &amp;lt;userid&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vaal</name></author>	</entry>

	</feed>