다음 명령을 고려하십시오.
cd /
mkdir -p ~/a/b
touch ~/a/content
# Removes dir 'b' and stops at 'a' because it's non-empty.
# (This is the expected behavior.)
rmdir -p --ignore-fail-on-non-empty ~/a/b
rm ~/a/content
mkdir -p ~/a/b
# Fails with error: "rmdir: failed to remove directory '/home/myhome'".
rmdir -p --ignore-fail-on-non-empty ~/a/b
rmdir
마지막 단계에서 왜 실패했나요? 왜 삭제하려고 합니까?비어 있지 않음 $HOME
멈추는 대신?
답변1
내용은 다음과 같습니다 man rmdir
.
--null이 아닌 오류를 무시합니다.
모든 실패를 무시하다홀로디렉토리가 비어 있지 않기 때문에
즉, 어떤 이유로든 디렉토리를 삭제할 수 없습니다.다른비어 있는 경우를 제외하고 오류는 계속 보고됩니다.
/home
일반 사용자는 일반적으로 수정 (자신의 홈 디렉터리 삭제 포함) 을 수행할 수 있는 충분한 권한이 없으므로 rmdir
이와 같이 호출할 때 "권한 거부" 오류만 발생합니다.
다음을 시도해 보면 이를 쉽게 확인할 수 있습니다.
rmdir ~
결과는 다음과 같습니다.
rmdir: failed to remove '/home/youruser': Permission denied