Làm cách nào để xem du trong GB thay vì MB trong linux?


24

Những công việc này:

du -cshm .

Nhưng điều này thất bại:

du -cshg .

Làm thế nào tôi có thể nhìn thấy nó trong đơn vị GB?

Câu trả lời:


41

GNU du--block-sizetù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ị.


Tại (GNU coreutils) 8,25 -h không hoạt động, trong khi kích thước khối = 1G thì có!
Florian Straub

@FlorianStraub: Tôi không chắc ý của bạn về việc -hkhô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.
Tạm dừng cho đến khi có thông báo mới.

xấu của tôi: Tôi có nghĩa là "-g đã không làm việc"
Florian Straub

3

Để 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 KBtệ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ù BLOCKSIZEbiến môi trường:

BLOCKSIZENếu biến môi trường BLOCKSIZEđược đặt và -ktù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ếu BLOCKSIZEkhông được đặt và -ktùy chọn không được chỉ định, số khối sẽ được hiển thị trong 512các khối -byte.


1

Sử dụng du -B1073741824nhưng hãy cẩn thận, nó chỉ mang lại kết quả theo đơn vị số nguyên và sẽ không có ý nghĩa với-h


0

Ngoài các câu trả lời trước đó, nó dường như cũng khác nhau giữa các phiên bản coreutils khác nhau (hoặc ngôn ngữ?), Vì trên máy chủ của tôi, tôi nhận được:

$ du -csh .
32G     .
32G     total
$ du --version | head -1
du (GNU coreutils) 7.4
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.