หากคุณเป็นผู้ใช้ 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
แค่นั้นแหละ.