FIND — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
Строка 103: | Строка 103: | ||
Поиск файлов принадлежащих пользователю root и совершение над ними действия, в данном случае изменение владельца на www-data: | Поиск файлов принадлежащих пользователю root и совершение над ними действия, в данном случае изменение владельца на www-data: | ||
# find -user root -exec chown www-data {} \; | # find -user root -exec chown www-data {} \; | ||
+ | |||
+ | |||
+ | Найти все симлинки, которые ссылаются на определенный путь | ||
+ | # find -L /home -samefile /home/admin/123.txt -xtype l | ||
+ | -samefile при наличии опции -L срабатывает для символических ссылок, ведущих на заданный файл | ||
+ | -xtype l ограничивает поиск только символическими ссылками - сам файл | ||
+ | /home/admin/123.txt и хардлинки на него(если есть) в результаты поиска не попадут |
Версия 17:13, 20 августа 2021
СИНТАКСИС:
find где_искать ключ
Ключ | Описание |
---|---|
-name | искать по имени файла, при использовании подстановочных образцов параметр заключается в кавычки |
-type | тип искомого: f=файл, d=каталог, l=связь (link) |
-uid | владелец: имя пользователя или UID |
-group | владелец: группа пользователя или GID |
-perm | указываются права доступа |
-size | размер: указывается в 512-байтных блоках или байтах (признак байтов – символ ‘c’ за числом) |
-atime | время последнего обращения к файлу |
-ctime | время последнего изменения владельца или прав доступа к файлу |
-mtime | время последнего изменения файла |
-newer | искать файлы созданные позже указанного файла |
-delete | удалять найденные файлы |
-ls | генерирует вывод как команда ls -dgils |
показывает на экране найденные файлы | |
-exec command {} \; | выполняет над найденным файлом указанную команду; обратите внимание на синтаксис |
-ok | перед выполнением команды указанной в -exec, выдает запрос |
-depth | начинать поиск с самых глубоких уровней вложенности, а не с корня каталога |
-prune | используется, когда вы хотите исключить из поиска определенные каталоги |
Искать все файлы в текущем каталоге:
# find .
Поиск файла по имени, начиная с каталога /home:
# find /home/ -name filename
Поиск по части имени:
# find /mnt/disk1/music/ -name "*.mp3" # find /mnt/disk1/music/ -name '*.mp3' # find /mnt/disk1/music/ -name \*.mp3 # find /mnt/disk1/music/ -name "*ass*"
Поиск файлов, которые не читались более чем (условие 'более чем' задается знаком '+' 30 дней:
# find /home/ -atime +30
Поиск файлов не изменявшихся более чем 5 дней:
# find /home/ -mtime +5
Поиск файлов изменявшихся менее чем 2 дня назад:
# find /home/ -mtime -2
Поиск файлов изменявшихся более 5, но менее 10 дней назад:
# find /home/ -mtime +5 -mtime -10
Поиск и удаление найденных файлов:
# find /home/ -name "*.old" -delete
Поиск файлов у которых нет владельцев:
# find /root/ -nouser
Поиск файлов принадлежащих или пользователю root или полюзователю www-data(здесь оператор -o значит "или"):
# find /www/ -user root -o -user www-data
Поиск фалов не принадлежащих польлзователю root:
# find /www/ -not -user root
Поиск файлов принадлежащих пользователю, можно искать и по имени владельца:
# find /usr/local/etc/ -uid 931
Поиск файлов с правами "777":
# find /home/ -perm 777
Поиск по размеру: "+" больше определённого размера, "-" меньше, без знака - размер равный указанному(можно указывать размеры от блоков (b) до гигабайтов (G)):
# find /home/ -size 100k
Поиск файлов принадлежащих пользователю root и совершение над ними действия, в данном случае изменение владельца на www-data:
# find -user root -exec chown www-data {} \;
Найти все симлинки, которые ссылаются на определенный путь
# find -L /home -samefile /home/admin/123.txt -xtype l
-samefile при наличии опции -L срабатывает для символических ссылок, ведущих на заданный файл -xtype l ограничивает поиск только символическими ссылками - сам файл /home/admin/123.txt и хардлинки на него(если есть) в результаты поиска не попадут