우분투 가장큰 파일 찾아서 정렬하기
우분투 가장큰 파일 찾아서 정렬하기
1
find ./ -type f -print0 | xargs -0 du -h | sort -rh | head -30
명령어 세부 설명
find ./ -type f -print0
:- 역할: 현재 디렉터리(
./
)와 그 아래 있는 모든 일반 파일을 찾습니다. -type f
: 일반 파일만 선정합니다. 디렉터리나 심볼릭 링크는 포함되지 않습니다.-print0
: 각 파일 이름 뒤에 널 문자(\0
)를 추가하여 출력합니다. 이는 파일명에 공백이나 특수 문자가 포함되어 있어도 안전하게 처리하도록 합니다.- 예시 출력 (널 문자로 구분됨, 시각적으로 보이지 않음):
./videos/movie.mp4\0./backup/archive.tar.gz\0./music/album.zip\0...
- 역할: 현재 디렉터리(
xargs -0 du -h
:- 역할:
find
명령어로 출력된 파일 이름을 받아 각 파일의 디스크 사용량을 사람이 읽기 쉬운 형식으로 구합니다. xargs -0
: 널 문자로 구분된 파일 이름을 적절하게 해석합니다.du -h
: 각 파일의 크기를 인식 가능한 단위(KB, MB, GB 등)로 출력합니다.- 예시 출력:
1 2 3 4
256M ./music/album.zip 3.4K ./documents/note.txt 1.2G ./backup/archive.tar.gz 2.5G ./videos/movie.mp4
- 각 파일의 크기와 경로가 출력됩니다.
- 역할:
sort -rh
:- 역할: 파일 크기 기준으로 내림차순으로 정렬합니다.
-r
: 내림차순으로 정렬합니다.-h
: 사람이 읽기 쉬운 형식의 데이터를 올바르게 비교하여 정렬합니다.- 정렬 후 예시 출력:
1 2 3 4
2.5G ./videos/movie.mp4 1.2G ./backup/archive.tar.gz 256M ./music/album.zip 3.4K ./documents/note.txt
- 내림차순으로 가장 큰 파일이 가장 위에 배치됩니다.
head -30
:- 역할: 상위 30개 파일만 표시합니다.
- 최종 예시 출력:
1 2 3 4
2.5G ./videos/movie.mp4 1.2G ./backup/archive.tar.gz 256M ./music/album.zip (더 많은 결과 생략)
- 출력 결과 중 가장 큰 30개 파일의 정보만 보이게 됩니다.
참고사항: -k
옵션
-k1
생략 가능:sort
명령어에서-k1
옵션은 첫 번째 필드를 정렬 기준으로 삼지만, 기본 동작이 이미 첫 번째 필드를 기준으로 정렬하기 때문에 따로 지정할 필요가 없습니다.- 따라서
sort -rh
는 충분히 기능을 수행합니다.
이 명령어를 통해 사용자는 파일 시스템 내에서 가장 많은 공간을 차지하는 파일을 신속하게 파악하고 대처할 수 있어, 디스크 공간 관리에 효과적입니다.
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.