2011-08-04 12 views
15

yürütmek zorunda dosyalara yürütme izinleri nasıl eklenir:chmod: yinelemeli sadece ben fark zaten izin

chmod -R a+x tüm dosyalara yürütme izinleri ekler, sadece o anda çalıştırılabilir kim.

Yürütme izinlerini, yalnızca kullanıcı izni için önceden yürütme kümesine sahip olan dosyalara eklemenin bir yolu var mı?

find . -type f -perm -o+rx -print0 | xargs -0 chmod a+x 

Güncelleme:

cevap

26

Kullanım find:

find . -perm /u+x -execdir chmod a+x {} \; 
+5

'-execdir' işlevini kullanın; -exec'den daha güvenli. Ayrıca chmod, bir komut satırında birden çok dosyayı kabul ettiğinden, '\' yerine '+' daha iyi performans gösterebilir. – jw013

+0

'+' modundan bahsetmeye teşekkürler! -exec' yerine '-execdir', yine de elde edilen performans avantajını çöker; ve bulmak her neyse, tam dosya yollarını ilettiğinden çok mu önemli? benim için en hızlı komut "... -exec chmod {} +' – codeling

5

Tüm bu dosyaları almak için bulmak kullanabilirsiniz Dosya adlarında boşluk korumak -print0 eklemek

+3

yapmayın bu şekilde, dosya adlarındaki boşluklarla vidalanır. Eğer xargs'a borulamak istiyorsanız, '-print0' bulma seçeneğini ve' -0' xargs seçeneğini kullanın. – Mat

İlgili konular