私の経験では、rmdir は空のディレクトリで作業することを好みます。ディレクトリ foo
を削除しようとしている場合 、私なら:
$rm foo/*
$rmdir foo
使用している SFTP クライアントを指定していません。したがって、OpenSSH SFTP (sftp
) を想定しています。 ).
コマンド rmdir
OpenSSH SFTP クライアントでは SSH_FXP_RMDIR
に直接マップされます SFTP プロトコル要求。バージョン 3 (OpenSSH で使用されるもの) の SFTP 仕様では、SSH_FXP_RMDIR
「指定されたディレクトリが空でない場合」、操作が失敗する可能性があります (それを義務付けているようには見えませんが).
ディレクトリにサブディレクトリがない場合は、 rm foo/*
を使用できます (シェルコマンドではなく、OpenSSH SFTPコマンドを意味します)最初にディレクトリ内のすべてのファイルを削除します。そして rmdir
を使用します .