Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
find [2023/07/25 19:33] – [Параметры] 192.168.1.159find [2023/07/27 10:01] (текущий) – [Таблица] 192.168.1.159
Строка 6: Строка 6:
 Для поиска по имени обязательно нужно указывать ключ -name Для поиска по имени обязательно нужно указывать ключ -name
 Пример: Пример:
-  find -name filename.txt+<code bash>  find -name filename.txt</code>
 По умолчанию find производит поиск рекурсивно в текущем каталоге. По умолчанию find производит поиск рекурсивно в текущем каталоге.
 +
 +^  Описание опций                                                                                                                                                        ^^
 +| **Опция**                                  | **Описание**                                                                                                               |
 +| -name                                      | Поиск по имени.                                                                                                            |
 +| -iname                                     | Регистронезависимый поиск по имени.                                                                                        |
 +| -type                                      | Тип объекта поиска. Возможные варианты: f — файл; d — каталог; l — ссылка; p — pipe; s — сокет.                            |
 +| -size                                      | Размер объекта. Задается в блоках по 512 байт или просто в байтах (с символом «c»).                                        |
 +| -mtime                                     | Время изменения файла. Указывается в днях.                                                                                 |
 +| -mmin                                      | Время изменения в минутах.                                                                                                 |
 +| -atime                                     | Время последнего обращения к объекту в днях.                                                                               |
 +| -amin                                      | Время последнего обращения в минутах.                                                                                      |
 +| -ctime                                     | Последнее изменение владельца или прав на объект в днях.                                                                   |
 +| -cmin                                      | Последнее изменение владельца или прав в минутах.                                                                          |
 +| -user                                      | Поиск по владельцу.                                                                                                        |
 +| -group                                     | По группе.                                                                                                                 |
 +| -perm                                      | С определенными правами доступа.                                                                                           |
 +| -depth                                     | Поиск должен начаться не с корня, а с самого глубоко вложенного каталога.                                                  |
 +| -maxdepth                                  | Максимальная глубина поиска по каталогам. -maxdepth 0 — поиск только в текущем каталоге. По умолчанию, поиск рекурсивный.  |
 +| -prune                                     | Исключение перечисленных каталогов.                                                                                        |
 +| -mount                                     | Не переходить в другие файловые системы.                                                                                   |
 +| -regex                                     | По имени с регулярным выражением.                                                                                          |
 +| -regextype <тип>                           | Тип регулярного выражения.                                                                                                 |
 +| -L или -follow                             | Показывает содержимое символьных ссылок (симлинк).                                                                         |
 +| -empty                                     | Искать пустые каталоги.                                                                                                    |
 +| -delete                                    | Удалить найденное.                                                                                                         |
 +| -ls                                        | Вывод как ls -dgils                                                                                                        |
 +| -print                                     | Показать найденное.                                                                                                        |
 +| -print0                                    | Путь к найденным объектам.                                                                                                 |
 +| -exec <команда> {} \;                      | Выполнить команду над найденным.                                                                                           |
 +| -ok                                        | Выдать запрос перед выполнением -exec.                                                                                     |
 +|                                            |                                                                                                                            |
 +|  **Также доступны логические операторы:**                                                                                                                              ||
 +| Оператор                                   | Описание                                                                                                                   |
 +| -a                                         | Логическое И. Объединяем несколько критериев поиска.                                                                       |
 +| -o                                         | Логическое ИЛИ. Позволяем команде find выполнить поиск на основе одного из критериев поиска.                               |
 +| -not или !                                 | Логическое НЕ. Инвертирует критерий поиска.                                                                                |
  
 ===== type / типы ===== ===== type / типы =====
Строка 18: Строка 54:
   * В параметре поставляет найденные значения -exec <code>{}</code>   * В параметре поставляет найденные значения -exec <code>{}</code>
   * Пример: <code>find ./ -name "*.php" -exec rm {} \;</code>   * Пример: <code>find ./ -name "*.php" -exec rm {} \;</code>
 +
 ====== Смена кодировки у множества файлов ====== ====== Смена кодировки у множества файлов ======
  
-  for i in *; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; done+<code bash>  for i in *; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; done
  
   find . \( -name '*.php' -o -name '*.inc' \) -print   find . \( -name '*.php' -o -name '*.inc' \) -print
Строка 29: Строка 66:
  
   find . -name "*.php" -o -name "*.inc" -o -name "*.module" | while read i; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; done   find . -name "*.php" -o -name "*.inc" -o -name "*.module" | while read i; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; done
 +</code>
  
 ====== Смена прав у файлов и каталогов ====== ====== Смена прав у файлов и каталогов ======
Строка 34: Строка 72:
 ===== Смена прав у каталогов ===== ===== Смена прав у каталогов =====
  
-  find . -type d -exec chmod 755 {} \;+<code bash>  find . -type d -exec chmod 755 {} \;</code> 
 Эта команда рекурсивно пройдется по текущему (точка ".") каталогу и всем его подкаталогам и изменит права на 755 только у каталогов (-type d) Эта команда рекурсивно пройдется по текущему (точка ".") каталогу и всем его подкаталогам и изменит права на 755 только у каталогов (-type d)
  
-  find . -type f -exec chmod 644 {} \;+<code bash>  find . -type f -exec chmod 644 {} \;</code> 
 всем файлам - 644 всем файлам - 644
  
 ===== Смена прав у файлов ===== ===== Смена прав у файлов =====
  
-  find . -type f -name '*.htm*' -exec chmod 644 {} \;+<code bash>  find . -type f -name '*.htm*' -exec chmod 644 {} \;</code>
 Определенным файлам Определенным файлам
      
Строка 49: Строка 89:
 Пример рекурсивного удаления всех git репозиториев Пример рекурсивного удаления всех git репозиториев
  
-  find . -type d -name '.git' -exec rm -R -f {} \;+<code bash>  find . -type d -name '.git' -exec rm -R -f {} \;</code>
      
 ====== Поиск необходимого контента в файлах ====== ====== Поиск необходимого контента в файлах ======
  
-  find ./ -type f -print -name *.php -exec grep 'eval' --color=auto {} \;+<code bash>  find ./ -type f -print -name *.php -exec grep 'eval' --color=auto {} \;</code>
  
 Поиск бэкдоров или вирусов на сайте Поиск бэкдоров или вирусов на сайте
Строка 59: Строка 99:
 ====== Вычислить размер папки, без подпапок ====== ====== Вычислить размер папки, без подпапок ======
  
-  find . -maxdepth 0 -type d -mindepth 0 -exec du -hs {} \;+<code bash>  find . -maxdepth 0 -type d -mindepth 0 -exec du -hs {} \;</code>
      
      
Строка 67: Строка 107:
 Ниже след команда позволит ее избежать Ниже след команда позволит ее избежать
  
-  find . -type f -name "thumb_*" -print | xargs rm+<code bash>  find . -type f -name "thumb_*" -print | xargs rm
   find ./ -type f -name "thumb_*" -exec rm -f {} \;   find ./ -type f -name "thumb_*" -exec rm -f {} \;
   find . -maxdepth 1 -name 'thumb_*' -exec rm -f {} \;   find . -maxdepth 1 -name 'thumb_*' -exec rm -f {} \;
   find . -maxdepth 1 -name '*.js' -exec rm -f {} \;   find . -maxdepth 1 -name '*.js' -exec rm -f {} \;
-  find . -type f -name '*.gz' -exec rm -R -f {} \;+  find . -type f -name '*.gz' -exec rm -R -f {} \;</code>
      
 ====== Удалить файлы созданные позднее 3 дней ====== ====== Удалить файлы созданные позднее 3 дней ======
      
-  find /tmp -mtime +3 -name 'tmp-*' -exec rm -Rf -- {} \;+<code bash>  find /tmp -mtime +3 -name 'tmp-*' -exec rm -Rf -- {} \;</code>
      
 ====== Поиск каталога ====== ====== Поиск каталога ======
  
-  find / -type d -name "basic"+<code bash>  find / -type d -name "basic"</code>
      
 ====== Замена таба на 4 пробела ====== ====== Замена таба на 4 пробела ======
-   + 
-  find . -type f -exec sed -i.orig 's/\t/    /g' {} ++<code bash>  find . -type f -exec sed -i.orig 's/\t/    /g' {} +</code>
      
 ====== Отображение всех путей вложенных папок ====== ====== Отображение всех путей вложенных папок ======