Lệnh thực hiện một chmod đệ quy để tạo tất cả các tệp .sh trong một thư mục có thể thực thi được không?


13

Cố gắng thực hiện một chmod đệ quy trên tất cả các tệp .sh trong một thư mục để làm cho chúng có thể thực thi được


Nhìn vào findvà có thể xargs.
fkraiem

Câu trả lời:


25

Để thực hiện điều này, bạn có thể sử dụng findlệnh và tìm kiếm tất cả các tệp có .shphần mở rộng và sau đó chạy chmodlệnh trên mỗi tệp được tìm thấy:

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

Thông tin:

  1. -type f: Chỉ các tệp bình thường (bỏ qua thư mục, liên kết tượng trưng, ​​ống và ổ cắm có tên và các tệp đặc biệt được tìm thấy trong / dev)
  2. -iname: Bỏ qua trường hợp trong tên
  3. "*.sh": Globbing, thông báo findlệnh tìm kiếm tệp có phần mở rộng ".sh"
  4. -exec chmod +x {}: Điều này cho biết findlệnh thực hiện một chmodlệnh trên mỗi tệp được tìm thấy. Làm cho mỗi thực thi
  5. \;: Biểu thị kết thúc lệnh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.