사람이 읽을 수 있는 좀 더 세밀한 "du"를 사용하세요.

사람이 읽을 수 있는 좀 더 세밀한 "du"를 사용하세요.

du -h때로는 사람이 읽을 수 있는 옵션이 더 많았으면 좋겠어요.세분화된여전히 사람이 읽을 수 있습니다.

표시하는 대신:

 14G

다음과 같은 내용이 표시됩니다.

14G 236M 788k 110b

이를 달성하는 간단하고 간단한/표준 방법이 있습니까?

답변1

음, 있는 것 같군요아니요이 작업을 수행하는 간단하고/간단하며/표준적인 방법입니다.

대체 옵션은 다음과 같습니다(크레딧높은의,양탄자의,저우 웨이쥔'모래박사 학위댓글:):

  • bash/awk/python/에 전용 소형 변환기 유틸리티 작성등.하도록 하다:

    $ echo "789456" | utility  
    770K 976o
    

    그런 다음 du파이프를 통한 출력으로 변환됩니다. 당신은 영감을 얻을 수 있습니다관련된 질문. 잘 실행된다면 다음과 같이 파이프로 연결된 모든 명령의 출력을 구문 분석할 수도 있습니다.

    $ du -s | utility
    $ ls -la | utility
    

    컴퓨터에 영구적으로 별칭을 추가할 수도 있습니다.

    duH() du -s $@ | utility
    
    • 이점:원하는 언어로 쉽게 작성할 수 있습니다.
    • 결점:모든 명령 옵션( du -s, du -hc, du --si)에 적응하는 데 어려움이 있습니다. 모든 명령 출력( ls -lah, rsync)을 구문 분석하여 바이트를 나타내는 숫자 문자열을 찾고 레이아웃을 손상시키지 않고 변환해야 합니다.
  • 입력하다coreutils소스 코드를 작성하고 필요에 맞는 새로운 관련 옵션을 추가하세요. 당신은 한 번 살펴보고 싶을 수도 있습니다 ./lib/human.c. 그런 다음 수정 하면 ./configure문제 가 되므로 이제 이 옵션이 컴퓨터에 구현됩니다.makemake installdu

    • 이점:매우 간단하고 빠르며 통합되어 있습니다. 향후 표준 패치로 제공될 수 있나요 du?
    • 결점:C기존 코드를 먼저 이해하고, 깨지지 않도록 이해해야 합니다 . coreutils이를 사용해야 하는 모든 컴퓨터에 자신의 버전을 다시 설치 해야 합니다 .

지금으로서는 이에 대해 조만간 논의하지 않겠습니다. 어쨌든 여기에 자신만의 솔루션이나 대체 해결 방법을 게시해 주시기 바랍니다. :)

관련 정보