Намерете по име
Най-лесната команда, която можем да използваме за намиране на файл, е с конкретно име в директория. Предимството на тази команда е, че bash ще намери файла, дори ако той присъства в една от рекурсивните директории в преминатия път на директорията. Нека разгледаме един пример:
намери кодово име ifelse4.шТази команда ще намери файла ifelse4.sh рекурсивно в кода на директорията. Нека видим изхода за тази команда:
Намерете файл по име
Опцията за име, която споменахме по-горе, е чувствителна към малки и големи букви. Ако искате да намерите файла, независимо от случая в името, използвайте следната команда: намери Код -ина ifelse4.ш
Намиране на файл чрез регулярен израз
Можем да използваме прости регулярни изрази, за да намерим файл в директория, който съответства на този регулярен израз. Нека демонстрираме това с проста команда за намиране на всички файлове с произволно име и с разширение на .текст:
намери код -regex ".* \.ш "Ето какво получаваме обратно с тази команда:
Намиране на файл чрез регулярно изражение
Нека разберем какво означава тази команда тук:
- -regex: Това просто означава, че след това ще предадем регулярен израз.
- В регулярния израз, първата точка (.) означава, че произволен брой знаци в името на файла трябва да съвпадат.
- След това, с *, ние съответстваме на произволен брой повторения на произволен знак (поради периода).
- Накрая свързваме всички файлове с .разширение sh.
Хубавото на регулярния израз може да бъде, че той може да бъде направен толкова гъвкав, колкото можете да определите. Нека модифицираме горния пример, за да намерим файлове с .ш и .txt разширение също:
намери код -regex ".* \.ш | \.текст"Намиране на файлове, модифицирани през последните n минути
Намирането на файл, който е модифициран през последните n минути, също е лесно. Нека да разгледаме пример веднага:
намери код -mmin -90Нека видим изхода за тази команда:
Намиране на файл, променен през последните 90 минути
Намиране на файлове, модифицирани през последните n дни
Намирането на файл, който е модифициран през последните n дни, също е лесно. Нека да разгледаме пример веднага:
намери Код -mtime 0Ето какво получаваме обратно с тази команда:
Намерете файл по дни
Намиране на файлове по разрешения
Намирането на файл с конкретни разрешения също е възможно. Можем да намерим файлове, които са свързани с потребител или потребителска група:
намирам . -потребител shubhamЕто какво получаваме обратно с тази команда:
Намиране на файлове, принадлежащи на потребител
Също така можем да приложим същата логика за намиране на файлове, принадлежащи към потребителска група: намирам . -групов корен
Намиране на файлове по размер
За да намерите файлове, които са по-големи от определен размер, можете да намерите следната команда:
намери код -размер +500Ето какво получаваме обратно с тази команда:
Намерете файл по размер
Освен байтовете, размерът на файла може да се посочи като:
- b: 512-байтови блокове: Това е единицата по подразбиране, ако не е посочена нито една
- c: байтове
- k: килобайта
- М: мегабайта
- G: гигабайта
Намиране на файлове по тип
Възможно е да се намери файл с тип. Имаме следните типове за команда за намиране:
- d: директория
- f: обикновен файл
- l: символна връзка
- b: буфериран блок
- c: буфериран знак
- p: наименована тръба
- s: гнездо
Нека използваме команда, за да намерим обикновен файл:
намирам . -тип fЕто какво получаваме обратно с тази команда:
Намерете файлове по тип
Намиране на файлове с множество условия
Като последен пример е възможно да се намерят файлове чрез добавяне на множество условия, както видяхме по-горе. Нека изпробваме множество условия в една команда за намиране сега:
намирам . -размер + 1c -и -име "*.ш "Ето какво получаваме обратно с тази команда:
Намерете файлове с множество условия
Заключение
В този урок разгледахме как можем да използваме командата find за намиране на файлове с някакво име или по разрешения или по тип. Можем дори да добавим множество условия, за да намерим файлове, които отговарят на всички условия. Играйте с командите още повече, за да финансирате относителната мощност.