Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to remove a directory with lots of files and folders from my private server space. I'm logging on via SFTP fine; I can access the entire directory no problems; I can even delete individual files with rm. But this would take me forever - so I would really like to just do rmdir on the highest folder that I want to remove. But when I do this, I get

Couldn't remove directory: Failure

Any thoughts as to what I might be doing wrong?

Thanks very much, Sam

share|improve this question
If you can SFTP into that server, can you SSH? If so, you can use a more powerful version of the RM command: rm -rf foo/* – Chris May 14 '13 at 13:38
up vote 6 down vote accepted

In my experience, rmdir prefers to work on an empty directory. If you're trying to delete the directory foo, I would do:

$rm foo/*
$rmdir foo
share|improve this answer
Edited because the -rf flag does not exist for rm in sftp. – Chris May 14 '13 at 13:38
SSH'ing to do rm -rf was the obvious answer. I tried rm -rf on SFTP but it couldn't accept -rf, as you pointed out. (The wildcard trick in SFTP didn't work either.) Anyway, thanks a bunch for your help! – user1451632 May 14 '13 at 13:58
That's funny. rm foo/* worked for me in SFTP. Anyway, I'm glad you got it solved! – Chris May 14 '13 at 14:02

You have not specified, what SFTP client you are using. So I'm assuming OpenSSH SFTP (sftp).

Command rmdir in OpenSSH SFTP client maps directly to SSH_FXP_RMDIR SFTP protocol request. The SFTP spec for version 3 (the one used by OpenSSH) specificaly mentions that the SSH_FXP_RMDIR operation may fail, "if the specified directory is not empty" (though it does not seem to mandate it).

If the directory does not have subdirectories, you can use rm foo/* (meaning OpenSSH SFTP command, not shell command) to remove all the files in the directory first. And then use rmdir.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.