독자의 이익을 위해 :
rm -rf
이런 경우 조심하십시오 ! 네트워크 공유 일 경우 다른 곳에서 문제를 일으킬 수 있습니다! 경고를 받았습니다!
거의 모든 경우 directory
에가 비어 있는 것 같으면 rmdir directory
또는를 사용하십시오 sudo rmdir directory
. 사용하지 마십시오 rm
(또는 del
Windows에서). 그래도 문제가 해결되지 않으면이 요청을 차단 한 원인을 찾아 수정 한 다음 다시 시도해야합니다 rmdir
.
OS-X는 모르지만 Unix / BSD 동작과 매우 유사하다고 생각합니다.
그것은 매우 가능성이 문제의 디렉토리 그냥이었다가 있다는 것입니다 마운트 지점 합니다 (encfs에서) 또는 (제거 할 디렉토리를 방지) 일부 부적절한 상태에서 읽기 전용 또는 붙어가 된 마운트 지점에있는. 이제 디렉토리를 강제로 제거하면 매우 나쁜 일이 발생할 수 있습니다.
좋은 경우에는 디렉토리가 실제로 비어 있으므로 제거하는 것 (마운트 등을 파괴하는 것)은 더 이상 해를 끼치 지 않았습니다. 나쁜 경우에는 비어 있지 않은 것 같습니다. 즉, 죽이고 싶지 않은 것을 버렸습니다. 이것은 모두 마운트 유형, 사용중인 드라이버 등에 따라 다릅니다. pp.
일이 합리적으로 잘 구현되면 일반적으로 나쁜 일이 발생하지 않습니다. 그러나 이것은 일반적인 경우가 아닙니다. 상황이 이미 이상한 상태에 있습니다. 즉, 무언가 잘못되었으므로 더 이상 혼합하지 마십시오! 무언가에 금이 가면 잘못 건 드리면 파손될 수 있습니다.
예를 들어 네트워크 공유에서 경쟁 조건에 도달하면 rm -rf
다른 사람이 공유에 복사 한 데이터를 제거 할 수 있습니다 .
그러나 rmdir
실제로 비어있는 디렉토리를 제거하는 것 외에는 절대로 해를 끼치 지 않습니다. NFS의 경우에는 mkdir
및 에서만 원자 동작을 보장 rmdir
하지만 다른 곳에서는 보장하지 않기 때문에 NFS에서도 마찬가지 입니다.
참고 사항 :
도구를 사용하여 마운트 포인트를 감지 할 수 있습니다 mountpoint directory
. 또는 출력을 살펴보고 mount
마운트를 찾으십시오. 그러나 적어도 리눅스에서는 이것이 거짓말을 할 수 있습니다. mountpoint
유틸리티를보다 안정적이지만 덜 편리하게 사용하십시오 .
이 경우 마운트 포인트를 찾았 으면 마운트 포인트를 마운트 해제 한 다음 디렉토리를 제거 할 수 있습니다.이 순서는 다음과 같습니다.
umount directory
rmdir directory
필요한 경우 sudo
평소처럼을 사용하십시오.
노트:
네트워크 공유는 rmdir
액세스 권한으로 인해 거부 될 수 있습니다 .
rmdir
실패한 파일 시스템은 실패 전략에 따라 거부 될 수 있습니다 . 아마도이 경우에 합리적인 메시지를 보게 될 것입니다.
Linux (및 아마도 최신 OS)에서는 다른 수단 (예 : 읽기 전용 마운트, SeLinux와 같은 기능 등)을 사용하여 액세스를 제한 할 수도 있습니다. 이것은 이것이 마운트 포인트라는 것을 알지 못하고 잘못된 것을 보지 못하지만 작동하지 않는다는 것을 의미합니다. 이 경우 다른 이유를 찾아야하며 OS에 매우 깊이 묻힐 수 있습니다. 합리적인 오류 메시지가 표시되면 도구에 따라 다릅니다. 또한 dmesg
Linux에서 와 같이 syslog / kernel-log를 살펴보십시오 (죄송합니다, OS-X에 해당하는 것을 모르겠습니다).
필수 파일 잠금도 소스 일 수 있습니다. 이것은 Windows에서 일반적이지만 일반적으로 Unix는 아니며 디렉토리에 대해서는 들어 본 적이 없습니다. 필수 파일 잠금은 POSIX에서 다루지 만 선택 사항입니다.
그러한 경우에, 해당 디렉토리는 생각한 것과 다른 파일 시스템에 상주합니다. 명령을 사용하여 어느 것을 찾을 수 있습니다 df directory
(OS-X에서도 동일하다고 생각합니다).
당신은 같은 도구를 사용하여 깊은 검사 할 수 있습니다 stat
또는 statfs
디렉토리에. 그러나 이것들은 일반 사람들에게는 약간 낮은 수준이며, 종종 그러한 도구는 일반 사용자에게 잘 숨겨져 있습니다.
디렉토리는 재미있는 이름의 파일을 가질 수 있습니다. 터미널 출력을 즉시 지우는 파일과 같이 존재하지 않는 것처럼 보입니다. ls -al | less
MidnightCommander 와 같은 것을 시도 하거나 사용 하십시오 mc
.
버그, 헥 소르, 외계인 또는 요정과 같은 더 이국적인 것들을 포함한 다른 가능성의 기차가 있습니다. 그러나 일반적으로 거기에서 시작하는 것이 현명하지 않습니다. 대신 "인간이 가장 끔찍하기 때문에"오류를 먼저 찾아보십시오.
rmdir
없었지만, 종종 볼륨을 마운트 해제 할 수없는 원인입니다).