Linux поиск файлов. Поиск текста в файлах Linux

Возможно, вам известна такая проблема как: Не можете найти файл, а он где то в компьютере. Тогда удобна команда find.

Вы спросите: Как ею пользоваться? К этой программе дается огромная man-страница, мы рассмотрим некоторые обычные случаи.

Можно начать с самого простого: Если вы знаете имя файла, то вы сможете легко его найти! Вам всего лишь нужно набрать команду find и указать конкретное имя файла!

Linux поиск файлов по имени


Вот эта та самая простая команда:

find -name love

Если существует файл с именем «love» то команда find выявит местоположение файла или нескольких файлов таким образом:

jzb@kodos:~$ find -name love
./projects/love
jzb@kodos:~$

Например, будем искать все файлы в формате mp3 и сделаем полный список в файле:

file /home/artix -iname ".mp3" > ./list.txt

Поиск файлов по части названия


Далее найдем файлы в формате txtx, не просто файлы, а такие текстовые файлы, в которых присутствует слово «LEON»:

file /home/artix -iname ".txt" -exec grep -H "LEON" "{}" \; > ./list.txt

Замечательно, у нас уже получается осуществлять поиск файлов Linux со словом «LEON». Таким же образом можно удалить лишнее, причем в фоне, чтобы можно было дальше работать:

file /home/artix -iname ".bak" -exec rm "{}" \; &

Этим мы облегчаем себе жизнь. Эти наипростейшие вещи, а в них так много полезного.

Поиск файлов по дате Linux

find ./ -mmin -10 #дата модификации менее 10 минут

find ./ -mtime +1 #дата модификации более суток

find ./ -type f -atime +10 # время обращения более 10 дней

find ./ -type f -amin -10 #дата модификации последние 10 минут


Поиск текста в файлах Linux


Часто бывает что требуется провести поиск текста в файлах Linux. Приведу 2 примера поиска файлов: (linux, freebsd) нужно фрагмента текста в файлах:

[root@srv001 ~]# find /var/named/ -type f -exec grep "MX" {} \;
serversnetwork.info. 14400 IN MX 10 mail

и еще один:

[root@srv001 ~]# grep -rl 'MX' /var/named/
/var/named/serversnetwork.info.db

Поиск файлов по размеру

Временами для поиска файлов Linux можно пользоваться другими командами. Например, вы заметили как на вашем компьютере, в какой-то раздел стал увеличиваться в объеме. Чтобы найти с каким файлом это связанно, или какая папка переполняется можно использовать такую команду:

find -size 95k.

Так мы найдем файлы размером 95k. Но этой опцией пользуются очень редко. Больше используют команды, с помощью которых можно найти файл больше или меньше указанного размера. К примеру, опция:

find -size +150k

Должна показать файлы которые больше 150k. А опция

find -size -94k

то, что меньше 94K.

Функция -size производит поиск файлов указанного размера и имеет вот этот вид при выполнении:

$ find . -size 3500k -print

Эта опция осуществит в Linux поиск файлов и выявит на экране те, у которых размер 3500 килобайт, которые находятся в этой папке. Если вам потребуется отыскать файлы, в которых размер меньше 250 килобайт, то команда будет выглядеть следующей:

$ find . -size -200k -print

Если требуется отыскать файлы в которых размер больше 555 мегабайт, то мы будем использовать опцию:

$ find / -size +555M -print

Пожалуй, на этом я закончу писать свою статью.

Теперь вы возможно сможете сами искать файлы, осуществлять поиск текста в файлах Linux, искать файлы по дате!

Всем спасибо, пока!

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

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.