D'après mon expérience, rmdir préfère travailler sur un répertoire vide. Si vous essayez de supprimer le répertoire foo
, je ferais :
$rm foo/*
$rmdir foo
Vous n'avez pas spécifié quel client SFTP vous utilisez. Je suppose donc OpenSSH SFTP (sftp
).
Commande rmdir
dans OpenSSH, le client SFTP correspond directement à SSH_FXP_RMDIR
Demande de protocole SFTP. La spécification SFTP pour la version 3 (celle utilisée par OpenSSH) mentionne spécifiquement que le SSH_FXP_RMDIR
l'opération peut échouer, "si le répertoire spécifié n'est pas vide" (bien qu'il ne semble pas l'obliger).
Si le répertoire n'a pas de sous-répertoires, vous pouvez utiliser rm foo/*
(c'est-à-dire la commande OpenSSH SFTP, pas la commande shell) pour supprimer d'abord tous les fichiers du répertoire. Et puis utilisez rmdir
.