Bir dizindeki tüm dizinleri seçmek için joker karakter nedir


13

i dosyaları hariç bir dizindeki tüm dizinler için yapışkan bit ayarlamak istiyorum. bunu yapmak için herhangi bir joker var mı?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>

Yanıtlar:


24

*/Yalnızca dizinleri eşleştirmek için kullanın .

chmod g+s /var/www/*/

Tüm dizinleri ve alt dizinleri eşleştirmek için şunu kullanın **/*/( globstarbash'da etkinleştirdiyseniz):

shopt -s globstar
chmod g+s /var/www/**/*/

2
İyi çalışır, ancak genişletilmiş komut satırı uzunluğu komut satırı uzunluk sınırını aşar aşmaz. -> cyberciti.biz/faq/argument-list-too-long-error-solution
— Bonsi Scott

1
evet, bunun farkındayım. Ancak, OP bir "joker" istedi.
— dogbane

Evet! joker, thanq istedi.
— Necktwi

bir joker çözüm istediğini biliyorum. Sadece bazı durumlarda başarısız olacağını belirttim. Diğer, burada görmek için hiçbir eleştiri (ben # henüz yorumladı, çünkü çoğu durumda için bir çalışma çözümü) ^^
— Bonsi Scott

13

find komutunu kullanabilirsiniz, aşağıdaki örneğe bakın

find /var/www/ -type d -exec chmod g+s {} \;

3
Bu güzel, ama henüz bir joker değil - ama pek çok dizin nedeniyle başarısız değil avantajı vardır
— Bonsi Scott

Bunun varsayılan olarak özyinelemeli olduğunu unutmayın. Komutunuzun yalnızca en üst düzeye uygulanmasını istiyorsanız, -maxdepth findargümanı kullanabilirsiniz .
— Kris Harper

0

Bu benim olmayan bir cevap için özür kadar ki ..., bir joker DEĞİLDİR
ls -al |grep ^d | awk '{print$NF}'simdiki tüm dizinleri listeler, bu sürecin istiyorsanız karar vermek size kalmış .ve ..ya bunları soyun.

echo $(ls -al |grep ^d | awk '{print$NF}') joker gibi davranmasını sağlar


Dosyalarınızda öncü veya sondaki boşluk veya satırsonu varsa bu durum bozulur.
— Chris Down
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.