Image

База знаний → Поиск файлов в командной строке Linux

Существует несколько вариантов для поиска файлов в командной строке, мы рассмотрим самые используемые. Обратите внимание, что во всех командах важно учитывать регистр, т.е. 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




Нет комментариев