현재 공간 사용량이 적은 Linux 서버가 있습니다.
/dev/sda3 20G 15G 4.2G 78% /
/dev/sda6 68G 42G 23G 65% /u01
/dev/sda2 30G 7.4G 21G 27% /opt
/dev/sda1 99M 19M 76M 20% /boot
tmpfs 48G 8.2G 39G 18% /dev/shm
보시다시피 /
78 %입니다. 공간을 소비하는 파일 또는 폴더를 확인하고 싶습니다.
나는 이것을 시도했다 :
find . -type d -size +100M
다음과 같은 결과가 표시됩니다.
./u01/app/june01.dbf
./u01/app/temp01.dbf
./u01/app/smprd501.dbf
./home/abhishek/centos.iso
./home/abhishek/filegroup128.jar
이제 이것은 내 문제입니다. /
에서 /u01
또는 공간이 아닌 공간을 사용하는 폴더에있는 파일의 이름 만 원합니다 /home
. /
모든 것이 기본 이므로 서버의 모든 파일이 표시됩니다.
의 78 %에 기여하는 큰 파일을 얻을 수 /
있습니까?
답변
시험:
find / -xdev -type f -size +100M
크기가 100M보다 큰 모든 파일을 나열합니다.
디렉토리에 대해 알고 싶으면 시도해보십시오 ncdu
.
당신이 리눅스를 실행하지 않는 경우에, 당신은 사용해야 할 수도 -size +204800
또는 -size +104857600c
는 AS, M
메가 바이트 POSIX에 있지를 의미하는 접미사.
find / -xdev -type f -size +102400000c
답변
@Gnouc answer 외에도 ls -la
자세한 정보를 얻기 위해 추가 할 수 있습니다 . 그렇게해야 sudo privileges
합니다.
$ find / -xdev -type f -size +100M -exec ls -la {} \; | sort -nk 5
기가 바이트에있는 파일 만 보려면 다음을 수행하십시오.
root# du -ahx / | grep -E '\d+G\s+'
1.8G /.Spotlight-V100/Store-V2/A960D58E-A644-4497-B3C1-866A529BF919
1.8G /.Spotlight-V100/Store-V2
답변
다음 명령은 파일 시스템에서 상위 50 개의 가장 큰 파일 (> 100M)을 찾을뿐만 아니라 (GNU sort
) 도 가장 큰 파일로 정렬 합니다.
find / -xdev -type f -size +100M -exec du -sh {} ';' | sort -rh | head -n50
-xdev
다른 파일 시스템에서 디렉토리를 내리지 마십시오.BSD의에
find
사용-x
되지 않는에 해당하는-xdev
차.
모든 파일과 디렉토리의 경우 훨씬 쉽습니다.
du -ahx / | sort -rh | head -20
( -x
플래그는 du
단일 파일 시스템 으로 제한 하는 데 필요한 것입니다 )
sort
에서 GNU를 사용하지 않는 경우 다음을 coreutils
사용하지 않고 사용하십시오 -h
.
du -ax / | sort -rn | head -20
전용 (빠른 결과에 대한) 현재 디렉토리를 들어, 교체 /
와 함께 .
.