Команда для выполнения рекурсивного chmod, чтобы сделать все .sh файлы в каталоге исполняемыми?


13

Попытка выполнить рекурсивный chmod для всех файлов .sh в каталоге, чтобы сделать их исполняемыми


Посмотри findи возможно xargs.
Фракием

Ответы:


25

Чтобы сделать это возможным, вы можете использовать findкоманду и искать все файлы с .shрасширением, а затем выполнить chmodкоманду для каждого найденного файла :

find /directory/of/interest/ -type f -iname "*.sh" -exec chmod +x {} \;

Информация:

  1. -type fТолько для обычных файлов (пропустите каталоги, символические ссылки, именованные каналы и сокеты, а также специальные файлы, найденные в / dev)
  2. -iname: Игнорировать регистр в имени
  3. "*.sh": Globbing, говорящий findкоманде о поиске файлов с расширением ".sh"
  4. -exec chmod +x {}: Указывает findкоманде выполнить chmodкоманду для каждого найденного файла. Создание каждого исполняемого файла
  5. \;: Указывает на конец команды
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.