Lệnh du
lấy việc sử dụng đĩa của tất cả các file trong thư mục và tất cả các thư mục con (đệ quy) theo mặc định. Vì vậy, thời gian dành cho du
liên quan đến số lượng tệp được phân tích. Các tùy chọn -s
hoặc --summarize
và --max-depth
chỉ ảnh hưởng đến đầu ra của lệnh (và không phải bản thân quá trình quét).
Một số tùy chọn du
giới hạn quá trình quét tệp là --one-file-system, --exclude và --exclude-from.
Nếu bạn không muốn sử dụng lại các thư mục con, bạn có thể sử dụng tìm kiếm thay thế, điều này cho phép bạn kiểm soát nhiều hơn đối với các tệp cần phân tích. Nhưng nó không thể tổng hợp việc sử dụng đĩa một cách đệ quy.
find /path/to/dir -maxdepth 1 -printf "%k\t%p\n"
Thông báo, rằng %k
luôn trở việc sử dụng đĩa trong khối 1k và sử dụng đĩa báo cáo các tập tin thưa thớt có thể ít hoặc hơi lớn thì kích thước tập tin được trả về bởi %s
của lệnh ls
. Do đó '% k' hoạt động như lệnh du
cho các tệp đơn lẻ.
Nếu bạn muốn kết hợp các tính năng của find
và du
, bạn có thể kết hợp cả hai tính năng này với nhau.
find . -maxdepth 1 -name "xyz*" -print0 | du --files0-from=-