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

Намерете вашите файлове без усилие от командния ред в Linux

Потребителите обикновено се опитват да намерят файл с помощта на GUI. Въпреки това, понякога става много досадна работа да намерите отделен файл в огромната купчина файлове във вашата система. Намирането му конвенционално може да е отнемаща време задача. За да улесни тази задача, Linux предлага определени команди за извършване на тази работа вместо вас.

намирам е популярна команда, използвана в системите на Linux, която може да ви помогне да търсите различни файлове въз основа на техните имена, тип, разширение, разрешения, собственик и т.н.

В този урок ще се съсредоточим върху намирането на файловете по име. Ще разгледаме различните аргументи, които могат да се използват с намирам команда. Ще научим и за локализирайте команда, която също е по-бърз начин за търсене на файловете по име.

Синтаксис за намирам команда

Използвайки намирам командата по правилен начин може да улесни вашата задача. Намирането на файлове от определен тип или разширение или търсенето по име ще бъде възможно, ако разбирате добре общия синтаксис на тази команда.

Общият синтаксис за намирам командата е както следва.

намери [пътека_търсене] [израз] [опции] [намери_какво]

Опитах се да опростя синтаксиса на намирам команда, за да разберете по-добре командата.

Нека разгледаме всеки атрибут на синтаксиса, за да добием представа за значението на всеки от тях.

Търсене_Път: Тук идва пътят, където определяме пътя, откъдето искаме системата да започне да търси файла. Накратко, посочена е началната директория за стартиране на търсенето.

Изразяване: Можете да посочите моделите за търсене за конкретния файл, който търсите.

Настроики: Можете да използвате наличните опции, използвани с намирам команда в това пространство.

намери какво: В този атрибут въведете името или част от името на файла, който ще търсите.

Нека илюстрираме тази команда с пример.

намери /home/gaurav/workspace -име "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/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

За да търсите файл, чието приблизително име е известно, използвайте намирам команда, както е показано по-долу.

намирам . -име [низ_от_име на_файл\*]

Пример:

намирам . -име контекст\*

Тази команда търси файловете, които съдържат низа „контекст“ в него.

Изход:

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

Всички файлове в текущата директория са изброени, която съдържа низа „контекст“ в нея.

Сега проблемът възниква с тази команда, когато се опитате да си дадете свобода относно чувствителността на малки и малки букви, докато пишете името на файла или приблизителния низ.

Linux е доста предпазлив по отношение на чувствителността към малки и големи букви и следователно има голям шанс търсенето ви да се провали. Няма да получа изход за командата find, ако използвам низа като „CONTEXT“ вместо „context“. Дори ако една буква в името на файла е в различен случай от този на оригиналното име на файла, тогава търсенето ще се провали.

Но няма нужда да се тревожите за това. Можете просто да замените -име опция с -име. Това ви позволява да търсите файловете, независимо от случаите, в които е тяхното име. Просто направете тази проста промяна във вашата команда и ще се оправите.

намирам . -iname ПРОДЪЛЖАВАНЕ\*

Изходът ще бъде същият, дори ако съм използвал низа в главния регистър.

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

Търсене на файлове в различни директории

Можете лесно да търсите файловете във всяка директория на системата Linux, независимо от директорията, в която работите в момента.

намери [пътя на директория] -име [име на конкретно_файл]

Пример:

намерете /home/gaurav/tomcat -iname ath.html

Тук търсих конкретен файл „ath.html“, а не подобни файлове на този низ. Така че изходът ще бъде само конкретният файл, както е споменато по-горе.

/home/gaurav/tomcat/ath.html

Да предположим, че не знаем пълното име на файла, а само низа на това име. След това можем да търсим файловете по следния начин.

намери /home/gaurav/tomcat -iname ath\*

Тази команда ще търси всички файлове, които включват низа „ath“ в него в началото. Използвал съм -име опция тук, така че не е нужно да се притеснявам за чувствителността на главния и главния шрифт.

Изход:

/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/ATHHHHhow.html

Можете също да използвате командата за търсене в множество файлове, които завършват с подобно разширение в името си.

Пример:

намери /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 инсталирайте mlocate

За системи Cent Os и Fedora, използвайте:

sudo yum инсталирайте mlocate

Командата locate търси файла според дадения шаблон във входа. локализирайте използва файла на базата данни за търсене на файловете, този файл на базата данни се генерира от updatedb команда.

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/usr3/lib/python .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.c -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 по следния начин.

locate -b '\filename'

Пример:

locate -b '\copy.c'

Изход:

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

Конкретният файл, споменат в критериите за търсене, е посочен заедно с пътя на директорията, където се намира.

Използвайки локализирайте командата може да изглежда малко трудна, но е по-бърз метод за търсене на файлове, когато не знаете точното местоположение на този файл. Извличането на файловете става супер бързо, когато актуализирате файла на базата данни, който използва командата locate.

Заключение

В този кратък урок научихме за две важни команди, намирам и локализирайте. Сега можете лесно да търсите файлове във вашата система, без да се губите в купчината файлове. Използването на тези команди със сигурност ще се окаже спестяващо време и ефективно за вашата задача за търсене на файлове.

Категория: Linux