it-swarm.dev

명령 행에서 디렉토리의 크기를 어떻게 얻습니까?

옵션 ls과 함께 l 명령을 사용하여 디렉토리 (디렉토리 및 서브 디렉토리 포함)의 크기를 얻으려고했습니다. 파일에서 작동하는 것 같습니다 (ls -l file name)이지만 디렉토리의 크기를 가져 오려고하면 (예 : ls -l /home), 4096 바이트 만 가져옵니다.

1142
Abdul Al Hazred

du -sh file_path

설명

  • du (d isc sage) 명령은 file_path 공간 사용량을 추정합니다.
  • 옵션 -sh 출신 man du) :

      -s, --summarize
             display only a total for each argument
    
      -h, --human-readable
             print sizes in human readable format (e.g., 1K 234M 2G)
    

    둘 이상의 디렉토리를 확인하고 총계를 보려면 du -sch :

      -c, --total
             produce a grand total
    
1585
sam

du 명령을 사용하십시오 :

du -sh -- *

현재 디렉토리에서 숨겨지지 않은 모든 디렉토리, 파일 등을 사람이 읽을 수있는 형식으로 누적 디스크 사용량을 제공합니다.

df 명령을 사용하여 디렉토리를 포함하는 파일 시스템의 여유 공간을 알 수 있습니다.

df -h .
347
Pacifist

du는 당신의 친구입니다. 디렉토리의 전체 크기를 알고 싶다면 디렉토리로 이동하여 다음을 실행하십시오.

du -hs

어떤 하위 폴더가 얼마나 많은 디스크 공간을 차지하는지 알고 싶다면?! 이 명령을 확장하여 다음을 수행 할 수 있습니다.

du -h --max-depth=1 | sort -hr

모든 하위 폴더의 크기를 제공합니다 (수준 1). 출력이 정렬됩니다 (맨 위의 가장 큰 폴더).

212
Chrispie

du는 괜찮은 결과를 얻기 위해 100 개의 인수를 전달해야하므로 사용하기가 복잡 할 수 있습니다. 숨겨진 폴더의 크기를 파악하는 것은 훨씬 더 어렵습니다.

삶을 편하게 만들고 ncdu를 사용하십시오.

ncdu

쉽게 찾아 볼 수있는 폴더 별 요약을 얻을 수 있습니다.

77
Teque5

다른 사람들은 du에 대해 언급했지만 Ncd -du의 ncurses 버전이며 대화 형 기능을 제공합니다. 디렉토리 계층 구조를 직접 탐색 할 수 있습니다. 하위 디렉토리의 크기를 참조하십시오.

35
Tblue

du 명령은 파일의 디스크 사용량을 보여줍니다.

-h 옵션은 사람이 읽을 수있는 형태 (예 : 4k, 5M, 3G)로 결과를 표시합니다.

du -h (file name)
28
jackotonye

위의 모든 예는 데이터 크기 디스크에서 (즉, 특정 파일이 사용하는 디스크 공간의 크기, 일반적으로 실제 파일 크기보다 큼)를 알려줍니다. 데이터가 실제로이 특정 디스크에 저장되지 않고 inode 참조 만 존재하는 경우, 정확한 보고서를 제공하지 않는 상황이 있습니다.

예를 들어, 단일 파일에서 ls -l을 사용했습니다. 그러면 파일의 크기가 아닌 디스크의 실제 크기가 반환됩니다.

실제 파일 크기를 알고 싶다면 du에 -b 옵션을 추가하십시오.

du -csbh .
24
Andy Foster

개인적으로 ncdu를 사용하고 싶지 않다면 이것이 최선이라고 생각합니다

# du -sh ./*
17
ConnerMan
df -h .; du -sh -- * | sort -hr

이것은 현재 드라이브에 남은 디스크 공간을 보여주고 모든 파일/디렉토리가 차지하는 양을 알려줍니다. 예 :

Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb2       206G  167G   29G  86% /
115M    node_modules
2.1M    examples
68K     src
4.0K    webpack.config.js
4.0K    README.md
4.0K    package.json
16
mpen

I 이 명령을 루트로 사용 :

Sudo ls -1d */ | Sudo xargs -I{} du {} -sh && Sudo du -sh
10
Eduard Florinescu

현재 디렉토리 아래의 모든 파일을 재귀 적으로 찾고 크기를 요약하십시오.

find -type f -print0 | xargs -0 stat --print='%s\n' | awk '{total+=$1} END {print total}'
10
Leon Chang

다음은 .bash_aliases에 대한 함수입니다.

# du with mount exclude and sort
function dusort () {
    DIR=$(echo $1 | sed 's#\/$##')
    du -scxh $(mount | awk '{print $3}' | sort | uniq \
     | sed 's#/# --  exclude=/#') $DIR/* | sort -h
}

샘플 출력 :

$ dusort /
...
0       /mnt  
0       /sbin
0       /srv
4,0K    /tmp
728K    /home
23M     /etc
169M    /boot  
528M    /root
1,4G    /usr
3,3G    /var
4,3G    /opt
9,6G    total

하위 디렉토리의 경우 :

$ dusort .
$ dusort /var/log/
10
feldversuch

하나 더 변형 :

du -h --max-dep=1
9
0x8BADF00D

다음은 POSIX 스크립트입니다.

  • 파일
  • 파일
  • 디렉토리
  • 디렉토리
ls -A -R -g -o "[email protected]" | awk '{n1 += $3} END {print n1}'
7
Steven Penny

du은 모든 보조 정보의 크기를 고려하기 때문에 du은 디렉토리에서 모든 파일의 전체 크기보다 일반적으로 더 큰 매체에서 디렉토리가 차지하는 공간을 인쇄합니다. 파일 시스템 형식에 따라 디렉토리를 구성하기 위해 매체에 저장됩니다.

파일 시스템이 압축 가능한 경우 du은 파일 시스템에 의해 파일이 내부적으로 압축되어 압축되지 않은 정보보다 미디어의 공간을 덜 차지하기 때문에 모든 파일의 전체 크기보다 더 적은 수를 출력 할 수 있습니다. 그들은 포함합니다. 스파 스 파일이있는 경우에도 동일합니다.

디렉토리에 하드 링크가있는 경우 디렉토리의 여러 파일이 동일한 데이터를 미디어에서 참조하므로 du도 더 작은 값을 인쇄 할 수 있습니다.

디렉토리에있는 모든 파일의 간단한 총 크기를 얻으려면 GNU 시스템)을 가정하여 다음 한 줄 Shell 식을 사용할 수 있습니다.

find . ! -type d -print0 | xargs -r0 stat -c %s | paste -sd+ - | bc

또는 더 짧은 :

find . ! -type d -printf '%s\n' | paste -sd+ - | bc

디렉토리의 모든 비 디렉토리 파일 (및 서브 디렉토리를 재귀 적으로)의 크기를 하나씩 합칩니다. 심볼릭 링크의 경우 심볼릭 링크가 가리키는 파일이 아닌 심볼릭 링크의 크기를보고합니다.

6
anton_rh

당신이 사용할 수있는

du -sh directory/

du -sh filename

폴더 또는 파일이 차지하는 공간을 알 수 있습니다.

df -h

사람이 읽을 수있는 형식으로 디스크 사용량을 보여줍니다.

Disk Usage Analyzer라는 GUI 기반 프로그램도 있습니다.

6
arupgsh