Я хочу chmod
много файлов и каталогов. Как x
указывает на список для каталогов, и выполнитесь для регулярных файлов, которые я хотел бы применить rw
для файлов и rwx
для каталогов. Это - возможное использование только chmod
команда?
Если это не, каков наиболее удобный способ?
Выполнение a chmod -R 770
не возможность, поскольку я не хочу, чтобы регулярные файлы стали исполняемым файлом.
Используйте X разрешений из страницы справочника:
Выполняться/искать биты, если файл является каталогом или каким-либо из выполняться/искать битов, установлены в исходном (неизмененном) режиме. Операции с символом перманента "X" только значимы в сочетании с op символом "+" и проигнорированы во всех других случаях.
Сделайте следующее:
chmod -R a-x [directory]
chmod -R a+rwX [directory]
Это удаляет выполнить бит из всех файлов и каталогов, сопровождаемых путем добавления чтения и полномочий записи ко всему и полномочий на исполнение только к каталогам. (Никакие регулярные файлы не имеют выполнение, больше обдумывал от первого шага.)
Можно также использовать find
наряду с xargs
:
find . -type f -print0 | xargs -0 chmod 666
find . -type d -print0 | xargs -0 chmod 777
где -type
указывает каталог или файл.
find . -type d -exec chmod -vc 755 "{}" \;
(включая-vc
для некоторой обратной связи). (И возможно, просто для уточнения, добавляют две автономных команды к ответу также?) – Arjan 10.10.2009, 12:46