현재 디렉토리를 포함한 현재 디렉토리에서 모든 파일을 삭제하는 방법은 무엇입니까?
-
23-08-2019 - |
문제
현재 디렉토리를 포함한 현재 디렉토리에서 모든 파일과 하위 디렉토리를 삭제하려면 어떻게해야합니까?
해결책
GNU 도구를 갖춘 Bash에서는 그렇게 할 것입니다 (대부분의 경우 안전해야합니다).
rm -rf -- "$(pwd -P)" && cd ..
Bash 아래에 있지 않고 GNU 도구가 없으면 다음을 사용합니다.
TMP=`pwd -P` && cd "`dirname $TMP`" && rm -rf "./`basename $TMP`" && unset TMP
이것이 더 안전한 이유 :
- 인수 목록을 끝내십시오
--
디렉토리가 대시로 시작하는 경우 (비 배시 :./
파일 이름 이전) pwd -P
뿐만 아니라pwd
우리가 실제 디렉토리에 있지 않고 상징적 인 디렉토리에있는 경우."
디렉토리에 공백이 포함 된 경우에 인수 주변
일부 임의 정보 (Bash 버전) :
- 그만큼
cd ..
결국 생략 할 수 있지만, 당신은 그렇지 않으면 존재하지 않는 디렉토리에있을 것입니다 ...
편집하다: kmkaplan이 지적했듯이 --
필요한 것은 필요하지 않습니다 pwd
항상 시작하는 전체 경로 이름을 반환합니다 /
유닉스에서
다른 팁
olddir=`pwd` && cd .. && rm -rf "$olddir"
그만큼 cd ..
필요합니다. 그렇지 않으면 현재 디렉토리를 제거 할 수 없으므로 실패합니다.
rm -fr "`pwd`"
DOS / Windows CMD에서는 이것이 가능할 것이라고 생각하지만 명령간에 데이터를 파이프하는 방법을 찾을 수는 없습니다. 다른 사람이 그 수정 사항을 알고 있습니까?
FOR /F %i IN ('cd') DO SET MyDir=%i | CD .. | RD /S %MyDir%
운영 체제? *닉스 기반 재료에서 'rm -rf 디렉토리/'를 찾고 있습니다.
참고 : '재귀'를위한 '-r'플래그는 위험 할 수 있습니다!
대상 폴더의 상위 폴더로 돌아가서 'rm -rf yourfolder'를 사용할 수 있습니다. 또는 'rm -rf *'를 사용하여 현재 폴더에서 모든 파일과 하위 폴더를 삭제할 수 있습니다.
제휴하지 않습니다 StackOverflow