我使用 PuTTY 连接到中间服务器,并使用
sftp
进一步连接到生产服务器。一旦我在生产服务器上输入 ls
命令,就会出现很多文件,但我无法看到全部文件,因为文件太多了。
我尝试使用
ls | less
,但这不起作用:
sftp> ls | less
Couldn't stat remote file: No such file or directory
Can't ls: "/export/home/wbcm/|" not found
三种不同的解决方案:
您可能会受到 PuTTY 默认回滚 2000 行的限制。
进入 PuTTY 配置对话框的 Windows 页面,找到 Lines of rollback 框。输入大于默认 2000 的值。
less
命令关于
ls | less
。你在 sftp
里,而不是在贝壳里。 OpenSSH less
客户端中没有 sftp
命令。更不用说输出管道了(|
)。您需要将 less
应用于 sftp
命令的输出。例如:
echo "ls /home/username/zillions_of_files" | sftp [email protected] | less
我假设您通过 ssh(使用 PuTTY)到某个服务器,然后通过 sftp(使用 OpenSSH 命令行客户端)到另一台(生产)服务器,因为您无法从 Windows 计算机直接通过 sftp 到生产服务器(即无法使用 WinSCP 连接的原因)。如果是这种情况,请使用 WinSCP 的 隧道功能 绕过限制并直接在 WinSCP 中列出文件。
(我是WinSCP的作者)