среда, 21 мая 2014 г.

Примеры команды find: seek and destroy

Примеры команды 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

Комментариев нет:

Отправить комментарий