Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | find [2025/07/06 12:38] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== shell команда find Линукс ====== | ||
+ | ~~Title: Поиск файлов в Linux изучаем команду find на примерах ~~ | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(find — утилита поиска файлов по имени и другим свойствам, | ||
+ | }} | ||
+ | Читайте также [[Временные метки файла (Access, Modify, Change) в Linux]] | ||
+ | |||
+ | Утилита **find** - наиболее эффективное средство поиска и «массовой обработки» файлов. Find - это не столько средство поиска, | ||
+ | |||
+ | **Популярные варианты команды find:** | ||
+ | <file bash> | ||
+ | find . -type f | xargs grep -ni 'logon home' | ||
+ | </ | ||
+ | grep -r -i 'logon home' . | ||
+ | </ | ||
+ | Рекурсивно во всех файлах заменить имя одного домена на другое | ||
+ | <file bash> | ||
+ | find / | ||
+ | </ | ||
+ | Замена путей для всех файлов в текущей директории, | ||
+ | <file bash> | ||
+ | find . -type f -name ' | ||
+ | </ | ||
+ | Обнулить рекурсивно все error.log и вывести список обработанных файлов: | ||
+ | <file bash> | ||
+ | for k in `find /var/www/ -type f -name error.log`; do echo $k && echo > $k ;done | ||
+ | </ | ||
+ | Найти файлы старше 60 минут и удалить их: | ||
+ | <file bash> | ||
+ | find / | ||
+ | </ | ||
+ | ====== Список ключей find ====== | ||
+ | * -name — искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки.< | ||
+ | find . -type f -name ' | ||
+ | </ | ||
+ | * -regex - спользование более сложных регулярных выражений. Например, | ||
+ | find / | ||
+ | </ | ||
+ | * -type — тип искомого: | ||
+ | <alert type=" | ||
+ | * -user — владелец: | ||
+ | find . -user < | ||
+ | </ | ||
+ | * -group — владелец: | ||
+ | * -perm — указываются права доступа. | ||
+ | * -size — размер: | ||
+ | * -atime — время последнего обращения к файлу. | ||
+ | * -ctime — время последнего изменения владельца или прав доступа к файлу. | ||
+ | * -mtime — время последнего изменения файла. | ||
+ | * -newer — искать файлы созданные позже указанной даты. Можно указать конкретный файл. Например найти все файлы в каталоге etc время создания/ | ||
+ | find /etc -newer /tmp/now | ||
+ | </ | ||
+ | * -delete — удалять найденные файлы. | ||
+ | * -ls — генерирует вывод как команда ls -dgils. | ||
+ | * -print — показывает на экране найденные файлы. | ||
+ | * -exec command {} \; — выполняет над найденным файлом указанную команду; | ||
+ | * -ok — перед выполнением команды указанной в -exec, выдаёт запрос. | ||
+ | * -depth — начинать поиск с самых глубоких уровней вложенности, | ||
+ | * -prune — используется, | ||
+ | * -mmin - предназначена для поиска файлов/ | ||
+ | Найти файлы старше 2 часов: | ||
+ | find . -mmin +120 | ||
+ | Найдите файлы, которым менее 2 часов: | ||
+ | find . -mmin -120 | ||
+ | </ | ||
+ | ====== Поиск по времени, | ||
+ | Найдем файлы, которые не читали более чем (условие ' | ||
+ | find . -atime +30 -print | ||
+ | </ | ||
+ | find . -mtime -1 -print | ||
+ | </ | ||
+ | |||
+ | Все три ключа **time** в качестве параметра используют суточные интервалы. Если вы хотите использовать более точные интервалы времени, | ||
+ | find . -type f -name " | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Продемонстрируем разницу между логическим ' | ||
+ | find . -atime +7 -size +20480 -print | ||
+ | </ | ||
+ | find . -atime +7 -o -size +20480 -print | ||
+ | </ | ||
+ | find . -atime +7 -o -size +`expr 10 \* 1024 \* 2` -print | ||
+ | </ | ||
+ | |||
+ | Для того что бы поглядеть заранее то, что сосчитает команда expr, припишите впереди команды find команду echo:< | ||
+ | echo find . -atime +7 -o -size +`expr 10 \* 1024 \* 2` -print | ||
+ | find . -atime +7 -size +20480 -print | ||
+ | </ | ||
+ | ====== Примеры использования ====== | ||
+ | * Вывести список файлов во всей файловой системе, | ||
+ | # find / -size +100M -print | ||
+ | </ | ||
+ | * Вывести список файлов во всей файловой системе, | ||
+ | * Вывести список файлов, | ||
+ | # find . -mtime -1 -type f -print | ||
+ | # find . -mtime -1 -type f -exec ls -l {} \; | ||
+ | # find . -mtime -1 -type f -print | wc # находим и командой wc считаем количество | ||
+ | # find . -mtime -1 -type f -delete # удаляем эти файлы | ||
+ | </ | ||
+ | * Сменить рекурсивно права на 644 на все файлы начиная с текущей директории: | ||
+ | </ | ||
+ | * Сменить рекурсивно права на 755 на все директории начиная с текущей директории:< | ||
+ | * Поиск директорий, | ||
+ | 540771 | ||
+ | 540772 | ||
+ | </ | ||
+ | * Рекурсивно выведет список файлов, | ||
+ | </ | ||
+ | * Поиск файлов с установленным [[SUID]] -битом< | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 91 72 -rwsr-xr-x | ||
+ | | ||
+ | find: `/ | ||
+ | find: `/ | ||
+ | find: `/ | ||
+ | | ||
+ | </ | ||
+ | * Все файлы с расширением jpg переносит в директорию Images< | ||
+ | $ find / | ||
+ | </ | ||
+ | * Поиск дубликатов файлов: | ||
+ | <file bash> | ||
+ | find ./ -type f | xargs -d\\n md5sum | sort | uniq -D -w 32 > | ||
+ | </ | ||
+ | * Перемещает все файлы меньше 1MБ в папку tiny< | ||
+ | $ find / | ||
+ | mv {} / | ||
+ | </ | ||
+ | * Скрипт рекурсивно в файлах ищет строку | ||
+ | <file bash> | ||
+ | #!/bin/bash | ||
+ | |||
+ | # Скрипт рекурсивно перебирает все файлы начиная с директории запуска. | ||
+ | # И ищет в них вхождение переданной строки и выводит на консоль | ||
+ | # в запускаемый скрипт нужно передать парметр - строку поиска, | ||
+ | # ./ | ||
+ | |||
+ | |||
+ | FIND="/ | ||
+ | XARGS="/ | ||
+ | GREP="/ | ||
+ | |||
+ | # Directory search | ||
+ | SDIR=`pwd` | ||
+ | #SDIR=$0 | ||
+ | # The search string | ||
+ | SSTR=$1 | ||
+ | |||
+ | echo Find \' | ||
+ | |||
+ | $FIND $SDIR | $XARGS $GREP -ni " | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга