ฉันได้อ่านในเว็บไซต์จำนวนมากที่ใน Linux ลิงก์สัญลักษณ์ (ลิงก์นุ่ม ๆ symlink) ก็เหมือนกับตัวชี้ที่อ้างอิงไฟล์อื่นซึ่งอาจอยู่ที่ใดก็ได้ (เช่นทางลัด Windows) อย่างไรก็ตามเมื่อฉันตรวจสอบการใช้งานดิสก์ของโฟลเดอร์ที่มีลิงก์สัญลักษณ์มีความไม่ตรงกันระหว่างสิ่งที่ตัวจัดการไฟล์ของฉันพูดและdu
รายงานอะไร แต่ถ้าฉันพิมพ์du -L
( -L, --dereference; dereference all symbolic links
จากหน้าคน) การส่งออกของdu -L
และขนาดที่รายงานการจัดการไฟล์ของฉันเหมือนกัน
คำถามของฉันคือ : ถ้าฉันมี softlink เป็นไฟล์ขนาดใหญ่เช่นhome
พาร์ติชันแยกฉันจะมีปัญหาหรือไม่?
ตัวอย่าง :
/var/tmp
โฟลเดอร์ของฉันว่างเปล่าตอนนี้ มาสร้างไฟล์กัน
$ cat /some/file.txt > file.txt
$ du -ac
164 ./file.txt
168 .
168 total
และตัวจัดการไฟล์ของฉัน (Thunar ในกรณีนี้) รายงาน
ขนาด: 1 รายการรวมเป็น 163.0 kB
เอาล่ะ ตอนนี้ให้สร้างไฟล์ที่มีขนาดใหญ่มาก/tmp
และเชื่อมโยงกับมัน:
$ cat /dir/really_big.txt > /tmp/heavy.txt
$ du -a | grep heavy.txt
408 ./heavy.txt
$ ln -s /tmp/heavy.txt heavy.txt
$ du -ac
164 ./file.txt
0 ./heavy.txt
168 .
168 total
ทุกอย่างเรียบร้อยดีในตอนนี้ แต่ถ้าฉันเปิดโปรแกรมจัดการไฟล์:
ขนาด: 2 ชิ้นรวมเป็น 570.3 kB
และในที่สุดก็:
$ du -acL
164 ./file.txt
408 ./heavy.txt
576 .
576 total
หากพาร์ติชั่นซึ่ง/var/tmp
ตั้งอยู่ที่ 1 GiB ใหญ่และฉันสร้างลิงค์ไว้ในไฟล์ 1 GiB ฮาร์ดดิสก์ของฉันจะตายหรือไม่? ฉันรู้ว่ามันdu
จะเอาท์พุท 168 และ Thunar 1 GiB แต่ฉันไม่รู้ว่ามันถูกต้อง