ไดเร็กตอรี่คือ "ไฟล์" แบบพิเศษซึ่งมีรายการชื่อและหมายเลขไอโหนดจะชี้ไปที่ บางชื่ออาจเป็นไดเรกทอรีย่อย มีรายการพิเศษ..
ที่ชี้ไปยังไดเร็กทอรีพาเรนต์
ดังนั้นการเปลี่ยนชื่อไฟล์จึงเป็นเรื่องง่าย: คุณแค่เปลี่ยนชื่อในรายการไดเรกทอรีไม่มีอะไรอื่นอีกแล้ว นี่ถือได้ว่าไฟล์นั้นเป็นไฟล์จริงหรือเป็น "ไฟล์" ที่ใช้ในการจัดเก็บเนื้อหาของไดเรกทอรีอื่น แท้จริงrename
ตึกระฟ้าเดียวกันทำทั้งสองอย่าง
อย่างไรก็ตามการทำสำเนาเป็นการดำเนินการที่ไม่สำคัญมาก คุณสามารถคัดลอกไดเรกทอรี "ไฟล์" แต่แล้วคุณจะมีสองไดเรกทอรีที่ไฟล์เหมือนกัน หากคุณมีระบบที่อนุญาตให้เชื่อมโยงไปยังไดเรกทอรีได้ แต่เนื่องจากไม่มีระบบที่ทันสมัยอนุญาตให้อย่างน้อยก็ไม่ใช่รูทคุณต้องทำสำเนานั้นสำหรับแต่ละไดเรกทอรีย่อย คุณสามารถถามcp
ถึงพฤติกรรมนี้ด้วยcp -lR
: -l
สำหรับฮาร์ดลิงก์-R
สำหรับการสอบถามซ้ำ
แต่การทิ้งทุกอย่างที่เชื่อมโยงไว้นั้นอาจไม่ใช่สิ่งที่คุณต้องการ คุณต้องการcp
คัดลอกแต่ละไฟล์แทน นั่นเป็นการดำเนินการที่ค่อนข้างแพง: แต่ละไฟล์จะต้องอ่านในหน่วยความจำและเขียนกลับไปที่ดิสก์ในตำแหน่งที่สอง จริง ๆ แล้วมันใช้เวลาหลาย syscalls เพื่อเปิดอ่านเขียนและปิดไฟล์และที่จะต้องทำซ้ำสำหรับแต่ละไฟล์
ระบบไฟล์แบบดั้งเดิมทำงานด้วยวิธีนี้บนดิสก์เช่นกัน ไม่มีวิธีการคัดลอกไฟล์จำนวนมากนอกเหนือจากการทำสำเนาแต่ละไฟล์และคัดลอกและเป็นประเภทของระบบไฟล์ที่ใช้งานอยู่เมื่อยูทิลิตี้บรรทัดคำสั่งพื้นฐานถูกออกแบบ
mv
จากระบบไฟล์หนึ่งไปยังอีกระบบหนึ่งเหมือนกัน "เพิ่งเปลี่ยนชื่อในรายการไดเรกทอรี"