명령 줄 리눅스에서 디스크 사용량을 분석하는 방법?


92

dudf 좋지만, 내가 제공하는 방식으로 데이터를 필터링하는 방법을 모르겠습니다. 세쿼이아 . 가장 큰 폴더와 가장 큰 파일을 한눈에 알고 싶습니다.


시도해 봤어? ncdu?
SDsolar

답변:


136

당신은 또한 시도해 볼 수도 있습니다. NCurses 디스크 사용 일명 ncdu.

그것 같이 사용하십시오 ncdu -x -q 원격으로 호출하는 경우 (예 : ssh ) 및 ncdu -x 그렇지 않으면.

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

Mac OS X에서도이 기능을 사용할 수 있습니다.

다음과 같은 명령 행 플래그가 도움이 될 수 있습니다.

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

Sorin Sbarnea에게 감사드립니다.


1
양조를 통해 OS X에서도 사용 가능합니다. 다음을 사용하여 호출하는 것이 좋습니다. ncdu -x -q
sorin

1
굉장해! 나를위한 최선의 선택은 ncdu -q심지어 ssh에서.
Valter Silva

44

명령과 옵션의 일부 조합을 사용하십시오.

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

가장 큰 소수만을 볼 수 있습니다. 여러 항목을 사용하려면 별칭 (예 : ~ / .bashrc에 추가하여 bash에서

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'

1
보기 가장 큰 몇 가지, 당신은 -r 정렬 옵션.
RedGrittyBrick

@RedGrittyBrick 제안 및 오류 리디렉션을 제출했습니다. /dev/null 승인의 편집 대상으로
Jader Dias

나는 또한 du -H 옵션을 사용하지만 sort 행동
Jader Dias

1
@ jumpnett : 리디렉션합니다. standard error (이 경우 블랙홀에 들어간다. /dev/null ).
Jaap Eldering

3
당신이 사용할 수있는 sort -h 사람이 읽을 수있는 접미사로 값을 정렬합니다.
allo


2

나는 보통 사용한다.

du -hsc * | sort -h

각 옵션의 의미 du:

  • h : 사람이 읽을 수있는 형식의 크기 표시 (1K, 1M, 1G, ...)
  • s : summarize : 각 인수에 대한 합계 만 표시합니다.
  • c : 총계도 표시합니다.

그만큼 -h 옵션 사용 sort 그것을 이해하게한다. -h on (사람이 읽을 수있는) 형식 du. 이 옵션은 다음에서 비교적 새로운 기능입니다. sort, 어쩌면 당신의 시스템이 그것을 지원하지 않아서 당신이 사용하도록 강요합니다. du -sc | sort -n 대신에.

원격 시스템에서이 작업을 수행하는 데 시간이 오래 걸리면이 프로세스를 백그라운드 또는 내부에서 실행하고 싶을 것입니다. screen 또는 연결이 끊어지는 것을 막기 위해 이와 유사한 것.


2

나는 추천하고 싶다. 덕트 이는 계층 적 시각화를 제공합니다.

세부 수준을 더 많거나 적게 선택할 수 있으며 시각화를보다 잘 제어 할 수 있도록 경로를 제외 할 수 있습니다. 다른 경로를 비교할 수도 있습니다.

enter image description here

녹에서 빠르고 효율적으로 구현됩니다.

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

1
du -h 2> /dev/null | sort -hr | head -n20

뒤 - 아 디스크 공간에 대한 사람이 읽을 수있는 목록 추정치를 총계로 제공합니다.
2 & gt; / dev / null 읽기 액세스 거부와 같은 오류를 억제합니다.
sort -hr 사람이 읽을 수있는 파일 크기를 역순으로 정렬합니다.
머리 - n20 목록을 20 개로 줄이십시오.

읽기 액세스가 거부 된 디렉토리와 파일은 제외됩니다.

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