Поиск по сайту:

35 практических примеров команды Find в Linux


команда find Linux — одна из наиболее важных и часто используемых утилит командной строки в Unix-подобных операционных системах. Команда find используется для поиска и размещения списка файлов и каталогов на основе заданных вами условий и соответствующих аргументов.

Команда find предоставляет широкий спектр опций, позволяющих пользователям использовать ее в самых разных условиях. Он позволяет людям искать файлы по множеству критериев, включая разрешения, пользователей, группы, типы файлов, даты, размеры и различные другие параметры.

В этой статье мы представим вам 35 наиболее часто используемых примеров команд поиска в Linux. Мы разделили этот раздел на пять частей, охватывающих использование команды find от базового до продвинутого уровня.

Часть I. Основные команды поиска для поиска файлов по именам

Когда дело доходит до поиска файлов с определенными именами, команда 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

6. Найдите все файлы PHP в каталоге.

Найдите все файлы php в каталоге.

find . -type f -name "*.php"

./tecmint.php
./login.php
./index.php

Часть II. Поиск файлов на основе их разрешений

Вот несколько примеров команд find для поиска файлов на основе их разрешений.

7. Найдите файлы с разрешениями 777.

Найдите все файлы с разрешениями 777.

find . -type f -perm 0777 -print

8. Найдите файлы без разрешений 777

Найти все файлы без разрешения 777.

find / -type f ! -perm 777

9. Найдите файлы SGID с разрешениями 644.

Найдите все файлы с битом SGID, разрешения которых установлены на 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. Найдите файлы, доступные только для чтения

Найдите все файлы только для чтения.

find / -perm /u=r

14. Найдите исполняемые файлы

Найдите все Исполняемые файлы.

find / -perm /a=x

15. Найдите файлы с разрешениями 777 и Chmod для 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 ".*"

Часть III. Поиск файлов по владельцам и группам

Вот несколько примеров команд find для поиска файлов по владельцам и группам:

22. Найти отдельный файл по пользователю

Чтобы найти все или отдельные файлы с именем tecmint.txt в корневом каталоге / корневого каталога владельца.

find / -user root -name tecmint.txt

23. Найти все файлы по пользователю.

Чтобы найти все файлы, принадлежащие пользователю Tecmint, в каталоге /home.

find /home -user tecmint

24. Найдите все файлы по группе.

Чтобы найти все файлы, принадлежащие группе Разработчик, в каталоге /home.

find /home -group developer

25. Найдите отдельные файлы пользователя.

Чтобы найти все файлы .txt пользователя Tecmint в каталоге /home.

find /home -user tecmint -iname "*.txt"

Часть IV. Поиск файлов и каталогов по дате и времени

Вот несколько примеров команд поиска для поиска файлов и каталогов по дате и времени.

26. Найдите файлы, измененные за последние 50 дней.

Чтобы найти все файлы, измененные 50 дней назад.

find / -mtime 50

27. Найдите файлы, к которым обращались за последние 50 дней.

Чтобы найти все файлы, к которым обращались 50 дней назад.

find / -atime 50

28. Найдите файлы, измененные за последние 50–100 дней.

Чтобы найти все файлы, измененные более чем 50 дней назад и менее 100 дней назад.

find / -mtime +50 –mtime -100

29. Найдите измененные файлы за последний час.

Чтобы найти все файлы, измененные за последний 1 час.

find / -cmin -60

30. Найдите измененные файлы за последний час.

Чтобы найти все файлы, измененные за последний 1 час.

find / -mmin -60

31. Найдите файлы, к которым был получен доступ за последний 1 час.

Чтобы найти все файлы, к которым обращались за последний 1 час.

find / -amin -60

Часть V. Поиск файлов и каталогов по размеру

Вот несколько примеров команд поиска для поиска файлов и каталогов в зависимости от размера.

32. Найдите файлы размером 50 МБ.

Чтобы найти все файлы 50 МБ, используйте.

find / -size 50M

33. Найдите размер от 50 до 100 МБ.

Чтобы найти все файлы размером более 50 МБ и менее 100 МБ.

find / -size +50M -size -100M

34. Найти и удалить файлы размером 100 МБ.

Найти все файлы 100 МБ и удалить их можно с помощью одной команды.

find / -type f -size +100M -exec rm -f {} \;

35. Найдите определенные файлы и удалите их.

Найдите все файлы .mp3 размером более 10 МБ и удалите их с помощью одной команды.

find / -type f -name *.mp3 -size +10M -exec rm {} \;

Вот и все. На этом мы заканчиваем этот пост. В нашей следующей статье мы подробно обсудим другие команды Linux с практическими примерами. Дайте нам знать ваше мнение об этой статье, используя наш раздел комментариев.