Как искать файл в Linux с помощью locate find grep

12 set 2022 2 min di lettura
Как искать файл в Linux с помощью locate find grep
Indice dei contenuti

Введение

В этой статье мы увидим, как искать определенные файлы или каталоги в нашей файловой системе. В Linux есть несколько команд для поиска файлов.

Найдите файл с помощью команды locate

Одной из наиболее часто используемых команд для поиска файлов или каталогов является команда locate, которая выполняет поиск по имени файла. Вы должны увидеть список файлов и каталогов, которые содержат искомое слово в своем имени и пути:

locate nomefile

Команда locate не выполняет поиск в реальном времени среди файлов в системе, а выполняет поиск в базе данных, содержащей информацию о файлах, присутствующих в системе. Поэтому вам нужно часто обновлять эту базу данных, используя следующую команду:

updatedb

Найдите файл с помощью команды find

Еще одна полезная команда — find, которая позволяет нам искать файлы и каталоги по имени, дате создания или размеру. Для поиска файла в системе используйте команду find. Пример поиска файла в системе, из терминала:

find /home/user -type f

Эта команда будет искать все файлы, расположенные в /home/user. Команда find чрезвычайно эффективна и может быть настроена с помощью ряда команд, чтобы сделать поиск еще более подробным.

Для поиска во всей системе определенного файла:

find /-name nomefile.txt

Для поиска по дате создания файла используйте параметр -ctime, за которым следует возраст (в днях) искомого файла. Например, чтобы найти файл, созданный 6 дней назад, по определенному пути:

find /var/www/html -ctime 7

Если вы хотите искать файлы больше определенного размера, вы можете использовать:

find. -type f -size 10M

Приведенная выше команда будет искать в текущем каталоге все файлы размером более 10 МБ. Убедитесь, что вы не запускаете команду из корневого каталога вашей системы Linux, так как это может привести к высокому системному вводу-выводу.

Одной из наиболее часто используемых комбинаций является опция « exec », которая позволяет выполнять некоторые действия с результатами команды find.

Например, если мы хотим найти все файлы в каталоге и изменить их разрешения. Это можно сделать с помощью:

find /home/user/files/-type f -exec chmod 644 {} \;

Приведенная выше команда будет рекурсивно искать все файлы в указанном каталоге и выполнять команду chmod для найденных файлов.

Найдите файл с помощью команды grep

С помощью grep вы можете искать файлы, содержащие определенное слово или определенную текстовую строку:

grep index *.html

Благодаря такому синтаксису строка « index » будет искаться среди всех файлов .html (звездочка означает «что угодно» и используется в этом примере для поиска любых файлов с расширением .html ).

В результате поиска у нас тоже будет все между словом index и .html.

Чтобы в результате получить только конкретное слово, используйте параметр -w:

grep -w "index" *.html
Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.