使用 SSH 从远程主机删除文件

使用 SSH 从远程主机删除文件

我需要使用 SSH 删除远程目录中的所有文件,

目录本身不能被删除,所以@Wes 的答案不是我需要的。如果是本地目录,我会运行rm -rf dir/*

答案1

它非常简单:

ssh HOSTNAME rm -rf "/path/to/the/directory/*"

答案2

ssh根据我的机器上的 man :

If command is specified, it is executed on the remote host instead 
of a login shell.

这意味着 ssh 传递的命令的 shell 扩展不会在远程端完成。因此我们需要“自包含”命令,它不依赖于 shell 扩展。

ssh user@remote-machine "find /path/to/directory -type f -exec rm {} \;"

这里所有查找要删除的文件的工作均由 独自完成find,无需 shell 的帮助。

一些类似的问题

答案3

这应该可以解决问题:

ssh HOSTNAME "sh -c 'rm -rf /path/to/the/directory/*'"

请注意,您需要用双引号将远程命令括起来,用单引号将路径名括起来。

答案4

从目录层次结构中删除所有文件:

ssh user@HOSTNAME 'rm $(find /path/to/directory -type f)' 

相关内容