반응형

이 글에서는 리눅스 커맨드 라인에서 특정 디렉토리의 용량을 확인하고, 이를 활용하여 특정 용량 이상의 디렉토리를 검색하는 방법을 설명한다.



특정 디렉토리의 용량 확인하기


리눅스에서 특정 디렉토리의 용량을 확인하려면 du 명령어를 쓰면 된다.


$ du -s [디렉토리_이름]


참고로 -s 옵션은 디렉토리의 하위 디렉토리에 있는 파일들의 용량을 합산하여(summarize) 보여주는 옵션이다. "-s" 옵션을 빼면 디렉토리 내부의 모든 하위 디렉토리의 용량을 보여준 후, 마지막으로 검사하는 디렉토리의 용량을 보여준다.


아래 그림은 du -s를 이용하여 "mc_sc" 디렉토리의 용량을 얻어온 결과이다.


다음 그림은 du만 가지고 "mc_sc" 디렉토리를 검사하였다. 그 결과, 하위 디렉토리를 모두 검사하여 용량을 표시한 후에 마지막으로 mc_sc의 용량을 계산하였다.





특정 용량 이상의 디렉토리 찾기


앞서 살펴본 du -s를 응용하여 wildcard 문자(*)를 쓰면, 현재 위치에 있는 모든 디렉토리의 용량을 찾을 수 있다. 앞서 예제로 확인한 위치에서 du -s * 명령을 친 결과는 아래 그림과 같다. ILQR_exp_data 디렉토리 바로 하위에 있는 디렉토리들에 대해서 각각 합산된 용량을 보여주는 것을 알 수 있다.



그러면 이 중에서 100MB 이상의 용량을 가지는 디렉토리만 보려면 어떻게 할까?

파이프라인(|)으로 awk 명령을 추가해서 출력 결과를 필터링함으로써 이 목적을 달성할 수 있다. 출력 결과의 첫번째 열이 용량을 보여주는 숫자로 되어 있으므로, 첫번째 열의 변수 값($1)이 특정 숫자보다 크도록 조건을 걸면 된다.


아래 명령은 현재 위치에서 100MB 이상의 용량을 갖는 디렉토리를 보여준다. 참고로 뒤의 숫자는 킬로바이트(KB, kilobyte) 단위이다.


$ du -s * | awk '$1 > 100000'


위 명령을 실행한 결과는 다음 그림과 같다.



반응형
블로그 이미지

Bryan_

,