ฉันจะเริ่มจากตัวอย่าง:
$ ls -l dir1
total 4
-rw-r--r-- 4 maythux maythux 1650 2008-01-10 16:33 file
lrwxrwxrwx 1 maythux maythux 7 2008-01-15 15:17 symfile -> file
symfile
เป็น symlink ของไฟล์ file
และอย่างที่ฉันรู้1650
ก็คือขนาดของไฟล์file
แต่จำนวน7
ที่วางไว้ใต้คอลัมน์ขนาดคือเท่าไหร่
แก้ไข: กำลังทำงานdu
:
$ du -sh symfile
0 symfile
แล้วคุณจะพิสูจน์ได้อย่างไรว่า 7 คือขนาด symlink?!
UPDATE:
ลองนี้
$ touch file
$ du -sh file
0 file
$ ls -l file
-rw-rw-r-- 1 maythux maythux 0 Jun 1 19:42 file
ขนาดนั้นก็อยู่ที่นี่ด้วย 0
ขณะนี้:
$ ln -s file sym
$ du -sh sym
0 sym
$ ls -l sym
lrwxrwxrwx 1 maythux maythux 4 Jun 1 19:44 sym -> file
ดังนั้นฉันคิดว่ามันไม่ใช่แค่ขนาด
mkdir foo; ls -ld foo; for i in {1..1000}; do ln -s foo/bar foo/$i; done; ls -ld foo
ตรวจสอบกับ:
7
ขึ้นอยู่กับระบบแฟ้ม (และพารามิเตอร์อื่น ๆ อาจจะ) มันคือ 7 ต่อ ext4 แต่อาจเป็น 13 สำหรับ btrfs และ 3 ใน tmpfs