폴더에서 수많은 파일 삭제

폴더에서 수많은 파일 삭제

137795개의 파일이 들어 있는 폴더가 있습니다. 모두 삭제해야 해요. rm *내가 달리면 -bash: /bin/rm: Argument list too long. 이 오류를 어떻게 극복할 수 있나요?

답변1

보시다시피 디렉토리를 삭제할 필요는 없으며 내부의 파일만 삭제할 수 있습니다. 다시 만들 수 있도록

rm -r /path/to/dir && mkdir /path/to/dir

아니면 안에 있는 파일을 삭제해도 됩니다.

find /path/to/dir -type f -delete

Fair First가 더 빠르게 작동합니다.

UPD. 디렉터리 크기 findfsck.세부 사항.

답변2

해결책 #1:

find /path/to/dir -delete

해결책 #2:

rm a*;

rm b*;

rm c*;

etc

답변3

사용하는 것이 find아마도 최선의 선택일 것입니다. 질문에 대한 다른 답변 중 일부는 디렉토리 내부의 모든 것을 삭제하지 않거나 디렉토리 자체를 삭제합니다. 특수문자 없이 사용 ls하거나 일부 옵션과 함께 사용할 수 있습니다 .xargsfind

ls -1 | xargs rm -r

또는

find . -depth -path ./.* -prune -o -not -name . -delete

이는 현재 디렉터리에서 .( )로 시작하는 모든 항목을 무시 하고 최상위 디렉터리( )가 아닌 다른 모든 파일이나 디렉터리를 삭제합니다. "디렉터리가 비어 있지 않습니다" 오류를 방지하기 위해 먼저 디렉터리 내부를 살펴 봅니다 . 시스템에서 이 매개변수를 사용할 수 없는 경우에 사용됩니다 .-prune.-depth-not!

관련 정보