Я думаю, що я досить просунувся у використанні пошуку, але КОЖЕН раз, коли я його використовую, я не можу на все життя запам’ятати метод закрити параметр -exec. Я витрачаю багато часу на читання кожного разу, коли ним користуюся. Я просто недостатньо використовую це чи занадто багато очікую від себе? Почнемо з типового прикладу, який мене засмучує.
У структурі каталогів є файли з усіма неправильними дозволами, приховані файли, символічні посилання тощо. Я хочу змінити право власності на розумне значення
find . -type f -exec chown username {} \;
find . -type d -exec chown username {} \;
find . -type d -exec chgrp usergroup {} \;
find . -type f -exec chgrp usergroup {} \;
(Пробачте, якщо закінчення зворотне ... Я дивився на це годину тому і досі не впевнений)
Але я боюся запустити його через кріплення, символічні посилання і т. Д. Я зробив остаточний привід chmod. * І раніше він повторювався вгору. Я знаю, -xdev відмовиться від перетину розділів, але я не впевнений, що буде з файлами, що живуть у каталогах, що є символічними посиланнями.
То як же один господар цього звіра може вбивати важливі файли?
Оновіть обрізку найкращих пропозицій нижче та підсумовуючи:
- Пов’язати каталог інтерактивних практик та встановити його до інших каталогів практик.
- Використовуйте xargs, а не неінтуїтивну команду exec.
- Використовуйте -exec echo {} для безпечності та безпеки
- Напіва двокрапка - особлива, і ви уникаєте її, тому перше місце втечі
- Команда -or може допомогти вам поєднати критерії вибору.
Я трохи розгублений щодо print0, але xargs завжди був дещо непростим для розуміння на перший погляд практикою, якого я намагаюся уникати.