Вот сценарий, который можно назвать путем передачи режима как первого аргумента и одних или нескольких имен каталогов как последующие аргументы. В соответствии с Linux, если Вы не передаете имени каталога, это будет, как будто Вы передали .
(текущий каталог). Назовите этот сценарий rchmodf
, сделайте это исполняемым файлом (chmod a+rx /path/to/rchmodf
) и помещенный это где-нибудь на Ваш $PATH
.
#!/bin/sh
mode=$1; shift
find "$@" -type f -exec chmod "$mode" {} +
Объяснения: mode=$1; shift
устанавливает переменную mode
к первому аргументу сценария и удаляет тот первый аргумент от списка. "$@"
расширяется до списка всех аргументов.
Если Вам нравится, можно сделать сценарий, который принимает и режим каталога и режим файла.
#!/bin/sh
dir_mode=$1; shift
file_mode=$1; shift
find "$@" -type d -exec chmod "$dir_mode" {} + -o -type f -exec chmod "$file_mode" {} +
Обратите внимание, что 744 не полезный режим файла; 644 (перезаписываемый пользователем и читаемый миром) и 755 (также мировой исполняемый файл) намного более распространены. Кроме того, изменение каждого файла в дереве, чтобы быть исполняемым файлом или не быть исполняемым файлом редко полезно; Вы, вероятно, захотите назвать этот сценарий с аргументами как +rX
(капитал X
, установить исполняемый бит только для каталогов и для файлов, которые уже исполняемы). На самом деле, X
символьный режим, вероятно, чем Вы были после с этими сценариями: chmod -R +rX .
.
С ударом или zsh, существует другой способ действовать рекурсивно, но на каталоги только. Для удара Вам нужна версия 4 и работать shopt -s globstar
сначала.
chmod a+rx **/*/
В zsh можно действовать на файлы только путем добавления суффикса (.)
: chmod a+r **/*(.)
.
Я передам вопрос о Наутилусе.
Вершина имеет два режима для вычислений загрузки ЦП, одного названного режима Solaris, считает эффективную загрузку ЦП так с двумя ядрами процессора, максимальная нагрузка составит 200%. Другой называют режимом Irix. Это показывает загрузку, разделенную на количество центральных процессоров, таким образом, максимум не был должен избыточные 100%. Вы переключаетесь от одного режима до другого с "I" ключом.