有没有办法做一个远程“LS”很像“SCP”远程复制?

有没有办法做一个远程“LS”很像“SCP”远程复制在标准的Linuxshell

你总是可以这样做:

ssh user@host ls -l /some/directory 

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

列出目录中的所有文件:

 rsync host.name.com:directory/path/'*' 

对于像find / path -ls这样的东西

 rsync -r host.name.com:directory/path 

是。 SSH和做一个ls

 ssh host ls /path 

你可以很容易地编写脚本来更灵活,或者使用scp使用的host:path语法。

我发现我最经常使用的是获取ls结果,一个没有所有权限和date等的简单文件列表,并将其保存在本地文件中。

 { ssh [email protected] "cd /dir/of/interest; ls -1f *.txt;" } > /home/me/listoffiles.txt 

你可以在引号内运行任何你想要的东西。 所有输出结束在您的本地文本文件。 或者,如果你想在服务器上运行一个非常糟糕的脚本,并捕获所有的输出,甚至是错误:

 { ssh [email protected] <script.remote.sh } > /home/me/output.log 2>/home/me/output.err 

对于所有通过谷歌来到这个问题,因为他们正在寻找一种方式来列出远程文件,但不能通过ssh访问远程服务器(常见的备份服务器),你可以使用'sftp'。

例:

 sftp [email protected] ls cd somedir exit 

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

 sftp [user@]host[:dir]