Fork me on GitHub

Find - приседания для поиска файлов по критериям

Понадо билось мне как то найти файлы которые редактировали в определённый интерфал времени

  • name - искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.
  • iname - не различает прописные и строчные буквы.
  • type - тип искомого: f=файл, d=каталог, l=ссылка (link), p=канал (pipe), s=сокет.
  • user - владелец: имя пользователя или UID.
  • group - владелец: группа пользователя или GID.
  • perm - указываются права доступа.
  • size - размер: указывается в 512-байтных блоках или байтах (признак байтов - символ «c» за числом).
  • atime - время последнего обращения к файлу (в днях).
  • amin - время последнего обращения к файлу (в минутах).
  • ctime - время последнего изменения владельца или прав доступа к файлу (в днях).
  • cmin - время последнего изменения владельца или прав доступа к файлу (в минутах).
  • mtime - время последнего изменения файла (в днях).
  • mmin - время последнего изменения файла (в минутах).
  • newer другой_файл - искать файлы созданные позже, чем другой_файл.
  • delete - удалять найденные файлы.
  • ls - генерирует вывод как команда ls -dgils.
  • print - показывает на экране найденные файлы.
  • exec command {} \; - выполняет над найденным файлом указанную команду; обратите внимание на синтаксис.
  • ok - перед выполнением команды указанной в -exec, выдаёт запрос.
  • depth или d - начинать поиск с самых глубоких уровней вложенности, а не с корня каталога.
  • maxdepth - максимальный уровень вложенности, а не с корня каталога.
  • maxdepth - максимальный уровень вложенности для поиска. «-maxdepth 0» ограничивает поиск текущим каталогом.
  • prune - используется, когда вы хотите исключить из поиска определённые каталоги.
  • mount или -xdev - не переходить на другие файловые системы.
  • regex - искать по имени файла используя регулярные выражения.
  • regextype тип - указание типа используемых регулярных выражений.
  • P - не разворачивать символические ссылки (поведение по умолчанию).
  • L - разворачивать символические ссылки.
  • empty - только пустые каталоги.

Вывести файлы которые редактировались в период с 2016-08-20 с 7 утра по 2016-08-21 8 вечера

1
find /etc/httpd -mindepth 1 -newermt '2016-08-20 7:00' ! -newermt '2016-08-21 20:00 -ls

С применением регулярки найти все файлы изображений

1
find . -type f -regex ".*\.\(jpg\|jpeg\|gif\|png\|JPG\|JPEG\|GIF\|PNG\)"

Удаляет все файлы restore.php от текущего каталога, но не глубже 4 уровня вложенности относительно корневого каталога / Начинает поиск в папке /var/www, но не глубже /var/www/// и удаляет все файлы restore.php в найденном.

1
find /var/www -maxdepth 4 -name 'restore.php' -exec rm -r {} \;

Так я искал последние докерфайлы

1
find /home/docker -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r

Comments