find
특정 크기(바이트, 킬로바이트, 메가바이트 또는 기가바이트 단위)의 모든 파일을 찾고 발견되면 해당 크기를 인쇄하는 간단한 명령(아마도 사용)을 원합니다 .
예를 들어, 이 명령은 10MB보다 큰 모든 파일을 찾지만 안타깝게도 크기는 표시하지 않습니다.
find . -size +10M
또한보십시오:
- 1GB보다 크고 6개월이 지난 파일- 치수를 표시하지 않음
- 디렉터리 및 디스플레이 크기가 1GB보다 큰 Linux 디스플레이 파일- 승인된 답변이 예상보다 복잡해 보이고 정렬이 필요하지 않습니다.
- X 값보다 큰 파일 찾기, 크기별로 정렬, ls 형식으로 표시- 서식이 필요하지 않거나 필요하지 않습니다
ls
. 주요 답변은 공백과 함께 작동하지 않을 수 있습니다. - https://linuxconfig.org/how-to-use-find-command-to-search-for-files-based-on-file-size
답변1
어때요?
find -size +10M -exec du -h {} \;
답변2
M
in은 GNU find . -size +10M
확장입니다. GNU 구현에는 find
또 다른 확장이 있습니다. -printf
이를 사용하여 다음 파일의 크기를 인쇄할 수 있습니다.
find . -size +10M -printf '%s %p\n'
10MiB(메가바이트가 아닌 메가바이트)보다 큰 파일의 크기와 용량을 보고합니다 s
.p
여기서는 내장 한정자와 glob 한정자를 zsh
사용할 수도 있습니다 .stat
zmodload zsh/stat
stat -nL +size -- **/*(LM+10)
그러면 파일 경로 뒤에 크기가 인쇄됩니다. 또한 find
숨겨진 파일은 기본적으로 제외됩니다( D
한정자를 사용하여 다시 추가할 수 있음).
또는 print
r
olumns에 aw(십자가)를 씁니다.2
C
a
stat -nLA report +size -- **/*(LM+10)
print -raC2 -- $report
이 모든 -size
, %s
는 +size
파일의크기, 이는 파일과 다릅니다.디스크 사용량² stat of du
(또는 %b
/ %k
in gfind -printf
또는 +block
in ) 에 보고된 대로 유형 파일의 고유 파일 크기도 포함됩니다.zsh
du
목차). find
디스크 사용량을 기준으로 파일을 필터링하는 조건자는 없습니다.
1 10MB(메가바이트)보다 큰 파일의 경우 ( -size +10000000c
표준) find
또는(L+10000000)
zsh
² 파일이 클수록 일반적으로 더 많은 디스크 공간을 차지하지만 반드시 그런 것은 아니며 어떤 경우에도 둘 사이의 관계는 선형적이지 않습니다.
답변3
zsh를 사용하고 ls
지원하는 경우-h
사람이 읽을 수 있는 크기, 다음과 같이 할 수 있습니다.
ls -lhd -- **/*(.Lm+10)
10MiB보다 큰 숨겨진 파일이 아닌 모든 파일을 찾아 ls -ldh
작동합니다 . 당신은 얻을 수 있습니다매개변수 목록이 너무 깁니다.. 그렇게 하면 를 사용할 수 있지만 를 zargs
사용할 때와 동일한 문제가 발생하게 됩니다 find
.
또한 문제를 잘못 비난하려는 것은 아니지만 zsh
대규모 디렉터리에서 작업을 수행할 때 이상한 일이 발생하는 것을 발견했습니다. **/*
즉 , ls -ld /**/*(.)
사용해도 zargs
끝이 없습니다 . 하지만... 소규모 작업의 경우 zsh
구문에 익숙해지면 작업을 완료하는 것이 더 쉬운 경우가 많습니다 zsh
.