Командата за find Linux е една от най-важните и удобни команди в системите на Линукс. Тя може, както подсказва името, да намери файлове на вашия Linux компютър, базирани на почти каквито и да са условия и променливи, които сте задали. Можете да намерите файлове по разрешения, потребители, групи, типове файлове, дата, размер и други възможни критерии, като използвате командата find .

Командата за find е налице на повечето дистрибуции на Linux по подразбиране, така че не е нужно да инсталирате пакет за него.

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

Намерете файлове по име в текущите директории

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

 намирам . -name photo.png 

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

 намирам . -iname photo.png 

Ако искате да намерите файл в основната директория, префиксирайте търсенето си със sudo което ще ви даде всички разрешения, необходими за това, както и символът '/', който казва на Linux да търси в основната директория. Накрая, изразът -print показва директорите на резултатите от търсенето ви. Ако търсите Gzip, трябва да въведете:

 sudo намерете / -name gzip -print 

Намиране на файлове под специален указател

Ако искате да намерите файлове под определена директория като "/ home", стартирайте:

 find / home име на файла.txt 

Ако искате да намерите файлове с разширение ".txt" в директорията "/ home", стартирайте:

 намерете / home -name * .txt 

За да намерите файлове, чието име е "test.txt" под няколко директории като "/ home" и "/ opt", стартирайте:

 find / начало / избери -name test.txt 

За да намерите скрити файлове в директорията "/ home", стартирайте:

 find / начало-име ". *" 

За да намерите един файл, наречен "test.txt", и го премахнете, изпълнете:

 find / начало-тип f -name test.txt -exec rm -f {} 

За да намерите всички празни файлове в директорията "/ opt", стартирайте:

 find / opt -type f -empty 

Намерете директории, използващи име

Ако искате да намерите всички директории, чието име е "testdir" в директорията "/ home", изпълнете:

 find / home -type d -name testdir 

За да подадете всички празни директории под "/ home":

 find / home -type d -empty 

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

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

За да намерите всички файлове, чиито разрешения са "777" в директорията "/ home", изпълнете:

 find / home -type f -перм 0777 - отпечатък 

За да намерите всички файлове без разрешение "777", стартирайте:

 намирам . -type f! -пермон 777 

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

 намерете / home -perm / u = r 

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

 намерете / home -perm / a = x 

За да намерите всички файлове със залепващи битове, чиито разрешения са "553", стартирайте:

 намерете / home -perm 1553 

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

 намерете / home -perm / u = s 

За да намерите всички файлове, чиито разрешения са "777" и да промените техните разрешения на "700", стартирайте:

 find / начало-тип f -перм 0777 -print -exec chmod 700 {}; 

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

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

 find / opt -time20 

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

 find / opt -atime 20 

За да намерите всички файлове под "/ opt", които са променени повече от тридесет дни по-рано и по-малко от петдесет дни след:

 намерете / opt -mtime +30 -time -50 

За да намерите всички файлове в "/ opt", които са променени през последните два часа, изпълнете:

 намерете / opt -cmin -120 

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

За да намерите всички 10 МБ файлове в директорията "/ home", стартирайте:

 намерете / home-size 10M 

За да намерите всички файлове в директорията "/ home", които са по-големи от 10 МБ и по-малко от 50 МБ, изпълнете:

 find / home-size + 10M-размер -50M 

За да намерите всички ".mp4" файлове в директорията "/ home" с повече от 10MB и да ги изтриете с помощта на една команда, изпълнете:

 find / home -type f - име * .mp4-размер + 10M -exec rm {}; 

заключение

И там е - здравословен списък с начини за намиране на какви файлове търсите в Linux. Тя може да не е толкова просто, колкото основното ви търсене в Windows, но е много по-подробно и конкретно. Има ли някакви команди, които сме пропуснали? Кажете ни в коментарите!

Кредит на изображението: Контрол от ДепозитФото