有没有办法像“scp”做远程复制一样做一个远程“ls”?

yaz*_*com 78 linux shell

有没有办法做一个远程“ls”,就像“scp”在标准linux shell中做远程复制一样?

Cor*_* S. 100

你总是可以这样做:

ssh user@host ls -l /some/directory
Run Code Online (Sandbox Code Playgroud)

这将通过 SSH 连接到主机,运行 ls,将输出转储给您并立即断开连接。

  • ...如果你有真正的shell访问。一些系统有一个特殊的 shell,它只接受某些 `scp` 和 `rsync` 调用,也许还有 `sftp`,仅此而已。 (7认同)
  • @WalrustheCat `alias rls="ssh user@host ls -l"` 重启你的 shell,`rls /some/directory` 应该可以工作了。 (2认同)

小智 17

列出目录中的所有文件:

rsync host.name.com:directory/path/'*'
Run Code Online (Sandbox Code Playgroud)

对于类似 find directory/path -ls

rsync -r host.name.com:directory/path
Run Code Online (Sandbox Code Playgroud)


tob*_*obs 9

对于所有通过谷歌来回答这个问题的人,因为他们正在寻找一种列出远程文件但无法通过 ssh(备份服务器的常见情况)访问远程服务器的方法,您可以使用“sftp”。

例子:

sftp username@hostname.xyz
ls
cd somedir
exit
Run Code Online (Sandbox Code Playgroud)

在特定远程目录中启动交互式会话:

sftp [user@]host[:dir]
Run Code Online (Sandbox Code Playgroud)