Как да намерите файл в Linux с Find Command
Командата за 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, но е много по-подробно и конкретно. Има ли някакви команди, които сме пропуснали? Кажете ни в коментарите!
Кредит на изображението: Контрол от ДепозитФото