옵션 ls
과 함께 l
명령을 사용하여 디렉토리 (디렉토리 및 서브 디렉토리 포함)의 크기를 얻으려고했습니다. 파일에서 작동하는 것 같습니다 (ls -l file name
)이지만 디렉토리의 크기를 가져 오려고하면 (예 : ls -l /home
), 4096 바이트 만 가져옵니다.
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
du
명령을 사용하십시오 :
du -sh -- *
현재 디렉토리에서 숨겨지지 않은 모든 디렉토리, 파일 등을 사람이 읽을 수있는 형식으로 누적 디스크 사용량을 제공합니다.
df
명령을 사용하여 디렉토리를 포함하는 파일 시스템의 여유 공간을 알 수 있습니다.
df -h .
du
는 당신의 친구입니다. 디렉토리의 전체 크기를 알고 싶다면 디렉토리로 이동하여 다음을 실행하십시오.
du -hs
어떤 하위 폴더가 얼마나 많은 디스크 공간을 차지하는지 알고 싶다면?! 이 명령을 확장하여 다음을 수행 할 수 있습니다.
du -h --max-depth=1 | sort -hr
모든 하위 폴더의 크기를 제공합니다 (수준 1). 출력이 정렬됩니다 (맨 위의 가장 큰 폴더).
다른 사람들은 du
에 대해 언급했지만 Ncd -du
의 ncurses 버전이며 대화 형 기능을 제공합니다. 디렉토리 계층 구조를 직접 탐색 할 수 있습니다. 하위 디렉토리의 크기를 참조하십시오.
du
명령은 파일의 디스크 사용량을 보여줍니다.
-h
옵션은 사람이 읽을 수있는 형태 (예 : 4k, 5M, 3G)로 결과를 표시합니다.
du -h (file name)
위의 모든 예는 데이터 크기 디스크에서 (즉, 특정 파일이 사용하는 디스크 공간의 크기, 일반적으로 실제 파일 크기보다 큼)를 알려줍니다. 데이터가 실제로이 특정 디스크에 저장되지 않고 inode 참조 만 존재하는 경우, 정확한 보고서를 제공하지 않는 상황이 있습니다.
예를 들어, 단일 파일에서 ls -l을 사용했습니다. 그러면 파일의 크기가 아닌 디스크의 실제 크기가 반환됩니다.
실제 파일 크기를 알고 싶다면 du에 -b 옵션을 추가하십시오.
du -csbh .
개인적으로 ncdu
를 사용하고 싶지 않다면 이것이 최선이라고 생각합니다
# du -sh ./*
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
I 이 명령을 루트로 사용 :
Sudo ls -1d */ | Sudo xargs -I{} du {} -sh && Sudo du -sh
현재 디렉토리 아래의 모든 파일을 재귀 적으로 찾고 크기를 요약하십시오.
find -type f -print0 | xargs -0 stat --print='%s\n' | awk '{total+=$1} END {print total}'
다음은 .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/
하나 더 변형 :
du -h --max-dep=1
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
디렉토리의 모든 비 디렉토리 파일 (및 서브 디렉토리를 재귀 적으로)의 크기를 하나씩 합칩니다. 심볼릭 링크의 경우 심볼릭 링크가 가리키는 파일이 아닌 심볼릭 링크의 크기를보고합니다.
당신이 사용할 수있는
du -sh directory/
과
du -sh filename
폴더 또는 파일이 차지하는 공간을 알 수 있습니다.
df -h
사람이 읽을 수있는 형식으로 디스크 사용량을 보여줍니다.
Disk Usage Analyzer
라는 GUI 기반 프로그램도 있습니다.