Câu trả lời:
Theo như một phiên bản tối ưu hơn du
, tôi không biết về một phiên bản . Những điều mà tôi suy nghĩ là:
stat -c '%h'
) - 2.Trong số này, các tùy chọn hạn ngạch và phân vùng chuyên dụng có lẽ là dễ nhất và hiệu quả nhất.
Vấn đề là 'du' phải liệt kê mọi đối tượng trong cây con. Đây là một hoạt động chuyên sâu về siêu dữ liệu và mất một thời gian cho hầu hết các hệ thống tệp Linux. Một số hệ thống tập tin, NSS của NTFS và Novell xuất hiện, có khả năng theo dõi các kích thước thư mục như thế này trong siêu dữ liệu giúp thao tác này nhanh hơn rất nhiều. Nói chung, nếu hệ thống tệp của bạn hỗ trợ hạn ngạch thư mục thuộc loại nào đó, thì nó phải theo dõi dữ liệu này trong nội bộ để thực thi, mọi thay đổi kích thước được sao chép lên cây thư mục đến điểm hạn ngạch (NTFS) hoặc mọi thư mục (NSS ) khi nó xảy ra, vì vậy nhận được kích thước cây thư mục là rất nhanh.
Thật không may, không có cách nào để khiến du chạy nhanh hơn, chỉ là công việc.
du -h --max-depth=1
Cung cấp cho bạn các kích thước ở định dạng KB / MB / GB của con người từ thư mục làm việc hiện tại của bạn.
Với các công cụ tiêu chuẩn, bạn phải lấy kích thước của mỗi tệp trong thư mục mỗi lần bạn muốn biết tổng kích thước. Một cách hiệu quả hơn có thể làm là có một "màn hình kích thước thư mục", theo dõi kích thước hiện tại của thư mục. Không có điều đó (mà tôi biết), nhưng bạn có thể thực hiện một với inotify
. Có thể không phải với bash (và inotify-tools
), nhưng bạn có thể sử dụng python và pyinotify chẳng hạn.
nếu bạn chỉ muốn sử dụng đĩa cho hệ thống tập tin gốc, thì
df -h /
Không. Bạn có thể định kỳ thực hiện một hành trình đến một tệp văn bản, trong một công việc định kỳ được thiết lập để chạy qua đêm, vì vậy bạn không có sẵn dữ liệu hiện tại ngay lập tức?
Lưu ý rằng việc đo dung lượng ổ đĩa được sử dụng bởi một thư mục chứa một lượng lớn tệp không có trong Windows tương tự sẽ mất một thời gian.
df -h sẽ thực hiện các mẹo
df -kh /
điều này sẽ cho bạn thấy không gian đĩa được sử dụng và có sẵn.
Có lẽ
df -h
văn bản bổ sung vì một câu trả lời ngắn gọn, súc tích không đủ để serverfault nghĩ tôi là con người.
Bạn nên sử dụng dnotify để tính toán mức sử dụng đĩa nếu hệ thống tập tin không được thay đổi thường xuyên.