du là công cụ dòng lệnh đi kèm Linux báo cáo dung lượng ổ cứng được sử dụng bởi thư mục và tệp. Viết tắt của "disk usage" (sử dụng đĩa), du là công cụ chính để phân tích không gian đĩa trong dòng lệnh.
Cách Sử Dụng Cơ Bản
du /path/to/directory
Chạy lệnh du với một thư mục để xem phân tích đầy đủ dung lượng đĩa mà mỗi thư mục chiếm. Mỗi thư mục sẽ được liệt kê lần lượt trong đầu ra chuẩn, nên thư mục lớn hoặc quét toàn hệ thống có thể tạo ra hàng chục ngàn dòng và mất thời gian đáng kể. Do đó, lệnh du cơ bản thường được bổ sung bằng các cờ (flags) như sau. Bất kỳ cờ nào cũng có thể kết hợp với cờ khác, tuy nhiên một số tổ hợp loại trừ nhau vì chúng mâu thuẫn.
Kiểm Soát Đầu Ra

du -c
Hiển thị một dòng ở cuối đầu ra du để chỉ ra tổng dung lượng đĩa được sử dụng bởi các thư mục được quét.
du -s
Chỉ hiển thị tóm tắt tổng dung lượng đĩa được sử dụng bởi thư mục được chỉ định. Không có đầu ra nào cho đến khi tóm tắt được tính xong.
du > du-report.txt
Chuyên gia dòng lệnh sẽ nhận ra lệnh này, nhưng không phải ai cũng là chuyên gia. Lệnh này sẽ xuất kết quả lệnh ra tệp văn bản trong thư mục làm việc hiện tại tên là "du-report.txt".
du | less
Chuyển đầu ra đến trình soạn thảo văn bản less, tạo kết quả dễ đọc hơn, có thể lướt qua với phím tắt điều hướng của less.
Thay Đổi Hiển Thị Kích Thước

Lưu ý rằng kích thước tệp thường được làm tròn khi khai báo đơn vị cụ thể. Ví dụ, tệp 4KB sẽ hiển thị chiếm 0 megabyte nếu cờ -m được gọi, trong khi tệp 750KB sẽ hiển thị là 1MB.
du -h
Hiển thị theo định dạng "human readable" (dễ đọc cho con người) với kích thước phù hợp như kilobyte, megabyte, gigabyte, thay vì kích thước block chuẩn.
du -k
Hiển thị số block theo block 1024-byte (1 kilobyte).
du -m
Hiển thị số block theo block 1.048.576-byte (1 megabyte).
du -g
Hiển thị số block theo block 1.073.741.824-byte (1 gigabyte).
Bao Gồm Tệp Và Liên Kết

du -L
Theo dõi (hoặc "dereference") các liên kết tượng trưng (symbolic links) trong dòng lệnh và hệ thống phân cấp tệp. Nếu không, dung lượng mà chính liên kết tượng trưng chiếm (thường là tối thiểu của hệ thống tệp) sẽ được báo cáo thay vì cây thư mục mà liên kết trỏ đến.
du -a
Hiển thị sử dụng đĩa cho tất cả tệp, không chỉ thư mục.
du /path/to/file.txt
Hiển thị sử dụng đĩa của một tệp cụ thể, như được đặt tên trong lệnh.
Loại Trừ Tệp, Thư Mục, Và Liên Kết

du -X FILE
Loại trừ các tệp khớp với bất kỳ mẫu nào trong chuỗi được chỉ định.
du --exclude="*.o"
Loại trừ tệp và thư mục con như được chỉ định bởi mẫu. Trong ví dụ này, tất cả thư mục chứa chuỗi "*.o" sẽ bị bỏ qua. Lưu ý đây là mẫu shell, không phải biểu thức chính quy. Các ký tự điều khiển giới hạn ở *, khớp với bất kỳ chuỗi nào độ dài zero hoặc hơn, và ?, khớp với bất kỳ ký tự đơn nào. Điều này sẽ loại trừ các tệp này khỏi tính toán kích thước thư mục. Nếu cờ -a được dùng, các tệp bị loại trừ sẽ bị bỏ qua trong đầu ra kết quả.
du --threshold=SIZE
Loại trừ các mục nhỏ hơn SIZE nếu dương, hoặc lớn hơn SIZE nếu âm. SIZE là số nguyên và nhận một đơn vị (tùy chọn). Ví dụ, --threshold=1MB sẽ bỏ qua tất cả tệp nhỏ hơn 1 megabyte (1000^2 byte). Đơn vị bao gồm K, M, G, T, P, E, Z, Y cho lũy thừa của 1024 (kibibyte, mebibyte, gibibyte, v.v.) hoặc KB, MB, GB, TB, ... cho lũy thừa chuẩn của 1000 (kilobyte, megabyte, gigabyte, v.v.). Đây có thể là công cụ hữu ích để tìm các tệp lớn nhất trên hệ thống với lệnh như du --threshold=1GB.
du -d N
Đặt độ sâu tối đa là N thư mục. Cờ này nhận bất kỳ số nguyên dương nào. Với thiết lập này, du sẽ quét xuống tối đa hai thư mục con trong thư mục được chỉ định. Nếu tồn tại thư mục con sâu hơn, chúng sẽ không được quét riêng lẻ. Thay vào đó, giá trị của chúng sẽ được bao gồm trong các thư mục được báo cáo. Lưu ý -d 0 sẽ cho kết quả giống cờ -s.
Ví dụ, xét đường dẫn thư mục "dir1/dir2/dir3/dir4", chứa một thư mục cha và ba thư mục con. Với thiết lập du -d 2 dir1 sẽ quét xuống dir3. Kích thước dir3 sẽ bao gồm tệp trong dir4, dù dir4 không được liệt kê riêng.
Kết Luận: Pipe du
Lệnh du hữu ích nhất khi kết hợp với các tiện ích khác, như lệnh du -a / | sort -n -r | head -n 10. Lệnh này sẽ tìm kiếm toàn bộ hệ thống tệp (du -a /), sắp xếp kết quả theo kích thước (sort -n -r), và chỉ hiển thị 10 kết quả hàng đầu (head -n 10). Về cơ bản, đây là cách tắt để tìm 10 tệp lớn nhất trên máy của bạn. Kết hợp du với các lệnh khác qua pipe để tạo ra kết quả hữu ích hơn nữa.