Câu trả lời:
GNU du
có --block-size
tùy chọn:
du -csh --block-size=1G .
Như sajb đã lưu ý, bỏ qua đối số kích thước khối sẽ tự động chia tỷ lệ đầu ra (và hiển thị đơn vị). Sử dụng bất kỳ đối số kích thước khối sẽ hiển thị số nhưng bỏ qua đơn vị.
-h
không hoạt động. Đây là một tùy chọn được hỗ trợ làm cho đầu ra ở dạng "con người có thể đọc được" (nghĩa là có hậu tố đơn vị và tỷ lệ). Nhưng sự thật là nó bị bỏ qua khi --block-size
được sử dụng. Điều này được ghi nhận trong câu trả lời của tôi.
Để thuận tiện, đây là tài liệu tham khảo cho macOS:
-h
Đầu ra "con người có thể đọc được". Sử dụng hậu tố đơn vị: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte và Petabyte.-k
Số lượng khối hiển thị trong các khối 1024 byte (1-Kbyte).-m
Số lượng khối hiển thị trong các khối 1.048.576 byte (1 Mbyte).-g
Số lượng khối hiển thị trong các khối 1.073.741.824 byte (1 Gbyte).Đây là cách các tùy chọn khác nhau làm việc cho một 1,234,567 KB
tệp:
$ mkfile -n 1234567k file.txt
$ du file.txt
2469136 file.txt
$ du -k file.txt
1234568 file.txt
$ du -m file.txt
1206 file.txt
$ du -g file.txt
2 file.txt
$ du -h file.txt
1.2G file.txt
Cũng đáng chú ý, bạn có thể định cấu hình hành vi ngầm mặc dù BLOCKSIZE
biến môi trường:
BLOCKSIZE
Nếu biến môi trườngBLOCKSIZE
được đặt và-k
tùy chọn không được chỉ định, số khối sẽ được hiển thị theo đơn vị của khối kích thước đó. NếuBLOCKSIZE
không được đặt và-k
tùy chọn không được chỉ định, số khối sẽ được hiển thị trong512
các khối -byte.