tech-tips/Программное обеспечение/ОС и загрузчики/Linux/Шпаргалки по командам/Утилита find.md

2.1 KiB
Raw Permalink Blame History

https://habr.com/ru/company/first/blog/593669/

Групповой chmod

Для файлов:

find -type f -exec chmod 0644 {} +
find ./logs -type f | xargs chmod 0644

Для директорий:

find -type d -exec chmod 0755 {} +
find ./logs -type d | xargs chmod 0755

Подробности тут

Вывести список файлов старше 1 дня

find /home/user/some/dir/ -type f -mtime +1

Фильтры по времени:

  • ctime/cmin — создания
  • mtime/mmin — изменения
  • atime/amin — последнего доступа

Для удаления добавить -delete

Подробности тут

Поиск файлов модифицированных в определенную дату

find /path/to/dir -newermt "date"
find /path/to/dir -newermt "Feb 07"
find /path/to/dir -newermt "yyyy-mm-dd"

## List all files modified on given date
find /path/to/dir -newermt yyyy-mm-dd ! -newermt yyyy-mm-dd -ls
find /path/to/dir -newermt "yyyy-mm-dd" -print -type f -iname "*.py"

Найти файлы по размеру

find -type f -size 25655c # точно 2565 байт
find -type f -size +10k # более 10 Кб
find -type f -size +100M -size -2G # от 100 Мб до 2 Гб

Посчитать количество файлов внутри папки

Поиск файлов и папок по regex по подстроке с сортировкой

find -type f | wc -l
find /var/www/ -name "*.*" -regex '.*\\(ru\\|com\\|net\\|org\\|info\\|pro\\|su\\|biz\\|mn\\|cn\\)$' -type d -path "*/data/www/*" -print | sort

Замена подстроки по файлам

Поиск файлов, содержащих подстроку:

find . -type f -path "*/.git/config" | xargs cat | grep "git.anthonyaxenov.ru"

Замена:

find . -type f -path "*/.git/config" | xargs sed -i "s/anthonyaxenov.ru/axenov.dev/g"