왜`df`가“Bi”를 바이트의 약어로 사용합니까?


8

분명히 df각 크기의 대문자 뒤에 "i"를 넣습니다. 이는 킬로바이트 / 키비 바이트, 기가 바이트 / 기가 바이트 및 Mebibytes ( "Mi"가 의미하는 경우)에 적합합니다. 그러나 왜 바이트에 "Bi"를 사용합니까?

예를 들어, 내 결과 중 일부 df -h는 다음과 같습니다.

map auto_home           0Bi    0Bi    0Bi   100%       0          0  100%   /home

1
결과는 df -H무엇입니까? RTM- h옵션 출력은 기본 2이고 H옵션 출력은 기본 10입니다.
fd0

답변:


9

십진수 값과 이진 접두어 의 차이점 입니다. 이 경우 0 이진 바이트를 사용하고 있다는 의미입니다.

차이점이 뭐야?

예를 들어 "Giga"를 사용한다는 것은 1000 3 의 무언가 (즉, Gigahertz)를 의미합니다.

컴퓨터에서는 흥미로운 문제가 있습니다.

기가 바이트는 1000 3 바이트입니다. 그러나 바이트는 8 (바이너리) 비트입니다. 이는 기술적으로 1024 3 바이트 임을 의미합니다 . 이를 설명하기 위해 다른 표기법을 사용합니다.

  • 기가는 10 진수 (10 진법)
  • Gibi는 이진수입니다 (기본 2)

출력은 바이너리 단위를 사용하고 있음을 알려줍니다.

"사람이 읽을 수있는 10 진수 표기법"으로 출력하려면 대문자 "H"를 사용하십시오.

$ df -H
/dev/disk2      1.1T   413G   706G    37% 100935848 172431606   37%   
map auto_home     0B     0B     0B   100%         0         0  100%   /home

마지막으로, 그것은 실제로 Apple 협약이 아니라 BSD의 것입니다 (BSD 명령입니다). 자세한 내용은 매뉴얼 페이지 ( man df) 에서 찾을 수 있습니다 .


8
이것이 어떻게 질문에 대답하는지 이해하지 못합니다. 영업 이익은 그들이 차이를 알고 분명하게 1GB하고 1GiB. 질문 : 차이 무엇 1Bi하고 1B? 왜 두 개의 다른 기호입니까?
Federico Poloni

5
"기가 바이트는 1000 ^ 3 바이트입니다. 그러나 바이트는 8 (바이너리) 비트입니다. 기술적으로 1024 ^ 3 바이트입니다." -8 비트 바이트가 1000 ^ 3 대신 1024 ^ 3을 의미하는 기가 바이트로 이어지는 방법을
모르겠습니다

@marcelm 기가 바이트 = 1024MB. 메가 바이트 = 1024 킬로바이트. 킬로바이트 = 1024 바이트 1024 = 2 ^ 10.
Dmitry Kudriavtsev

3
@marcelm 당신은 맞습니다, 그건 비평 행입니다. 메모리 (RAM)는 칩의 제조 방식으로 인해 항상 2의 배수의 배수로 측정되었습니다. 회전하는 디스크의 공간은 물리적 표면적과 비트 밀도에 의존하기 때문에 반드시 필요한 것은 아닙니다. 따라서 디스크 제조업체는 상자의 숫자가 더 잘 보이도록 1000의 거듭 제곱을 사용하기로 결정했습니다. "Gibi"와 유사한 접두사는 그것들을 구별하려고하는 소급 적 창조물이지만, 분명히 그것들은 일을 더 혼란스럽게 만듭니다.
BradC

1
초기에 2 ^ x 숫자에 10 진수 접두사가 사용 된 실제 이유는 2 ^ 10 ~ 10 ^ 3입니다.
klanomath

5

Bi 는 1000 0 바이트 대신 1024 0 바이트 단위임을 의미합니다 .

즉, 그들은 같은 단위이지만 0이 아닌 지수를 의미하는 큰 접두사를 사용하지는 않습니다. df2의 제곱 모드에있을 때 일관성을 유지하기위한 방법으로, 그것은 단지 장난 처럼 보입니다 .

이는 비트 단위 나 바이트 단위로 사용하기 위해 미터법 또는 IEC "Bi"단위가없고 "i"로 끝나는 2 자리 IEC 접두사 만 있습니다. (예 : mebibytes 또는 mebibits의 경우 Mi.) 아니요, 똑바로 얼굴을 비 아이러니하게 말하지 않아도됩니다.

"iB"가 더 의미가있을 수 있지만 (접두사가없는 이진 바이트), 그것은 또한 중요하지 않습니다.


2
그렇다면 "iB"가 아니어야합니까? ;)
Cai

1024 ^ 0은 정확히 1000 ^ 0 (= 1)과 같으므로 설명하지 않습니다. 이진 바이트를 나타내는 용어 / 기호는 없습니다 ( 바이트는 본질적으로 이진을 의미 하기 때문에 ) giga를 예로 사용했습니다. 이진수 0과 십진수 0이 같고 혼동 될 수 있으므로 0을 나타내는 것이 훨씬 더 어렵습니다.
Allan

@Cai : IEC 접두사에는 항상 "i"가 접두사와 함께 포함되어 있고 "iB"기본 장치는 언급하지 않았습니다. 업데이트 된 답변을 참조하십시오. 그러나 그렇습니다. 물론,이 문맥 (FreeBSD / OS X df출력)에서 이것이 의미하는 바입니다.
Peter Cordes

1
아마도 iB는 허수 바이트입니까?
Federico Poloni
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.