Команда Linux find
является одной из наиболее важных и часто используемых утилит командной строки в Unix-подобных операционных системах. Команда find используется для поиска и определения местоположения списка файлов и каталогов на основе заданных условий, соответствующих аргументам.
Команда find предоставляет широкий набор опций, что позволяет пользователям использовать ее в различных условиях. Она позволяет искать файлы по множеству критериев, включая права доступа, пользователей, группы, типы файлов, даты, размеры и другие параметры.
Основные команды Find для поиска файлов по именам
Когда требуется найти файлы с определенными именами, команда find предлагает ряд опций, позволяющих упростить этот процесс. Вот несколько основных команд find для поиска файлов по их именам.
1. Найти файлы по имени в текущем каталоге
Найти все файлы с именем tecmint.txt в текущем рабочем каталоге.
find . -name tecmint.txt ./tecmint.txt
2. Найти файлы в домашнем каталоге
Найти все файлы в каталоге /home с именем tecmint.txt.
find /home -name tecmint.txt /home/tecmint.txt
3. Найти файлы по имени, игнорируя регистр
Найти все файлы с именем tecmint.txt, содержащим как заглавные, так и строчные буквы, в каталоге /home.
find /home -iname tecmint.txt ./tecmint.txt ./Tecmint.txt
4. Найти каталоги по имени
Найти все каталоги с именем Tecmint в каталоге /.
find / -type d -name Tecmint /Tecmint
5. Найти PHP-файлы с именем
Найти все php файлы, имя которых tecmint.php в текущем рабочем каталоге.
find . -type f -name tecmint.php ./tecmint.php
h43 6. Найти все PHP-файлы в каталоге
Найти все *php*-файлы в каталоге.
find . -type f -name "*.php" ./tecmint.php ./login.php ./index.php
Поиск файлов на основе их разрешений
Ниже приведены примеры команд find для поиска файлов на основе их разрешений.
7. Найти файлы с правами доступа 777
Найти все файлы с правами доступа 777.
find . -type f -perm 0777 -print
8. Найти все файлы без разрешения 777
Найти все файлы без разрешения 777.
find / -type f ! -perm 777
9. Найти все файлы с SGID 644
Найти все файлы SGID bit, права доступа к которым установлены на 644.
find / -perm 2644
10. Найти все файлы с флагом Sticky Bit и правами доступа 551
Найти все файлы набора Sticky Bit, разрешение которых равно 551.
find / -perm 1551
11. Найти SUID-файлы
Найти все файлы набора SUID.
find / -perm /u=s
12. Найти SGID-файлы
Найти все файлы набора SGID.
find / -perm /g=s
13. Найти файлы только для чтения
Найти все файлы Read-Only.
find / -perm /u=r
14. Найти все исполняемые файлы
Найти все Executable файлы.
find / -perm /a=x
15. найти все файлы с правами 777 и установить им права 644
Найти все файлы с правами 777 и с помощью команды chmod
установить права на 644.
find / -type f -perm 0777 -print -exec chmod 644 {} \;
16. Найти каталоги с правами 777 и установить Chmod на 755
Найти все каталоги с правами 777 и с помощью команды chmod установить права на 755.
find / -type d -perm 777 -print -exec chmod 755 {} \;
17. Найти и удалить один файл
Найти один файл с именем tecmint.txt и удалить его.
find . -type f -name "tecmint.txt" -exec rm -f {} \;
18. Найти и удалить несколько файлов
Чтобы найти и удалить несколько файлов, таких как .mp3 или .txt, используйте.
find . -type f -name "*.txt" -exec rm -f {} \; OR # find . -type f -name "*.mp3" -exec rm -f {} \;
19. Найти все пустые файлы
Чтобы найти все пустые файлы по определенному пути.
find /tmp -type f -empty
20. Найти все пустые каталоги
Найти все пустые каталоги по определенному пути.
find /tmp -type d -empty
21. Найти все скрытые файлы
Чтобы найти все скрытые файлы, используйте следующую команду.
find /tmp -type f -name ".*"
Поиск файлов по владельцам и группам
Здесь приведены примеры команд find для поиска файлов по владельцам и группам:
22. Поиск одного файла на основе пользователя
Чтобы найти все или один файл с именем tecmint.txt в / корневом каталоге владельца root.
find / -user root -name tecmint.txt
23. Найти все файлы выбранному пользователю
Найти все файлы, принадлежащие пользователю Tecmint в каталоге /home.
find /home -user tecmint
24. Найти все файлы с владельцем группы
Найти все файлы, принадлежащие группе Developer в каталоге /home.
find /home -group developer
25. Найти все файлы пользователя
Найти все файлы .txt пользователя Tecmint в каталоге /home.
find /home -user tecmint -iname "*.txt"
Поиск файлов и каталогов по дате и времени
Здесь приведены примеры команд find для поиска файлов и каталогов по дате и времени.
26. Найти все файлы измененные 50 дней назад
Найти все файлы, которые были изменены 50 дней назад.
find / -mtime 50
27. Найти все файлы, к которым обращались 50 дней назад
find / -atime 50
28. Найти все файлы, которые были изменены более 50 дней назад и менее 100 дней.
find / -mtime +50 –mtime -100
29. Найти все файлы, которые были изменены за последний час
Найти все файлы, которые были изменены за последний 1 час.
find / -cmin -60
30. Найти все файлы, к которым обращались за последний час
find / -amin -60
Поиск файлов и каталогов по размеру
Здесь приведены примеры команд find для поиска файлов и каталогов по размеру.
31. Найти файлы размером 50 МБ
Чтобы найти все файлы размером 50 МБ, используйте.
find / -size 50M
32. Все файл от 50MB – 100MB
Чтобы найти все файлы, размер которых больше 50MB и меньше 100MB.
find / -size +50M -size -100M
33. Найти и удалить файлы размером 100 МБ
Найти все файлы размером 100 МБ и удалить их с помощью одной команды.
find / -type f -size +100M -exec rm -f {} \;
34. Найти определенные файлы и удалить
Найти все файлы .mp3 размером более 10 МБ и удалить их одной командой.
find / -type f -name *.mp3 -size +10M -exec rm {} \;
Комментарии (0)