리눅스에서 MB 대신 du를 GB로 보는 방법은 무엇입니까?


24

이것은 작동합니다 :

du -cshm .

그러나 이것은 실패합니다.

du -cshg .

GB 단위로 어떻게 볼 수 있습니까?

답변:


41

GNU du에는 다음과 같은 --block-size옵션 이 있습니다.

du -csh --block-size=1G .

마찬가지로 sajb이 주목 블록 크기 인수를 생략하면 자동으로 출력을 스케일링 (과 단위 표시) 것이다. 블록 크기 인수를 사용하면 숫자가 표시되지만 단위는 생략됩니다.


(GNU coreutils)에서 8.25 -h는 작동하지 않았지만 block-size = 1G는 작동하지 않았습니다!
Florian Straub

@FlorianStraub : -h작동하지 않는다는 것이 무엇인지 잘 모르겠습니다 . 출력을 "사람이 읽을 수있는"형식 (즉, 단위 접미사 및 크기 조정)으로 만드는 지원되는 옵션입니다. 그러나 --block-size사용될 때 무시되는 것은 사실입니다 . 이것은 내 대답에 언급되어 있습니다.
추후 공지가있을 때까지 일시 중지되었습니다.

나의 나쁜 : 나는 "-g 작동하지 않았다"를 의미했다
Florian Straub

4

편의상 macOS에 대한 참조는 다음과 같습니다.

  • -h"인간이 읽을 수있는"출력. 바이트, 킬로바이트, 메가 바이트, 기가 바이트, 테라 바이트 및 페타 바이트와 같은 단위 접미사를 사용하십시오.
  • -k 디스플레이 블록 수는 1024 바이트 (1KB) 블록입니다.
  • -m 표시 블록 수는 1,048,576 바이트 (1MB) 블록입니다.
  • -g 표시 블록 수는 1,073,741,824 바이트 (1GB) 블록입니다.

1,234,567 KB파일에 다양한 옵션이 작동하는 방법은 다음과 같습니다 .

$ 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

또한 BLOCKSIZE환경 변수를 통해 암시 적 동작을 구성 할 수 있습니다 .

BLOCKSIZE환경 변수 BLOCKSIZE가 설정되고 -k옵션이 지정되지 않은 경우 블록 수는 해당 크기 블록 단위로 표시됩니다. 경우 BLOCKSIZE설정되지 않으며, -k옵션이 지정되지 않은 블록 수는 표시됩니다 512-byte 블록.


1

사용 du -B1073741824하지만주의하십시오. 결과는 정수 단위로만 제공되며 의미가 없습니다.-h


0

이전 답변 외에도 호스트마다 다른 coreutils 버전 (또는 로캘?)이 다른 것처럼 보입니다.

$ du -csh .
32G     .
32G     total
$ du --version | head -1
du (GNU coreutils) 7.4
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.