ฉันต้องการตั้งค่า bit bit สำหรับไดเรกทอรีทั้งหมดในไดเรกทอรีที่ไม่รวมไฟล์ มีไวลด์การ์ดในการทำเช่นนี้หรือไม่?
#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>
ฉันต้องการตั้งค่า bit bit สำหรับไดเรกทอรีทั้งหมดในไดเรกทอรีที่ไม่รวมไฟล์ มีไวลด์การ์ดในการทำเช่นนี้หรือไม่?
#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>
คำตอบ:
ใช้*/
เพื่อจับคู่ไดเรกทอรีเท่านั้น
chmod g+s /var/www/*/
เพื่อให้ตรงกับทุกไดเรกทอรีและไดเรกทอรีย่อยใช้**/*/
(ให้คุณได้globstar
เปิดใช้งานในทุบตี):
shopt -s globstar
chmod g+s /var/www/**/*/
คุณสามารถใช้ค้นหาดูตัวอย่างด้านล่าง
find /var/www/ -type d -exec chmod g+s {} \;
-maxdepth
find
อาร์กิวเมนต์
นี้ไม่ได้เป็นตัวแทนดังนั้นฉันขอโทษสำหรับที่ไม่ใช่คำตอบ แต่ ...
ls -al |grep ^d | awk '{print$NF}'
จะมีรายการไดเรกทอรีทั้งหมดใน dir ปัจจุบันมันก็ขึ้นอยู่กับคุณที่จะตัดสินใจว่าคุณต้องการที่จะดำเนินการ.
และ..
หรือดึงพวกเขา
echo $(ls -al |grep ^d | awk '{print$NF}')
มันทำให้มันทำงานเหมือนไวด์การ์ด