폴더의 모든 디렉터리를 삭제하는 방법

폴더의 모든 디렉터리를 삭제하는 방법

download폴더의 모든 디렉터리를 삭제하고 싶습니다 .

/content/download/documents/
/content/download/music/
/content/download/videos/
/content/download/pictures/

를 사용하여 제거하려고 시도했지만 rm작동하지 않습니다.

rm -rf '/content/download/*/'

답변1

와일드카드는 *따옴표(작은 따옴표든 큰 따옴표든) 내에서 확장되지 않으므로 따옴표 바깥에 작성해야 합니다.

rm -rf '/content/download/'*/

그러나 경로나 파일 이름에 공백/줄 바꿈 또는 쉘에 고유한 다른 문자가 포함되어 쉘이 이를 해석할 수 없는 경우에만 따옴표가 필요합니다.

후행 /, */디렉토리 유형의 모든 파일로 확장됩니다.심볼릭 링크 해결 후이므로 해당 디렉토리에 대한 심볼릭 링크도 포함됩니다. 그런 사람들에게는 확장도 비슷할 것이다 /content/download/dirlink/. 이로 인해 발생하는 일은 rm구현에 따라 다릅니다. Linux 기반 시스템에서 일반적으로 사용되는 시스템의 경우 이는 제거됩니다.콘텐츠(재귀적으로) 기호 링크의 대상 디렉토리(기호 링크나 디렉토리 자체는 아님)

또한 숨겨진 디렉터리는 삭제되지 않습니다.


쉘이 bash인 경우 매뉴얼에서 특히 다음과 같은 추가 정보를 읽을 수 있습니다.

답변2

find ~/Downloads -mindepth 1 -maxdepth 1 -type d | xargs rm -rf

이 솔루션은 사용 중인 특정 셸( bash등)에 의존하지 않습니다.zsh

관련 정보