기본적으로 드라이브의 모든 디스크 공간이 어디에서 사용되고 있는지 궁금합니다. 파일 유형별로 분석하고 싶습니다.
예를 들어, 터미널을 사용하여 .psd
드라이브 의 파일 이 얼마나 많은 공간을 사용하고 있는지 확인하고 싶습니다 .
그런 일을 할 수있는 방법이 있습니까?
답변
이 시도:
find . -iname '*.psd' -print0 | du -ch --files0-from=-
find . -iname '*.psd'
확장명으로 끝나는 모든 파일을 찾습니다.psd
-print0
줄 바꿈 대신 파일 이름 뒤에 널 문자를 인쇄합니다.| du -ch --files0-from=-
파일 이름을 가져와find
디스크 사용량을 계산합니다. 옵션은 다음du
과 같습니다.- stdin (
--files0-from=-
) 에서 널 문자로 구분 된 파일 이름의 디스크 사용량을 계산합니다 . - 사람이 읽을 수있는 형식 (
-h
) 으로 인쇄 크기 - 끝에 합계를 인쇄하십시오 (
-c
).
- stdin (
.psd
디스크 사용량을 찾으려는 파일 형식으로 변경하십시오 .
답변
보다 일반적으로 find
및 조합을 사용하여 awk
선택한 규칙에 따라 디스크 사용량 그룹을보고 할 수 있습니다. 파일 확장자별로 그룹화하는 명령은 다음과 같습니다 (최종 기간 이후에 나타나는 것).
# output pairs in the format: `filename size`.
# I used `nawk` because it's faster.
find -type f -printf '%f %s\n' | nawk '
{
split($1, a, "."); # first token is filename
ext = a[length(a)]; # only take the extension part of the filename
size = $2; # second token is file size
total_size[ext] += size; # sum file sizes by extension
}
END {
# print sums
for (ext in total_size) {
print ext, total_size[ext];
}
}'
다음과 같은 것을 생산할 것입니다
wav 78167606
psd 285955905
txt 13160
답변
그래, 할 수있어 터미널에서 파일을 검색하는 구문은 다음과 같습니다.
Syntax : find foldername -iname '.filetype' -size size
Example : find $HOME -iname '*.mp3' -size +1M
시나리오의 경우 다음과 같아야합니다
find $HOME -iname '*.psd' -size +0M
자세한 내용은 공식 문서를 참조 하십시오 .