我连接了我的 OpenSSH,但是 ssh 的命令是什么来查找所有 *.png 文件并同时递归获取它们
您可以使用 列出您感兴趣的文件ssh,然后使用以下命令下载它们scp:
ssh user@host find /remote_path -iname '*.png' |
while read pngfile; do
scp user@host:"$pngfile" /local_path
done
Run Code Online (Sandbox Code Playgroud)
下的所有*.png文件/remote_path都会下载到/local_path,但是不会创建远程目录结构(所有文件都放在同一个目录下),所以如果你在不同目录下有两个同名的文件可能会出现问题。
编辑
远程find命令行应该这样更正:
find /remote_path -iname "'*.png'"
Run Code Online (Sandbox Code Playgroud)
其中需要内部一对单引号来避免 . 的本地 shell 路径名扩展*,而需要外部双引号来避免*.
这两种类型的引号可以交换,也可以使用其他语法,如\''*.png'\',\""*.png"\"或"\"*.png\""。
如果远程主目录中没有 .png ,则两个命令之间没有区别,但最好是安全的。