Vấn đề là các *
là nhận được giải thích bởi shell của bạn và đang mở rộng đến một file có tên TEST_FILE
rằng sẽ xảy ra là trong thư mục làm việc hiện tại của bạn, vì vậy bạn đang nói find
để thực hiện lệnh đặt tên TEST_FILE
mà không tồn tại. Tôi không chắc chắn những gì bạn đang cố gắng thực hiện với điều đó *
, bạn chỉ cần loại bỏ nó.
Ngoài ra, bạn nên sử dụng thành ngữ -exec program '{}' \+
thay vì -exec program '{}' \;
để find
không chia rẽ một quy trình mới cho từng tệp. Với ;
, một quy trình mới được chia nhỏ cho mỗi tệp, trong khi với +
, nó chỉ cung cấp một quy trình và chuyển tất cả các tệp trên một dòng lệnh, cho các chương trình đơn giản như chmod
hiệu quả hơn nhiều.
Cuối cùng, chmod
có thể làm thay đổi recursive ngày của riêng mình với -R
cờ, vì vậy trừ khi bạn cần phải tìm kiếm cho các tập tin cụ thể, chỉ cần làm điều này:
chmod -R 777 /Users/Test/Desktop/PATH
Nguồn
2010-09-30 20:26:06
Hai hình này giống nhau. O_o –
Nếu mac phàn nàn về thao tác không được phép, hãy thực hiện với sudo –