개인 서버 공간에서 많은 파일과 폴더가있는 디렉토리를 제거하려고합니다. SFTP를 통해 로그온하고 있습니다. 나는 전체 디렉토리에 아무 문제없이 접근 할 수있다. rm을 사용하여 개별 파일을 삭제할 수도 있습니다. 그러나 이것은 영원히 나를 데려 갈 것입니다. 따라서 제거하려는 가장 높은 폴더에서 rmdir을하고 싶습니다. 하지만 이렇게하면
디렉토리를 제거 할 수 없습니다 : 실패
내가 뭘 잘못하고 있는지에 대한 생각?
대단히 감사합니다, 샘
답변
내 경험상 rmdir은 빈 디렉토리에서 작업하는 것을 선호합니다. 디렉토리를 삭제하려고하면 다음 foo
을 수행하십시오.
$rm foo/*
$rmdir foo
답변
사용중인 SFTP 클라이언트를 지정하지 않았습니다. 그래서 OpenSSH SFTP ( sftp
)를 가정합니다 .
rmdir
OpenSSH SFTP 클라이언트의 명령 은 SSH_FXP_RMDIR
SFTP 프로토콜 요청에 직접 매핑됩니다 . 버전 3에 대한 SFTP 사양 (OpenSSH에서 사용되는 사양)에 SSH_FXP_RMDIR
따르면 “지정된 디렉토리가 비어 있지 않은 경우” ( 작업이 필수 는 아니지만) 작업이 실패 할 수 있다고합니다 .
디렉토리에 서브 디렉토리가없는 경우, rm foo/*
쉘 명령이 아닌 OpenSSH SFTP 명령을 사용하여 디렉토리의 모든 파일을 먼저 제거 할 수 있습니다. 그런 다음을 사용하십시오 rmdir
.