리눅스에서 디스크 공간이 어디로 갔는지 추적?


532

Linux 시스템을 관리 할 때 파티션이 가득 차면 범인을 추적하기 위해 어려움을 겪는 경우가 많습니다. 나는 일반적으로 사용 du / | sort -nr하지만 큰 파일 시스템에서는 결과가 반환되기까지 시간이 오래 걸립니다.

또한, 이것은 일반적으로 최악의 범죄자를 강조하는 데 성공하지만 종종 더 미묘한 경우 du없이 의지 할 수 있다는 사실을 알게되었습니다 sort.

꽤 많은 시스템을 관리해야하고 새 소프트웨어를 설치하는 것이 번거롭기 때문에 (특히 디스크 공간이 부족할 때) 표준 Linux 명령을 사용하는 명령 줄 솔루션을 선호합니다.


1
@Bart 여기에 게시물을 개선하는 데 시간을 내 주셔서 감사하지만 태그를 추가 할 때 조금 더주의를 기울여야합니까? 태그는 가시성을위한 것이 아니라 질문을 설명합니다. 디스크 태그는 여기에 적합하지 않으며 (태그 설명 참조) 이 제안 된 편집에 추가 한 태그 중 적어도 두 개는 적절하지 않습니다 (Kali는 데비안이 아니므로 PPA가 없습니다).
Stephen Kitt

답변:


614

ncdu훌륭한 명령 줄 디스크 사용량 분석기를 사용해보십시오 .

여기에 이미지 설명을 입력하십시오


6
일반적으로 간단한 문제를 해결하기 위해 무언가를 설치하라는 메시지가 싫지만 이것은 훌륭합니다.
gwg

14
sudo apt install ncdu우분투에서 쉽게 얻을 수 있습니다. 대단하다
Orion Edwards

10
공간이 부족한 파일 시스템을 알고있을 것입니다. 이 경우 ncdu -x스캔 할 디렉토리와 동일한 파일 시스템의 파일 및 디렉토리 만 계산 하는 데 사용할 수 있습니다.
누가 사촌

7
가장 좋은 답변입니다. 또한 : sudo ncdu -rx /루트 영역 드라이브에서만 가장 큰 dirs / 파일을 깨끗하게 읽습니다. ( -r= 읽기 전용, -x = 동일한 파일 시스템에 머물러 있음 (의미 : 다른 파일 시스템 마운트를 통과하지 않음))
bshea

5
공간이 너무 작아서 ncdu를 설치할 수 없습니다
Chris

338

로 직접 가지 마십시오 du /. 사용 df을 아프게 파티션을 찾기 위해, 다음 시도 du명령을.

내가 시도하고 싶은 것은

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

"인간이 읽을 수있는 형태"로 크기를 인쇄하기 때문입니다. 아주 작은 파티션을 가지고 있지 않다면 기가 바이트 단위로 디렉토리를 grepping하는 것은 원하는 것을위한 아주 좋은 필터입니다. 시간이 좀 걸리지 만 할당량을 설정하지 않는 한 그렇게 될 것이라고 생각합니다.

@jchavannes가 주석에서 지적한 것처럼 너무 많은 오 탐지를 발견하면 표현이 더 정확해질 수 있습니다. 나는 제안을 통합하여 더 좋게 만들지 만 여전히 긍정 오류가 있으므로 트레이드 오프 (단순한 expr, 더 나쁜 결과; 더 복잡하고 긴 expr, 더 나은 결과)가 있습니다. 출력에 작은 디렉토리가 너무 많으면 정규식을 적절하게 조정하십시오. 예를 들어

grep '^\s*[0-9\.]\+G'

더 정확합니다 (<1GB 디렉토리가 나열되지 않음).

당신이 경우에 할당량을 가지고, 당신은 사용할 수 있습니다

quota -v

디스크를 사용하고있는 사용자를 찾습니다.


2
이것은 매우 빠르고 간단하며 실용적입니다
zzapper

24
grep '[0-9]G'많은 오탐 (false positive)을 포함하고 소수도 생략했습니다. 이것은 나를 위해 더 잘 작동했습니다 :sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes

1
만약 당신이 정말로 큰 디렉토리를 가지고 있다면, [GT]대신에G
Vitruvius

1
파일 시스템의 모든 디렉토리 (지연 적으로)에서 디스크 사용량을 지속적으로 모니터링하는 도구가 있습니까? 웹 UI로 스트리밍 할 수있는 것? 바람직하게는 소프트 실시간 정보.
CMCDragonkai

20
사용하고 싶습니다du -h | sort -hr | head
augurar

104

첫 번째 모습을 보려면 다음의 "요약"보기를 사용하십시오 du.

du -s /*

결과는 각 인수의 크기, 즉 위의 경우 모든 루트 폴더의 크기를 인쇄하는 것입니다.

또한 GNUduBSDdu 는 모두 깊이 제한이 가능합니다 ( 그러나 POSIX du는 할 수 없습니다! ) :

  • GNU (Linux,…) :

    du --max-depth 3
  • BSD (macOS,…) :

    du -d 3
    

이렇게하면 출력 디스플레이 가 깊이 3으로 제한 됩니다. 계산 및 표시된 크기는 여전히 전체 깊이의 총계입니다. 그러나 그럼에도 불구하고 디스플레이 깊이를 제한하면 계산 속도가 크게 향상됩니다.

또 다른 유용한 옵션은 "인간이 읽을 수있는"출력 (즉 KiB, MiB 사용)에 대한 ( -hGNU 및 BSD의 단어이지만 POSIX 전용의 단어는 아닙니다 du) 단어입니다 .


23
대신 du-d시도 하는 것에 대해 불평하는 경우 --max-depth 5.
ReactiveRaven

8
위대한 대답. 나에게 맞는 것 같습니다. 나는 제안한다 du -hcd 1 /directory. 사람이 읽을 수있는 경우 -h, 전체는 c, 깊이는 d

사용 중du -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto

du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headPermission denied를 필터링하는 방법
srghma

49

다음을 사용하여 다음 명령을 실행할 수도 있습니다 du.

~# du -Pshx /* 2>/dev/null
  • -s옵션은 각 인수의 총계를 요약하고 표시합니다.
  • h Mio, Gio 등을 인쇄합니다.
  • x = 하나의 파일 시스템에 머물러 있습니다 (매우 유용합니다).
  • P = 심볼릭 링크를 따르지 마십시오 (예를 들어 파일이 두 번 계산 될 수 있습니다).

/root디렉토리가 표시되지 않도록주의하십시오. ~# du -Pshx /root 2>/dev/null그것을 얻으려면 실행해야합니다 /root.

편집 : 수정 된 옵션 -P


2
du -Pshx .* * 2>/dev/null+ 숨겨진 / 시스템 디렉토리
Mykhaylo Adamovych

27

파일 시스템에서 가장 큰 파일을 찾는 데 항상 시간이 오래 걸립니다. 정의상 전체 파일 시스템을 가로 질러 큰 파일을 찾아야합니다. 유일한 해결책은 모든 시스템에서 cron 작업을 실행하여 파일을 미리 준비하는 것입니다.

du의 x 옵션은 다른 파일 시스템에서 마운트 지점을 따르는 것을 방지하는 데 유용합니다. 즉 :

du -x [path]

내가 일반적으로 실행하는 전체 명령은 다음과 같습니다.

sudo du -xm / | sort -rn > usage.txt

-m수단 메가 바이트에 결과를 반환하고, sort -rn먼저 결과를 가장 큰 숫자를 정렬합니다. 그런 다음 편집기에서 usage.txt를 열면 가장 큰 폴더 (/로 시작)가 맨 위에 나타납니다.


3
-x깃발 을 지적 해 주셔서 감사합니다 !
SamB

1
"가장 큰를 찾는 것은 시간이 오래 걸립니다 ..."-> 글쎄 그것은 의존하지만, 동의하는 경향이 : 같은 유틸리티를 그렇게 오래 걸리지 않습니다 ncdu- 적어도 빠르고보다 dufind(깊이 및 인수에 따라) ...
bshea

루트가 아닌 것을 선호하기 때문에 파일이 작성된 위치를 수정해야했습니다.sudo du -xm / | sort -rn > ~/usage.txt
Bruno

20

나는 항상을 사용하는데 du -sm * | sort -n, 이것은 현재 작업 디렉토리의 하위 디렉토리가 얼마나 많이 사용하는지에 대한 정렬 된 목록을 mebibytes로 제공합니다.

"크기보기"모드를 가진 Konqueror를 사용해 볼 수도 있습니다.이 모드는 WinDirStat가 Windows에서하는 것과 비슷합니다. 대부분의 공간을 사용하는 파일 / 디렉토리를 생생하게 표현합니다.

업데이트 : 최신 버전 du -sh * | sort -h에서는 사람이 읽을 수있는 파일 크기를 표시하고 정렬 할 수 있습니다 . (숫자는 K, M, G, ...로 접미사로 붙습니다.)

KDE3의 Konqueror 파일 크기보기에 대한 대안을 찾고자하는 사람들에게는 파일 라이트를 볼 수도 있지만, 그다지 좋지는 않습니다.


그것은 단지 Konqueror 3.x입니다. 파일 크기보기는 여전히 KDE4로 포팅되지 않았습니다.

'du -sh * | sort -h '는 Linux (Centos distro) 상자에서 완벽하게 작동합니다. 감사!
pahariayogi

18

나는 현재 디렉토리 아래에서 가장 나쁜 25 명의 범죄자들에게 이것을 사용한다

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25

이 명령은 시간이 지남에 따라 크기가 증가하는 것처럼 보이는 숨겨진 폴더를 찾는 트릭을 수행했습니다. 감사!
thegreendroid 2016 년

바이트 단위입니까?
사용자

기본적으로 내 시스템에서 'du -S'는 사람이 읽을 수있는 좋은 출력을 제공합니다. 작은 파일의 경우 일반 바이트 수를 얻은 다음 큰 파일의 경우 'KB'또는 'MB'접미사가있는 숫자를 얻습니다.
serg10

인간이 읽을 수있는 출력을 얻기 위해 du -Sh를 수행 할 수 있습니다.
Siddhartha

@Siddhartha 추가 -h하면 sort -nr명령 의 효과가 변경 될 수 있습니다. 즉, 정렬이 더 이상 작동하지 않으며 head명령도 더 이상 작동하지 않습니다.
Clare Macrae

14

이전 회사에서는 밤새 실행되고 특정 크기 이상의 파일을 식별하는 크론 작업이있었습니다.

찾기 /-크기 + 10000k

검색중인 디렉토리에 대해보다 선택적이고 오프라인으로 전환 될 수있는 원격으로 마운트 된 드라이브를 조심하십시오.


-x find 옵션을 사용 하여 find 명령의 시작점 이외의 다른 장치에서 파일을 찾을 수 없도록 할 수 있습니다. 이것은 원격으로 마운트 된 드라이브 문제를 해결합니다.
rjmunro 2016 년

10

하나의 옵션은 du / sort 명령을 cron 작업으로 실행하고 파일로 출력하는 것이므로 필요할 때 이미 있습니다.


9

커맨드 라인의 경우 du / sort 방법이 가장 좋습니다. 서버가 아닌 경우 Baobab-Disk 사용량 분석기를 살펴보십시오 . 이 프로그램은 실행하는 데 약간의 시간이 걸리지 만 모든 이전 Linux ISO가있는 곳에서 하위 디렉토리를 쉽게 찾을 수 있습니다.


2
SSH, FTP, SMB 및 WebDAV를 통해 원격 폴더를 검색 할 수도 있습니다.

대단하다. 일부는 GUI를 통해 시각화하여 더 잘 작동하며, 그중 하나입니다! 어쨌든 CrashPlan을 위해 서버에 X 서버가 필요하므로 그 서버에서도 작동합니다.
timelmer 2016 년

9

나는 사용한다

du -ch --max-depth=2 .

내 필요에 맞게 최대 깊이를 변경합니다. "c"옵션은 폴더의 총계를 인쇄하고 "h"옵션은 크기를 K, M 또는 G로 적절하게 인쇄합니다. 다른 사람들이 말했듯이 여전히 모든 디렉토리를 스캔하지만 큰 디렉토리를 쉽게 찾을 수있는 방식으로 출력을 제한합니다.


9

두 번째로 xdiskusage갑니다. 그러나 실제로는 du 프론트 엔드이며 파일에서 du 출력을 읽을 수 있습니다. 따라서 du -ax /home > ~/home-du서버 scp에서 파일을 다시 실행 한 다음 그래픽으로 분석 할 수 있습니다. 또는 ssh를 통해 파이프하십시오.


6

du의 출력을 간단한 awk 스크립트로 공급하여 디렉토리의 크기가 임계 값보다 큰지 확인하여 인쇄합니다. 당신은 기다릴 필요가 없습니다 당신이 얻는 정보를 시작하기 전에 전체 트리가 (다른 답변의 대 다수) 이송 될 수 있도록.

예를 들어, 다음은 약 500MB가 넘는 디렉토리를 표시합니다.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

위의 내용을 좀 더 재사용 할 수있게하려면 .bashrc에서 함수를 정의하거나 독립형 스크립트로 만들 수 있습니다.

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

따라서 dubig 200 ~/장치에서 심볼릭 링크를 따르지 않고 홈 디렉토리 아래에서 200MB 이상을 사용하는 디렉토리를 찾습니다.


수십 개의 grep hack이 더 많이지지되는 것은 유감입니다. 그리고 du -kdu가 KB 단위를 사용하고 있음을 확실히 할 것입니다
ndemou

-k에 대한 좋은 아이디어. 편집했습니다.
Mark Borgerding

더 간단하고 강력합니다. du -kx $2 | awk '$1>'$(($1*1024))(조건을 awk로 지정하여 기본 동작은 awk입니다 print $0)
dave_thompson_085

좋은 지적은 @ date_thompson_085입니다. 내가 아는 모든 버전의 awk (net / free-BSD & GNU)에 해당됩니다. @ mark-borgerding 따라서 첫 번째 예제를 크게 단순화 할 수 있음을 의미합니다.du -kx / | awk '$1 > 500000'
ndemou

@ mark-borgerding : 어딘가에 몇 kBytes가 남으면 du의 전체 출력을 다음과 같이 유지할 수도 있습니다 du -kx / | tee /tmp/du.log | awk '$1 > 500000'. 이것은 첫 번째 필터링이 결실이없는 것으로 판명 awk '$1 > 200000' /tmp/du.log되면 sort -nr /tmp/du.log|less전체 파일 시스템을 다시 스캔하지 않고도 이와 같은 다른 값을 시도 하거나 이와 같은 전체 출력을 검사 할 수 있기 때문에 매우 유용합니다.
ndemou

4

du (1)의 그래픽 대안으로 오래된 xdiskusage 를 좋아합니다 .


질문의이 부분에 주목하십시오 : "저는 표준 리눅스 명령에 의존하는 명령 행 솔루션을 선호합니다 ..."
ndemou

4

다음을 사용하여 개요를 얻고 드릴 다운하는 것을 선호합니다 ...

cd /folder_to_check
du -shx */

그러면 GB, MB와 같이 사람이 읽을 수있는 출력 결과가 표시됩니다. 또한 원격 파일 시스템을 통한 통과를 방지합니다. 이 -s옵션은 발견 된 각 폴더의 요약 만 표시하므로 폴더에 대한 자세한 내용에 관심이있는 경우 드릴 다운 할 수 있습니다. 이 솔루션은 폴더 만 표시하므로 파일을 원할 경우 별표 뒤에 /를 생략 할 수 있습니다.


4

여기에 언급되지 않았지만 파일이 삭제되거나 중단되는 경우 lsof도 확인해야합니다. 나는 도망가는 cronjob에서 5.9GB의 tmp 파일을 삭제했습니다.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage 해당 파일 (cron)의 프로세스 소유자를 찾는 데 도움이되었고 /proc/{cron id}/fd/{file handle #}파일을 줄였습니다. 실행을 시작하고 문제를 해결 한 다음 ""> 파일을 에코하여 공간을 비우고 cron이 정상적으로 닫힙니다.


3

터미널에서 dutree를 사용하여 디스크 사용량을 시각적으로 표시 할 수 있습니다.

Rust에서 구현되기 때문에 매우 빠르고 가볍습니다.

듀 트리

$ 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

웹 사이트 에서 모든 사용법 세부 사항보기



2

당신은 같은 표준 도구를 사용할 수 있습니다 findsort디스크 공간 사용을 분석 할 수 있습니다.

크기별로 정렬 된 디렉토리를 나열하십시오 .

find / -mount -type d -exec du -s "{}" \; | sort -n

파일을 크기별로 정렬하여 나열 하십시오 .

find / -mount -printf "%k\t%p\n" | sort -n

1
나는 이것이 가장 좋은 대답을 할 정렬 된 순서로 큰 크기를 감지 찾기
비멀 크리슈나

2

주의 할 아마 가치가 mc기본 쇼 (보통 디렉토리 아이 노드의 크기에 의해 (자정 사령관, 고전적인 텍스트 모드 파일 관리자) 4096)하지만 함께 CtrlSpace또는 당신은 사람이 읽을 수에 선택한 디렉토리가 차지하는 공간을 볼 수있는 메뉴 도구로 형식 (예를 들어, 일부 등 103151M).

예를 들어, 아래 그림은 2018 년과 2017 년의 바닐라 TeX Live 배포판의 전체 크기를 보여주는 반면, 2015 년과 2016 년 버전은 inode의 크기 만 보여줍니다 (그러나 각각 5Gb에 가깝습니다).

즉, CtrlSpace실제 디렉토리 수준에 대해서만 하나씩 수행해야하지만 탐색 할 때 너무 빠르고 편리하므로 mc필요하지 않을 수도 있습니다 ncdu(실제로이 목적을 위해 더 낫습니다). 그렇지 않으면, 당신은 또한 실행할 수 있습니다 ncdu에서 mc. mc다른 터미널 에서 나가 거나 시작 하지 않고 .

mwe


1

처음에는 다음과 같이 디렉토리의 크기를 확인합니다.

du -sh /var/cache/*/

1

지난 며칠 동안 큰 파일이 추가 된 것을 알고 있다면 (예 : 3), " ls -ltra" 와 함께 find 명령을 사용하여 최근에 추가 된 파일을 발견 할 수 있습니다.

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

그러면 -type f디렉토리가 아닌 파일 ( " ") 만 제공됩니다 . 지난 3 일 동안 수정 시간이있는 파일 ( " ") 만 발견 된 각 파일 ( " "부분) 에 대해 -mtime -3" ls -lart"를 실행 하십시오 -exec.


1

불균형 한 디스크 공간 사용량을 이해하려면 루트 디렉토리에서 시작하여 가장 큰 하위 항목을 살펴 보는 것이 유용합니다.

우리는 이것을 할 수 있습니다

  • du의 출력을 파일로 저장
  • 결과를 반복적으로 파악

그건:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

이제 / usr 이 너무 크게 나타납니다

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

/ usr / local 이 의심스러운 경우

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

등등...


1

이 명령을 사용하여 100Mb보다 큰 파일을 찾았습니다.

find / -size +100M -exec ls -l {} \;

0

나는 du사람이 읽을 수있는 형태로 출력을 파이핑하고 egrep정규식과 일치 시키는 최악의 범죄자를 추적하는 데 성공했습니다 .

예를 들면 다음과 같습니다.

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

500 메가 이상의 모든 것을 돌려줘야합니다.


산술 연산에 grep을 사용하지 마십시오 du -k | awk '$1 > 500000'. 대신 awk를 사용하십시오 . 첫 번째 시도에서 이해, 편집 및 수정하는 것이 훨씬 쉽습니다.
ndemou

0

속도를 원하는 경우 모니터링하려는 파일 시스템에서 할당량을 활성화하고 (사용자에 대한 할당량을 설정할 필요가 없음) quota 명령을 사용하는 스크립트를 사용하여 각 사용자가 사용중인 디스크 공간을 나열 할 수 있습니다. 예를 들어 :

quota -v $user | grep $filesystem | awk '{ print $2 }'

특정 파일 시스템의 특정 사용자에 대한 디스크 사용량을 블록 단위로 제공합니다. 이 방법으로 몇 초 만에 사용량을 확인할 수 있어야합니다.

할당량을 활성화하려면 / etc / fstab 파일의 파일 시스템 옵션에 usrquota를 추가 한 다음 할당량을 호출하기 전에 유휴 파일 시스템에서 할당량 검사를 실행할 수 있도록 재부팅해야합니다.


0

다음은 깊은 샘플링을 사용하여 모든 디스크 또는 디렉토리에서 종양을 찾는 작은 앱입니다. 디렉토리 트리를 두 번 측정하여 한 번 측정 한 후 디렉토리 아래에 20 개의 "임의"바이트 경로를 인쇄합니다.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

내 Program Files 디렉토리의 출력 결과는 다음과 같습니다.

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

디렉토리가 7.9GB라고 알려줍니다.

  • ~ 15 %는 인텔 포트란 컴파일러로갑니다
  • ~ 15 %가 VS .NET 2003으로 이동
  • ~ 20 %는 VS 8에갑니다

언로드 할 수 있는지 묻기 만하면됩니다.

또한 파일 시스템에 분산되어 있지만 공간 절약을위한 기회를 나타내는 파일 유형에 대해서도 알려줍니다.

  • ~ 15 %는 대략 .cab 및 .MSI 파일로 이동
  • ~ 10 %는 대략 텍스트 파일 로깅에갑니다

또한 "SmartDevices"및 "ce"지원 (~ 15 %)과 같이 없이도 할 수있는 다른 많은 것들을 보여줍니다.

선형 시간이 걸리지 만 자주 수행 할 필요는 없습니다.

발견 된 것의 예 :

  • 저장된 코드 리포지토리에있는 DLL의 백업 복사본 ( 실제로 저장 하지 않아도 됨)
  • 불분명 한 디렉토리에있는 서버의 누군가 하드 드라이브 백업 사본
  • 방대한 임시 인터넷 파일
  • 고대 문서와 도움말 파일이 오래 전에 필요하다

0

비슷한 문제가 있었지만이 페이지의 답변으로는 충분하지 않습니다. 다음 명령이 목록에 가장 유용한 것으로 나타났습니다.

du -a / | sort -n -r | head -n 20

가장 큰 범죄자 20 명을 보여줄 것입니다. 그러나 이것을 실행했지만 파일을 이미 삭제했기 때문에 실제 문제를 표시하지 않았습니다. 잡은 것은 삭제 된 로그 파일을 참조하는 프로세스가 여전히 실행 중이라는 것입니다 ... 그래서 먼저 프로세스를 종료해야 디스크 공간이 비어있는 것으로 나타났습니다.


좋은 지적이지만 이것은 스스로 의견이 아니어야합니다. –이 질문은 너무 많은 답변으로 어려움을 겪습니다
ndemou

0

DiskReport.net 을 사용하여 모든 디스크에 대한 온라인 웹 보고서를 생성 할 수 있습니다 .

많은 실행으로 모든 폴더에 대한 기록 그래프를 보여줍니다. 성장한 것을 쉽게 찾을 수 있습니다.


이 도구는 "파티션이 가득 차면 범인을 추적하기 위해 고군분투하는 경우가 많다"는 질문과 "표준 Linux 명령을 사용하는 명령 줄 솔루션을 선호합니다"라는 질문의 두 가지 요점과 일치하지 않습니다.
ndemou

0

JDiskReport 라는 멋진 크로스 플랫폼 프리웨어가 있습니다. 여기에는 모든 공간을 차지하는 것을 탐색하는 GUI가 포함되어 있습니다.

스크린 샷 예 :
JDiskReport 스크린 샷

물론, 약간의 공간을 수동으로 정리하여 다운로드하여 설치하거나 다른 드라이브 (예 : USB 썸 드라이브)로 다운로드해야합니다.


(여기서 중복 질문에 대한 동일한 저자의 답변 에서 복사)

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