왜 '-사람이 읽을 수있는'것이 필요하며 기본값이 아닌가?


56

여러 명령 줄 도구는 -h또는 --human-readable옵션을 사용하여 사람이 읽을 수있는 형식 (예 : 36Gvs 37550836) 으로 파일 크기를 인쇄합니다 .

  • 이 옵션이 필요한 이유는 무엇입니까?
  • 이 도구는 주로 인간에게 출력하기위한 도구가 아닙니까?

답변:


75
  1. 원래 존재하지 않았으므로 기본 동작은 이전 버전과 호환됩니다. 또한 모든 유닉스 변형에 존재하지 않기 때문에 기본 동작은 다른 유닉스 변형과 호환됩니다.
  2. 많은 도구의 경우 다른 도구로 구문 분석 할 수 있기 때문입니다. 의 경우는 드물지만 ls출력을 구문 분석 du하거나 df비교적 일반적입니다. ( 분석 할 때 df사용해야합니다 df -P.)
  3. 일부 사람은 37550836 형식을 선호하기 때문에 이러한 숫자를 볼 때 상대 크기는 시각적으로 명확합니다 (숫자 수).

22
특히 3) sort -n각 디렉토리의 대략적인 크기와 하위 디렉토리가 불균형 적으로 너무 많은 공간을 차지하는 디렉토리에 대한 관심이 적기 때문에 출력을 똑바로 파이프로 연결하면 ...
Shadur

8
@Shadur 아 그러나 정렬 -h도 너무 걸립니다 !
quodlibetor

3
필자는 2 (예 : 스크립팅)가 주된 이유라고 생각합니다.
sml

@quodlibetor 어떤 OS / 디스트로? kubuntu lucid sort는 -h를 허용하지 않으며 동등한 것을 볼 수 없습니다.
Joe

7
@ user23861 sort -h은 GNU coreutils 7.5에서 도입되었습니다. Lucid는 7.4이므로 우분투에서는 적어도 매버릭이 필요합니다.
Gilles

13

사용자 환경에서 BLOCKSIZE = human-readable를 설정하면 최소한 GNU coreutils의 명령에 대한 기본값이됩니다 (예 : bash put을 사용하는 경우).

export BLOCKSIZE=human-readable

$ HOME / .bashrc 파일에.


2
처럼 보이는 BLOCKSIZE=h충분한 수 있습니다. 그러나 좋은 팁!
Mikel

문서는 제안한다 BLOCK_SIZE=human-readable. 또한 읽을 때까지 수천 구분 기호 지원에 대해 알지 못했습니다.
Mikel


@jameslin : 이것은 GNU coreutils 특정 변수 일 수 있습니다. 별명을 만들 수 있습니다 ...
Thor

6

Gilles가 말한 것 외에 :

hdd를 발명 한 이러한 도구가 오늘날과 비교하여 매우 작을 때. 400000과 같은 숫자를 읽는 데 도움이 필요하지 않았습니다.

그리고 마음에 들지 않으면 별칭 시스템을 사용하십시오. 홈 디렉토리에서

edit ~/.bashrc 

예를 들어 다음과 같이 삽입하십시오.

alias df='df -h'
alias du='du -h'

다른 많은 언어와 달리 할당 연산자 앞뒤에 공백을 사용할 수 없습니다 (등호).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.