Существует несколько вариантов для поиска файлов в командной строке, мы рассмотрим самые используемые. Обратите внимание, что во всех командах важно учитывать регистр, т.е. filename.txt и FileName.txt будут 2 разных файла и также с выражениями по поиску внутри них.
1. Поиск по имени файла
find / -name "filename.txt"
1.1 Поиск по совпадению части имени файла
find / -name "*.conf"
1.2 Отображение всех файлов не содержащих в имени .log
find . ! -name "*.mp3"
2. Поиск по дате изменения файлов, которые менялись более 30 дней назад
find . -type f -mtime +30
2.1 Найти файлы, которые менялись в промежутке более 10 минут назад, но не более 30
find . -mmin -30 -mmin +10 -type f
2.2 Найти файлы в промежутке определенных дат
find . -type f -newerct 2023-10-01 ! -newerct "2023-10-08 23:59:00"
3. Найти файл по содержимому, где string-to-find - строка для поиска
find / -type f -exec grep -i -H "string-to-find" {} \;
4. Для поиска больших файлов, например размером более 2ух гигабайт
find . -mount -type f -size +2G 2>/dev/null
4.1 Поиск и отображения 5 самых больших файлов в директории
du -ahx . | sort -rh | head -5
5. Поиск внутри файла с заменой, где мы находим old и меняем на new
sed -i 's/new/old/g' text.txt