du là một công cụ dòng lệnh đi kèm với Linux để báo cáo dung lượng ổ đĩa được sử dụng bởi các thư mục và tệp. Viết tắt của “disk using”, du là công cụ chính để phân tích dung lượng ổ đĩa trong dòng lệnh.
Cách sử dụng cơ bản
du /path/to/directory
Chạy du
lệnh với một thư mục để xem phân tích đầy đủ về dung lượng ổ đĩa được sử dụng bởi mỗi thư mục. Mỗi thư mục sẽ được liệt kê lần lượt ở đầu ra tiêu chuẩn, vì vậy các thư mục lớn hoặc quét toàn bộ hệ thống có thể tạo ra hàng chục nghìn dòng và mất thời gian đáng kể. Do đó, lệnh du cơ bản thường được bổ sung với các cờ được chỉ ra bên dưới. Bất kỳ cờ nào trong số này có thể được kết hợp với bất kỳ cờ nào khác, mặc dù một số kế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 để cho biết 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 về 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 được hiển thị cho đến khi tính được tóm tắt.
du > du-report.txt
Những người chuyên nghiệp về dòng lệnh sẽ nhận ra lệnh này, nhưng không phải ai cũng là người chuyên nghiệp. Thao tác này sẽ xuất kết quả của lệnh thành tệp văn bản trong thư mục làm việc hiện tại có tên “du-report.txt.”
du | less
Chuyển màn hình sang trình soạn thảo ít văn bản hơn, tạo ra kết quả dễ đọc hơn có thể được lướt qua với ít phím tắt điều hướng hơn.
Thay đổi kích thước hiển thị
Lưu ý rằng kích thước tệp thường sẽ được làm tròn khi các đơn vị cụ thể được khai báo. Ví dụ:tệp 4KB sẽ được hiển thị là chiếm 0 megabyte nếu -m
cờ được gọi, trong khi một tệp 750KB sẽ được hiển thị dưới dạng 1MB.
du -h
Hiển thị ở định dạng "con người có thể đọc được" với các kích thước thích hợp được liệt kê, chẳng hạn như kilobyte, megabyte và gigabyte, thay vì kích thước khối tiêu chuẩn.
du -k
Số khối hiển thị trong các khối 1024 byte (1 kilobyte).
du -m
Số khối hiển thị trong các khối 1.048.576 byte (1 megabyte).
du -g
Số khối hiển thị trong các khối 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 trong phân cấp dòng lệnh và tệp. Nếu không, không gian được chiếm bởi chính liên kết tượng trưng sẽ được báo cáo (thường là tối thiểu của hệ thống tệp) chứ không phải là cây thư mục mà liên kết tượng trưng trỏ đến.
du -a
Hiển thị mức sử dụng đĩa cho tất cả các tệp, không chỉ các thư mục.
du /path/to/file.txt
Hiển thị mức 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ừ các tệp và thư mục con theo chỉ định của mẫu. Trong ví dụ này, tất cả các thư mục bao gồm chuỗi “* .o” sẽ bị bỏ qua. Lưu ý rằng đây là các mẫu shell, không phải là biểu thức chính quy. Do đó, các ký tự điều khiển được giới hạn ở *, khớp với bất kỳ chuỗi nào không hoặc nhiều ký tự và?, Khớp với bất kỳ một ký tự nào. Điều này sẽ loại trừ các tệp này khỏi các tính toán về kích thước thư mục. Nếu -a
cờ được sử dụng, các tệp bị loại trừ sẽ bị bỏ qua trong kết quả đầu ra.
du --threshold=SIZE
Loại trừ các mục nhập nhỏ hơn SIZE nếu là số dương hoặc các mục nhập lớn hơn SIZE nếu là số âm. SIZE là một số nguyên và nhận một đơn vị (tùy chọn). Ví dụ:--threshold=1MB
sẽ bỏ qua tất cả các tệp nhỏ hơn 1 megabyte (1000 ^ 2 byte). Các đơn vị bao gồm K, M, G, T, P, E, Z, Y cho các lũy thừa 1024 (kibibyte, mebibyte, gibibyte, v.v.) hoặc KB, MB, GB, TB,… cho các lũy thừa chuẩn hóa hơn là 1000 ( kilobyte, megabyte, gigabyte, v.v.). Đây có thể là một công cụ hữu ích để tìm các tệp lớn nhất trên hệ thống của bạn bằng một lệnh như du --threshold=1GB
.
du -d N
Đặt độ sâu tối đa cho N thư mục. Cờ này có thể nhận bất kỳ số nguyên dương nào. Với cài đặt này, du sẽ quét tối đa hai thư mục con trong thư mục được chỉ định. Nếu các thư mục con khác tồn tại, chúng sẽ không được quét riêng lẻ. Đúng hơn, giá trị của chúng sẽ được bao gồm trong các thư mục được báo cáo. Lưu ý rằng -d 0
sẽ báo cáo kết quả tương tự như -s
cờ.
Ví dụ:hãy xem xét đường dẫn thư mục “dir1 / dir2 / dir3 / dir4,” chứa một thư mục mẹ và ba thư mục con. Với cài đặt du là du -d 2 dir1
sẽ quét xuống dir3. Kích thước của dir3 sẽ bao gồm các tệp trong dir4, mặc dù dir4 không được liệt kê riêng.
Kết luận:Piping du
Lệnh du hữu ích nhất khi được ghép nối với các tiện ích khác, như lệnh du -a / | sort -n -r | head -n 10
. Thao tác này sẽ tìm kiếm toàn bộ hệ thống tệp của bạn (du -a /
), sắp xếp kết quả theo kích thước (sort -n -r
), và sau đó chỉ hiển thị mười kết quả hàng đầu (head -n 10
). Về cơ bản, nó là lối tắt cho mười 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 thông qua các đường ống để tạo ra các kết quả hữu ích hơn nữa.