Яндекс: найдётся всё. Find: а ничего и не терялось

15.06.2013  20:50

На *nix серверах есть поистине мощная команда: find. Кому до коликов интересно — почитайте man (потом расскажете). А я бы хотел ограничиться самыми ходовыми в быту примерами:

find -name имя_файла -print
Найти и вывести на экран. Всё просто, но этого мало. Идём дальше.

find . -name "status.php" type f -print
Найти рекурсивно status.php от текущей папки (где вы сейчас находитесь, можете подвериться командой ls -la)

find . -type d -exec chmod 0755 {} ';'
Массово устанавливаем chmod 755 отдельно на папки. Файлы остаются с правами 644 (или с дефолтовыми).

find путь -name "*.*" xargs cmod 0644|
Найти файлы и поставить права 0644 (директории не трогаются)

enconv -L ru -x UTF-8 *
Перекодировать все файлы в директории в UTF-8 (из любой кодировки, не рекурсивно). А если применить одну могучую команду вместе с другой могучей командой?

Вуаля:
find /root/test -name "*.*" xargs enconv -L ru -x UTF-8 *|
Массово перекодировать все файлы в UTF-8 (ищем в директории /root/test). А вот это уже шаманство!

find . -name "*.js" -print xargs grep "текст"|
Найти рекурсивно все яваскрипты, содержащие «текст»

find . -type d -maxdepth 1 -exec du -s {} ;sort -k1 -r -n| less |
Распечатать размеры папок. maxdepth — глубина, в данном случае — 1 уровень.

find . -type f -size +500M -exec ls -l {} ; sort -k5 -n -r| less|
Найти файлы > 500 метров

Не так страшен Linux, как виндовая синяя смерть!

2 МиГ-29, Авиация


перейти в Блог | Блог (стр. 15)

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): *nix 3  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю:
Имя


email (не публикуется)