34 практических примеров использования команды Find в Linux

Команда 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 {} \;

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)