Я использовал эту команду, не указывая каталог:
sudo find -type d -exec chmod 755 {} \
Что, возможно, произошло? Я был в/var/www/html папке. Это изменяло какие-либо полномочия вне/var/www/html каталога?
Вы пропустили a ;
или a {} +
и может пропустить путь (для выполнения, находят запуск в текущем dir),
sudo find -type d -exec chmod 755 {} \;
В этом случае Ваш поисковый запуск в текущем каталоге с subdirs. Но можно установить каталог, очевидно.
Текущий dir:
sudo find . -type d -exec chmod 755 {} \;
Полный путь:
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo
- выполненный как суперпользователь
find -type d
- поисковые каталоги только (если Вам нужны файлы только, используют find -type f
. Если Вы не файлы вопроса или директора, просто удалите - тип d [f] из команды).
-exec chmod 755 {} \;
- команда выполнения chmod 755 для каждого основанного объекта в команде, который init - исполнительный параметрический усилитель (в этом случае находят команду).
-exec chmod 755 {} +
- команда выполнения chmod 755 для полного массива основанных результатов сразу..
Ubuntu использует GNU find
, который принимает текущий рабочий каталог, если Вы не указываете тот. А именно, это принимает .
и все объекты, которые найдены командой, будут иметь ./
префикс к их пути при передаче -exec
команда. Таким образом, это только пересекло бы /var/www/html
; если Ваш текущий рабочий каталог действительно был в /var/www/html
ничто за пределами этого не было бы затронуто. Другие реализации find
может потребовать аргумента каталога как BSD find
например.
Однако как упомянутый ответ mature, Ваш синтаксис является неполным, следовательно та команда не работала бы. \
в конце сказал бы оболочке, что команда является неполной, и показать PS2
подсказка, которая является >