apa kartu liar untuk memilih semua direktori dalam direktori


13

saya ingin mengatur bit lengket untuk semua direktori dalam direktori tidak termasuk file. apakah ada kartu liar untuk melakukan ini?

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

Jawaban:


24

Gunakan */untuk mencocokkan hanya direktori.

chmod g+s /var/www/*/

Untuk mencocokkan semua direktori dan penggunaan subdirektori **/*/(asalkan Anda telah globstarmengaktifkan bash):

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

2
Berfungsi dengan baik, tetapi akan pecah segera setelah panjang baris perintah yang diperluas melebihi batas panjang baris perintah. -> cyberciti.biz/faq/argument-list-too-long-error-solution
Bonsi Scott

1
ya, saya sangat sadar akan hal itu. Namun, OP meminta "wildcard".
dogbane

ya! saya meminta wildcard, thanq.
Necktwi

saya tahu bahwa dia meminta solusi wildcard. Saya hanya menunjukkan bahwa itu akan gagal dalam beberapa keadaan. Selain itu, tidak ada kritikan yang bisa dilihat di sini (saya sudah berkomentar namun dibalik, karena ini adalah solusi yang bagus untuk sebagian besar kasus) ^^
Bonsi Scott

13

Anda dapat menggunakan find, lihat contoh di bawah ini

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

3
Ini bagus, namun bukan wildcard - tetapi memiliki keuntungan karena tidak gagal karena banyak direktori
Bonsi Scott

Perhatikan bahwa ini bersifat rekursif secara default. Jika Anda hanya ingin perintah Anda diterapkan ke tingkat atas, Anda dapat menggunakan -maxdepth findargumen.
Kris Harper

0

Ini BUKAN wildcard, jadi saya minta maaf atas tidak dijawab, namun ...
ls -al |grep ^d | awk '{print$NF}'akan mencantumkan semua direktori dalam direktori saat ini, terserah Anda untuk memutuskan apakah Anda ingin memproses .dan ..atau menghapusnya.

echo $(ls -al |grep ^d | awk '{print$NF}') tidak membuatnya berperilaku seperti wildcard


Ini akan rusak jika file Anda memiliki spasi spasi, atau baris baru.
Chris Down
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.