Команда виконати рекурсивний chmod, щоб зробити всі .sh файли в каталозі виконуваними?


13

Спроба виконати рекурсивний chmod для всіх .sh файлів у каталозі, щоб зробити їх виконаними


Загляньте findі, можливо xargs.
fkraiem

Відповіді:


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.