เรียกใช้ Chmod แยกกันสำหรับไฟล์และไดเร็กทอรี
หากคุณเป็นผู้ใช้ Linux คุณอาจเคยได้ยินเกี่ยวกับแอปคอนโซล chmod. เป็นเครื่องมือที่มีประโยชน์ซึ่งอนุญาตให้เปลี่ยนการอนุญาตระบบไฟล์โดยใช้เทอร์มินัลเซสชันหรือเทอร์มินัลอีมูเลเตอร์ เมื่อคุณเรียกใช้ มันจะเปลี่ยนการอนุญาตที่คุณระบุในไฟล์และไดเร็กทอรีทั้งหมดในครั้งเดียว แต่คุณอาจต้องเปลี่ยนการอนุญาตไฟล์แยกต่างหากจากการอนุญาตไดเรกทอรีและในทางกลับกัน นี่คือวิธีที่สามารถทำได้
มีหลายวิธีที่จะทำ แต่วิธีที่ฉันชอบและน่าเชื่อถือที่สุดคือการรวม chmod กับ xrags และ หา เครื่องมือ คำสั่งต่อไปนี้จะแก้ไขการอนุญาตสำหรับไฟล์เท่านั้น
ค้นหา /path/to/location -type f -print0|xargs -0 chmod 644
ที่นี่ หา คำสั่งแสดงรายการไฟล์ทั้งหมดในตำแหน่งที่ระบุ สวิตช์ -type f บอกให้แสดงรายการเฉพาะไฟล์และไม่รวมไดเร็กทอรี สวิตช์ -print0 ช่วยให้สามารถประมวลผลชื่อไฟล์ในลักษณะที่ชื่อไฟล์หรือไดเร็กทอรีที่มีช่องว่างหรือบรรทัดใหม่ได้รับการจัดการอย่างถูกต้อง
คำสั่งที่เหมาะสมที่คล้ายกันสามารถใช้สำหรับไดเร็กทอรีได้เช่นกัน ส่วนเดียวที่คุณต้องเปลี่ยนคือ -type f เป็น -type d:
ค้นหา /path/to/location -type d -print0 |xargs -0 chmod 755
เคล็ดลับ: คุณสามารถประหยัดเวลาและพิมพ์น้อยลงโดยใช้เคล็ดลับนี้
- ขั้นแรก ใช้สิทธิ์ระบบไฟล์กับไฟล์และโฟลเดอร์โดยเรียกใช้ chmod ในโหมดเรียกซ้ำ:
chmod -R 644 /path/to/location
มันจะใช้การอนุญาต rw-r-r กับไฟล์และโฟลเดอร์ทั้งหมดในตำแหน่งที่ระบุ
- ถัดไป รันคำสั่งสำหรับไดเร็กทอรีเท่านั้น:
ค้นหา /path/to/location -type d -print0 |xargs -0 chmod 755
แค่นั้นแหละ.