Как да използвам командата find в Linux за търсене на файлове?

How Use Find Command Linux Search Files



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

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







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



Нека обсъдим как да използваме подробно командата find, нейния синтаксис и различни операции, изпълнявани от тази команда.



Синтаксис на командата find в Linux

Синтаксисът на командата find е показан по -долу:





намирам [път] [настроики] [израз]

Три атрибута вървят с командата find:

  • [път]: Определя директорията, от която да започне търсенето.
  • [опции]: Той определя критериите за филтриране, напр. търсене на файл/папка по негово име, разрешение, час или дата.
  • [израз]: Той определя какви действия да се изпълняват с файла.

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



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

find/1%20copy.png

Намиране на файл по име

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

$намирам.-имеMyTextFile1.txt

find/2%20copy.png

Точката след намиране в горната команда показва текущата директория.

Ако не си спомняте точното име на файла, търсенето може допълнително да се прецизира и да се направи нечувствително към регистъра, като използвате -iname на мястото на името:

$намирам.-имеmytextfile1.txt

find/3%20copy.png

Намиране на файл по тип

За да намерите файл по неговия тип, използвайте опцията -type с букви, известни също като дескриптори като f за файлове, d за директории, l за символична връзка и s за гнезда.

За да търсите във всички директории, използвайте:

$намирам.-Типд

find/4%20copy.png

За да търсите файлове, използвайте:

$намирам.-Типе

c%20copy.png

Намиране на файл чрез разширение на файла

За да търсите във файла по модел, например разширение на файла, като например показване на всички файлове с .txt, използвайте следната команда:

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

find/5%20copy.png

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

Намиране и изтриване на файл

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

$намирам.-имеmytextfile1.txt-exec rm {};

find/6%20copy.png

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

За да изтриете всички файлове с разширение .txt, можете да използвате приложената команда:

$намирам.-име *.текст-Изтрий

find/7%20copy.png

Намиране на файл по размер

Командата find може също да търси файл по размер. Просто използвайте опцията -size заедно с нейните дескриптори като b за блокове от 512 Kb, c за байтове, k за килобайти, M и G съответно за мегабайти и гигабайти:

$намирам.-Типе-размер -1024c

find/8%20copy.png

Посочената по -горе команда търси във всички файлове с размер по -малък от 1024 байта. Търсенето може да бъде допълнително усъвършенствано, например, ако искаме да намерим всички файлове, които са по -малки от 1Mb, тогава използваме командата по -долу:

$намирам.-Типе-размер1 млн

ab/a%20copy.png

За всички файлове, които са по -големи от 1Mb, използвайте командата по -долу:

$намирам.-Типе-размер+1М

ab/b%20copy.png

Диапазон от размери също може да бъде дефиниран с помощта на приложената команда:

$намирам. -Типе-размер+1М-размер10 млн

Намиране на файлове по разрешение

За да търсим файл по разрешение, ще използваме опцията -perm, след това кода на разрешението, както е показано по -долу:

$намирам.-пермания 664

find/10%20copy.png

Намерете текст в текстови файлове

За да намерите текст в множество текстови файлове във вашата система, използвайте дадената по -долу команда:

$намирам.-Типе-име *.текст-exec захващане'Здравейте'{};

find/12%20copy.png

Командата търси думата Hello в текстовите файлове. Изходът е текстови низове от текстовите файлове, съдържащи Hello.

Намиране на файл по дата и час на промяна

За достъп до файл по последната му промяна използвайте командата по -долу:

$намирам.-Типе-име *.текст-мин+10

find/13%20copy.png

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

$намирам. -Типе-име *.текст-амин -10

find/14%20copy.png

Горната команда търси файл, последно достъпен преди 4 минути, а a in amin означава достъп. За достъп до файл, който е променен преди четири дни, използвайте -mtime +4 на мястото на mmin +4.

Заключение

Командата find в Linux е много полезна команда, която ви позволява да търсите файл или директория, използвайки различни критерии, и дори ви позволява да променяте файловете от терминала. В това ръководство наблюдавахме синтаксиса на командата find в Linux и научихме как да използваме командата find за изпълнение на различни функции.