SSHを使用してリモートディレクトリ内のすべてのファイルを削除する必要があります。
ディレクトリ自体を削除してはならないので、@ Wesの答えは私が必要としているものではありません。ローカルディレクトリの場合は、rm -rf dir/*
を実行します。
私のマシンのssh
の人によると:
If command is specified, it is executed on the remote Host instead
of a login Shell.
これは、sshによって渡されたコマンドのシェル拡張がリモート側で実行されないことを意味します。したがって、シェル拡張を中継しない「自己完結型」コマンドが必要です。
ssh user@remote-machine "find /path/to/directory -type f -exec rm {} \;"
ここでは、削除するファイルを見つけるためのすべての作業は、シェルの助けを借りずに、find
によって排他的に実行されます。
似たような 質問
それは次のように簡単です:
ssh HOSTNAME rm -rf "/path/to/the/directory/*"
これでうまくいくはずです:
ssh HOSTNAME "sh -c 'rm -rf /path/to/the/directory/*'"
リモートコマンドは二重引用符で囲み、パス名は一重引用符で囲む必要があることに注意してください。