Примеры команды find: seek and destroy
Подборка примеров использование команды поиска find под Linux.
Синтаксис команды
find [путь] [опции] [критерии поиска] [действия над файлами]
команда | описание |
---|---|
find ~/ -name ".bash*" | поиск в домашнем каталоге файлов, имя которых начинается с .bash; ключ-iname - без учета регистра |
find ~/ -executable | поиск выполняемых файлов для пользователя, который запустил командуfind |
find ~/ -perm 644 | поиск файлов, у которых права равны 644 |
find ~/ -perm -644 | поиск файлов, у которых права установлены в 644 и больше (744, 777, etc.) |
find ~/ -group proft | поиск файлов/папок, принадлежащих группе proft |
find ~/ -mmin n | поиск файлов/папок, которые редактировались ровно n минут назад |
find ~/ -mmin -10 | поиск файлов/папок, которые редактировались меньше 10 минут назад |
find ~/ -mtime n | поиск файлов/папок, которые редактировались ровно n дней назад |
find ~/ -mtime -7 | поиск файлов/папок, которые редактировались меньше 7 дней назад |
find ~/ -mtime +7 | поиск файлов/папок, которые не редактировались последние 7 дней |
find ~/ -newer file | поиск файлов с датой модификации больше чем у file |
find ~/ -nogroup | поиск файлов/папок у которых не назначена группа |
find ~/ -size +2G | поиск файлов, размер которых больше 2 ГБайт; -2G меньше 2 ГБайт; возможные размерности: G - ГБайт, M - МБайт, K - КБайт |
find ~/ -type t | поиск объектов с типом t, распространенные типы: f - файл, d - директория |
find . -empty | поиск пустых файлов и директорий |
find ~/ -user nata -exec mv {} ~/temp \; | поиск файлов, принадлежащих пользователю nata и перемещение их в директорию ~/temp (предполагается, что команда запущена не под пользователем nata) |
find . -name "*.pyc" -exec rm {} \; | удаление файлов *.pyc в текущей и вложенных директориях |
find . -name "*.pyc" -ok rm {} \; | удаление файлов *.pyc с подтверждением, Enter - пропуск текущего файла |
find ~/ -maxdepth 2 -name ".bash*" | ограничить поиск двумя уровнями вглубь от ~/ |
find ~/projects/ -name "*.py" | xargs grep -l 'TODO' | поиск файлов *.py, которые содержать строку TODO |
find ~/ -size +600M -and -size -1G | поиск файлов, у которых размер больше 600 МБайт и меньше 1 ГБайт |
find . -type f -not -name "*.html" -not -name "*.css" | поиск файлов, исключая *.html и *.css |
find -L . -type l | поиск поломанных симлинков в текущей директории и ниже |
find . -printf "%f\n" | поиск всех файлов и вывод только их имя, без полного пути |
find . -regex 'index[1-5].html' | поиск с использованием регулярных выражений |
find . -name "*.py" | xargs sed -i 's/foo/bar/g' | поиск по всем *.py и замена foo на bar |
find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort | сортировка файлов по дате, начиная с текущей директории |
diff -y <(ssh user@host find /boot|sort) <(find /boot|sort) | сравнение удаленной папки с текущей |
ls *.pdf | xargs -I{} pdftotext {} - | grep "foo" | поиск "foo" во всех pdf файлах |
find ./ -name '*:*' -exec rename 's/:/_/g' {} + | найти все файлы с : в имени и заменить на _ |
И напоследок мастер для составления параметров для команды find - Unix find command helper
Комментариев нет:
Отправить комментарий