Tôi đã nhận thấy một hành vi lạ với du
lệnh khi nó được sử dụng với -L
tùy chọn dòng lệnh.
Tôi đang sử dụng Slackware 14 và Coreutils 8.19.
Để tái tạo hành vi lạ, tạo hai thư mục:
mkdir foo
mkdir bar
Tạo một tệp trong một trong các thư mục:
perl -e 'print "A"x10000' > foo/text
Và một liên kết tượng trưng trong thư mục khác:
ln -s ../foo/text bar/text
Bây giờ, nếu bạn gõ:
du -h -L bar
Bạn sẽ nhận được:
16k bar
Kể từ khi symlink bị hủy đăng ký. Nhưng nếu bạn gõ:
du -h -L *
Bạn sẽ nhận được:
16K foo
4.0K bar
Và các liên kết tượng trưng sẽ không bị hủy bỏ. Tui bỏ lỡ điều gì vậy?
du
muốn chơi thông minh ở đây, nhưng nếu bạn chạydf -a -L bar foo
đầu ra thì rất sai (đếm 16K trong thanh để trống foo).