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

Легко находите файлы из командной строки в Linux

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

найти - популярная команда, используемая в системах Linux, которая может помочь вам искать различные файлы по их именам, типу, расширению, разрешениям, владельцу и т. д.

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

Синтаксис для найти команда

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

Общий синтаксис для найти команда выглядит следующим образом.

найти [путь_поиска] [выражение] [параметры] [найти_что]

Я попытался упростить синтаксис найти команда, чтобы лучше понять команду.

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

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

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

Опции: Вы можете использовать доступные параметры, используемые с найти команда в этом пространстве.

найти то, что: В этом атрибуте введите имя или часть имени файла для поиска.

Проиллюстрируем эту команду на примере.

найти / home / gaurav / workspace -name "source.c"

В этой команде я использую найти команда для поиска файла «source.c». Я специально просил выполнить поиск по пути «/ home / gaurav / workspace». С помощью -название опция позволяет мне искать файл, указанный в ‘source.c’.

Это простейшая демонстрация использования найти команда.

Поиск файлов в текущем каталоге

С помощью найти Команда в простейшей форме предназначена для поиска ваших файлов в текущем рабочем каталоге.

найти .

Эта команда отобразит все файлы в вашем текущем рабочем каталоге. Здесь ‘.‘Означает« текущий рабочий каталог ». Ниже приводится вывод из моего текущего рабочего каталога. Все файлы, находящиеся в этом каталоге, перечислены без каких-либо фильтров.

Вывод:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap / vim-editor / common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. локальный / lib / locale / en_IN.UTF-8 / LC_CTYPE

Чтобы найти файл, приблизительное имя которого известно, используйте найти команду, как показано ниже.

найти . -name [строка_from_filename \ *]

Пример:

найти . -name context \ *

Эта команда ищет файлы, содержащие строку context.

Вывод:

./context_log.policy ./context.xml ./context_preview.c

Перечисляются все файлы в текущем каталоге, содержащие строку context.

Теперь проблема возникает с этой командой, когда вы пытаетесь позволить себе чувствительность к регистру при вводе имени файла или приблизительной строки.

Linux довольно осторожно относится к чувствительности к регистру и, следовательно, есть большая вероятность, что ваш поиск может потерпеть неудачу. Я не получу вывода для команды поиска, если я использую строку как «КОНТЕКСТ» вместо «контекст». Даже если одна буква в имени файла находится в другом регистре, чем в исходном имени файла, поиск не удастся.

Но не стоит об этом беспокоиться. Вы можете просто заменить -название вариант с -iname. Это позволяет вам искать файлы независимо от того, в каких случаях они указаны. Просто сделайте это простое изменение в своей команде, и все будет в порядке.

найти . -iname CONT \ *

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

./context_log.policy ./context.xml ./context_preview.c

Поиск файлов в разных каталогах

Вы можете легко искать файлы в любом каталоге в системе Linux, независимо от того, в каком каталоге вы сейчас работаете.

найти [путь_каталога] -iname [конкретное_имя_файла]

Пример:

найти / home / gaurav / tomcat -iname ath.html

Здесь я искал определенный файл "ath.html", а не файлы, похожие на эту строку. Таким образом, на выходе будет только конкретный файл, как указано выше.

/home/gaurav/tomcat/ath.html

Теперь предположим, что мы не знаем полного имени файла, а знаем только строку этого имени файла. Затем мы можем искать файлы следующим образом.

найти / home / gaurav / tomcat -iname ath \ *

Эта команда будет искать все файлы, в начале которых есть строка «ath». Я использовал -iname вариант здесь, поэтому мне не нужно беспокоиться о чувствительности к регистру.

Вывод:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/Gaurav/tomcat/tomcat

Вы также можете использовать команду для поиска нескольких файлов, имена которых заканчиваются одинаковым расширением.

Пример:

найти / home / gaurav / tomcat -iname "* .c"

Команда будет искать все файлы в указанном каталоге, который содержит расширение .c в имени файла.

Вывод:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Мы узнали о найти команда для поиска файлов, указанных по имени файла. Теперь давайте рассмотрим еще одну команду, которая быстрее, чем обычная найти команда.

найти обзор команд

Есть еще одна команда для поиска файлов в вашей системе, которая быстрее, чем найти команда. Это найти команда. Эта команда не предустановлена ​​в дистрибутивах Linux. Вы можете использовать следующие шаги, чтобы загрузить и установить найти пакет команд в вашу систему.

Для систем Ubuntu и Debian, использовать:

sudo apt update sudo apt install mlocate

Для систем Cent Os и Fedora, использовать:

sudo yum установить mlocate

Команда locate ищет файл в соответствии с заданным шаблоном во входных данных. найти использует файл базы данных для поиска файлов, этот файл базы данных создается обновленоb команда.

sudo updatedb

Время, необходимое для обновления этого файла базы данных, может варьироваться от пользователя к пользователю в зависимости от файлов в вашей системе.

С помощью найти команда

Вы можете использовать найти команду следующим образом. Обязательно обновите файл базы данных с помощью команды sudo updatedb.

Синтаксис:

найдите [имя_файла или часть_имя_файла]

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

Пример:

найдите copy.c

Вывод:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc / snap / core / 9993 / usr / lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc / snap / core18 / 1885 / usr / lib / python3 .6 / __ pycache __ / copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpython -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

Выделенная строка показывает, что найден именно тот файл «copy.c». Наряду с этим результатом также отображаются некоторые другие файлы, которые содержат «copy.c» как часть своего имени файла.

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

найдите -b '\ filename'

Пример:

найдите -b '\ copy.c'

Вывод:

/home/gaurav/Downloads/git-2.23.0/copy.c

Конкретный файл, указанный в критериях поиска, указан вместе с путем к каталогу, в котором он находится.

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

Вывод

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

Категория: Linux