숨겨진 파일 및 디렉토리를 포함하여 디렉토리의 모든 항목을 어떻게 삭제합니까?
지금은 다음을 사용합니다.
rm -rf *
rm -rf .*
rm -rf yourdirectory/*
..디렉토리 와 일치하며 , 위 의 디렉토리에있는 모든 것을 삭제 합니다.
숨겨진 파일 및 디렉토리를 포함하여 디렉토리의 모든 항목을 어떻게 삭제합니까?
지금은 다음을 사용합니다.
rm -rf *
rm -rf .*
rm -rf yourdirectory/*
..디렉토리 와 일치하며 , 위 의 디렉토리에있는 모든 것을 삭제 합니다.
답변:
간단하고 똑바로 :
find -delete
디렉토리 및 숨겨진 파일을 포함합니다. 적어도 GNU 찾기 알고에 -delete, 당신은 find다를 수 있습니다.
find /path -delete -mindepth 1.
가장 좋은 대답은 : 그렇게하지 마십시오. 디렉토리 자체를 재귀 적으로 제거한 다음 빈 디렉토리로 다시 작성하십시오. 다른 사람들이 당신이하려는 일을 이해하는 것이 더 안정적이고 쉽습니다. 디렉토리를 다시 만들면 다른 소유자, 그룹 및 권한이있을 수 있습니다. 중요한 경우주의하십시오. 또한 실행중인 프로그램이 디렉토리에서 열린 파일 핸들 (설명자)을 가지고 있다면 제거하지 않을 것입니다. 이러한 특별한 경우가 적용되지 않으면 전체 디렉토리를 제거하는 것이 더 간단합니다.
rm -rf -- * .[!.]* ..?*
세 가지 패턴이 모두 일치하지 않으면 자체로 확장되지만 모든 것을 일치시키고 rm -f존재하지 않는 인수를 무시 하기 때문에 문제가되지 않습니다 .
참고 .*일치합니다.. .
오 마이 Zsh
rm -rf (.|)*
다시 이것은 Zsh 전용입니다.
*(D)( D글로브 한정자가이 glob_dots패턴 에 대한 옵션을 켭니다 ).
rm -rf {.,}*(bash는 달리, zsh을 포함하지 않는 .과 ..에 {.,}*적어도 내 컴퓨터에).
를 사용하는 것은 어떻습니까 find. 하위 디렉토리를 파야 할 때 이것이 일반적으로 좋은 선택이라고 생각합니다.
find . -type f -exec rm {} \;
시도하십시오 rm -rf *?*. 일반 파일과 숨겨진 파일이 삭제됩니다.
*?*(당신이 사용 가능하지 않은 파일 / 디렉토리들은 "점"일치하지 않습니다 dotglob에서 옵션 배쉬 의 GLOB_DOTS에서 옵션 zsh을 , 또는 당신이 사용하는 쉘 무엇이든지하는 제품).
rm -rf .* *.