Secara default, du
hanya akan menghitung setiap file sekali jika dikaitkan dengan beberapa kali. Jika Anda menjalankannya du -L bar
akan menghitung file karena hanya mencapainya sekali. Namun, jika Anda menjalankannya du -L *
hanya akan menghitungnya saat pertama kali melihatnya. Sebagai contoh:
$ du -L foo bar
16K foo
4.0K bar
$ du -L bar foo
16K bar
4.0K foo
Perhatikan bahwa bertukar urutan argumen mengubah folder mana yang dilaporkan sebagai 16K.
Anda dapat memaksa du
untuk menghitung file dua kali dengan melewati -l
parameter.
Edit:
Tautan simbolik adalah jenis file khusus, dan diperlukan langkah ekstra untuk mengikuti tautan tersebut. du
tidak akan mengikuti tautan simbolik kecuali -L
opsi diaktifkan.
Tautan keras di sisi lain, pada dasarnya adalah satu file yang ada di dua (atau lebih) folder. du
mungkin melacak file mana yang telah dilihatnya dengan nomor inode untuk menghindari penghitungan dua kali ini. -l
menonaktifkan perilaku ini.
Jadi, hanya dengan -L
itu, ia akan mengikuti tautan simbolik, tetapi jika file target memiliki nomor inode, ia sudah melihatnya tidak akan dihitung ulang. Hanya dengan -l
itu akan menghitung duplikat tautan keras, tetapi tidak akan mengikuti tautan simbolis.
Jika Anda menggunakan -l
dan -L
bersama - sama, keduanya akan mengikuti tautan simbolik, dan juga memungkinkan penghitungan file target lebih dari satu kali.
du
ingin bermain pintar di sini, tetapi jika Anda menjalankandf -a -L bar foo
output sangat salah (menghitung 16K di bar meninggalkan foo kosong).