Meiner Erfahrung nach arbeitet rmdir lieber mit einem leeren Verzeichnis. Wenn Sie versuchen, das Verzeichnis foo
zu löschen , würde ich tun:
$rm foo/*
$rmdir foo
Sie haben nicht angegeben, welchen SFTP-Client Sie verwenden. Ich gehe also davon aus, dass OpenSSH SFTP (sftp
).
Befehl rmdir
im OpenSSH-SFTP-Client wird direkt SSH_FXP_RMDIR
zugeordnet SFTP-Protokollanfrage. Die SFTP-Spezifikation für Version 3 (die von OpenSSH verwendete) erwähnt ausdrücklich, dass der SSH_FXP_RMDIR
Der Vorgang kann fehlschlagen, "wenn das angegebene Verzeichnis nicht leer ist" (obwohl es anscheinend nicht vorgeschrieben ist).
Wenn das Verzeichnis keine Unterverzeichnisse hat, können Sie rm foo/*
verwenden (bedeutet OpenSSH SFTP-Befehl, nicht Shell-Befehl), um zuerst alle Dateien im Verzeichnis zu entfernen. Und dann verwenden Sie rmdir
.