(아마도) rmdir에 대한 사소한 질문


3

나는 이것이 너무 사소하지 않기를 희망하지만 어떤 이유로 든 간단한 명령을 실행할 수 없습니다.

파일 조작 스크립트를 작성 중이며 test, test2 등의 여러 디렉토리가 있으며 각 디렉토리에는 여러 파일이 있습니다.
나는 입력 :
rmdir --ignore-fail-on-non-empty test*

명령이 제대로 실행 된 것처럼 오류 메시지가없는 프롬프트가 표시됩니다. 나는 내가 ls있는 디렉토리를 얻고 얻는다 :
test test2 test3 test4

나는 분명한 것을 놓치고 있다는 것을 안다. 누구나 그것이 무엇인지 힌트가 있습니까? 예, 부모 디렉토리에 있습니다. 예, 옵션이 올바르게 입력되었습니다. 맨 페이지를 두 번 확인했습니다.


그렇게함으로써 해결 rm -r test*되었지만 여전히 무엇이 잘못되었는지 알고 싶습니다. :-)
Yitzchak

--verbose로 실행하면 상황에 대한 조명이 나타 납니까?
EBGreen

비어있는 상태에서 실패하는 것을 무시하고 싶다면 왜 rm -rf test *가 아닌가? (edit : nevermind, 방금
고친

@EricR 왜 f? f 옵션이 올라가지 않습니까? 나는 그것을 원하지 않을 것입니다.
Yitzchak

@Yitzchak "-f 존재하지 않는 파일은 무시하고 프롬프트하지 마십시오". afaik은 rm로 올라갈 수있는 옵션이 없습니다.
EricR

답변:


8

rmdir --ignore-fail-on-non-empty주석에 표시된 내용을 정확하게 수행하며 비어 있지 않은 경우 실패를 무시합니다. 즉, 아무것도하지 않습니다.

"존재하지 않는 파일을 무시하고 프롬프트하지 않습니다"를 사용하여 문제에 대한 대체 솔루션은 rm -r또는 입니다.rm -rf-f


이것이 가장 좋은 대답이며 매뉴얼 페이지의 모호성을 설명합니다. @EricR, 나는 OP rm -rf
가하고

@MaxMackie가 수정되었습니다. 나는 의견에 그들을 떠났다.
EricR

0

rmdir빈 디렉토리를 제거합니다. 비어 있지 않은 디렉토리는 제거하지 않습니다. 비어 있지 않은 디렉토리를 제거 할 수있는 방법이 없습니다.


0

rmdir은 비어 있지 않은 폴더를 전혀 제거하지 않습니다.

rm -rf ./test*이것을 위해 사용하십시오 . 하지만 당신이 rm에게주는 길에 매우 조심하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.