В этом посте мы рассмотрим linux find
команда и как искать и находить файлы с разными атрибутами.
Linux find
Команда - это встроенный мощный инструмент, который можно использовать для поиска и управления файлами и каталогами на основе широкого диапазона критериев поиска.
Например, мы можем искать файлы по их имени, расширению, размеру, разрешениям и т. Д. Мы также можем использовать find
команда для поиска определенного текста внутри файла, имя которого нам неизвестно.
Давайте посмотрим на использование find
команда с примерами:
Если вы знаете имя файла, но не можете вспомнить каталог, в котором он находится, вы можете использовать следующую команду из корневого каталога:
find . -name sales.csv
Пример вывода:
./accounts/sales.csv
Если вы хотите найти определенный файл (ы) в каталоге, мы можем использовать:
find ./test -name testCases*
Пример вывода:
./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log
В приведенном выше случае мы ищем только в каталоге «./test».
Для поиска и поиска файлов по определенному расширению мы используем:
find . -name *.jpg
Пример вывода:
./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg
Чтобы найти только файлы, нам нужно использовать -f
вариант:
find ./ -type f -name 'results*'
Пример вывода:
./test/results_latest.log ./test/results_archive.pdf
Чтобы найти только каталоги, нам нужно использовать -d
вариант:
find ./ -type d -name 'results*'
Пример вывода:
./test/results
Если вы хотите найти и перечислить все файлы с заданным именем в нескольких каталогах, вы можете начать поиск в корневой папке или, если вы знаете каталоги, вы можете указать их.
Пример:
find ./test ./logs -name failed*.* -type f
Пример вывода:
./test/failed_tests.txt ./logs/failed_tests.log
Иногда вы хотите найти файл, но не знаете его имени, но знаете, что внутри него есть определенный текст.
Ты можешь использовать:
find ./test -type f -exec grep -l -i 'login_scenarios' {} ;
Здесь -i
опция используется для игнорирования регистра, поэтому будут найдены и Login_Scenarios, и login_scenarios.
Мы даже можем найти файлы разного размера. Варианты размеров:
c
байтыk
килобайтыM
МегабайтG
ГигабайтНапример, чтобы найти файлы с точным размером, мы используем:
find / -size 10M
А чтобы найти файлы больше определенного размера, мы используем:
find ./test -size +2M
Вышеупомянутое найдет все файлы, размер которых превышает 2 МБ, в папке ./test.
Для поиска и удаления определенных файлов мы используем:
find . -type f -name 'temp*' -exec rm {} ;
В этой статье вы узнали, как использовать команду linux find для поиска файлов по имени, расширению, размеру и типу.