FIND — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 24: | Строка 24: | ||
| -mtime || время последнего изменения файла | | -mtime || время последнего изменения файла | ||
|- | |- | ||
− | | -newer || искать файлы созданные позже | + | | -newer || искать файлы созданные позже указанного файла |
|- | |- | ||
| -delete || удалять найденные файлы | | -delete || удалять найденные файлы | ||
Строка 48: | Строка 48: | ||
Поиск файла по имени, начиная с каталога /home: | Поиск файла по имени, начиная с каталога /home: | ||
# find /home/ -name <font color=blue>filename</font> | # find /home/ -name <font color=blue>filename</font> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Поиск по части имени: | Поиск по части имени: | ||
− | # find / | + | # find /mnt/disk1/music/ -name "*.mp3" |
+ | # find /mnt/disk1/music/ -name '*.mp3' | ||
+ | # find /mnt/disk1/music/ -name \*.mp3 | ||
+ | # find /mnt/disk1/music/ -name "*ass*" | ||
Строка 78: | Строка 75: | ||
Поиск и удаление найденных файлов: | Поиск и удаление найденных файлов: | ||
# find /home/ -name "*.<font color=blue>old</font>" -delete | # find /home/ -name "*.<font color=blue>old</font>" -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 | ||
Строка 84: | Строка 97: | ||
− | Поиск файлов принадлежащих пользователю, | + | Поиск по размеру: "+" больше определённого размера, "-" меньше, без знака - размер равный указанному(можно указывать размеры от блоков (b) до гигабайтов (G)): |
− | # find / | + | # 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 срабатывает для символических ссылок, ведущих на заданный файл<br> | ||
+ | -xtype l ограничивает поиск только символическими ссылками - сам файл<br> | ||
+ | /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 и хардлинки на него(если есть) в результаты поиска не попадут