Linux 使用plink.exe时,如何让ls命令以列形式输出结果
在Linux 使用plink.exe时,如何让ls命令以列形式输出结果,linux,ssh,ls,plink,Linux,Ssh,Ls,Plink,在cmd中使用plink来ssh我的MacOS和ls目录。但是,结果在一列中。因为列表很长,但名称很短,所以我尝试在3或4列中显示结果,就像默认情况下在terminal中显示的那样。我无法让它在使用plink时执行此操作 我尝试过的几个选项: plink.exe -ssh -l <username> -pw <password> <IP> "ls /Users/Dir/" 希望使用带有CMD的plink获得此结果 Folder 1 fol
cmd
中使用plink来ssh我的MacOS和ls
目录。但是,结果在一列中。因为列表很长,但名称很短,所以我尝试在3或4列中显示结果,就像默认情况下在terminal中显示的那样。我无法让它在使用plink时执行此操作
我尝试过的几个选项:
plink.exe -ssh -l <username> -pw <password> <IP> "ls /Users/Dir/"
希望使用带有CMD的plink获得此结果
Folder 1
folder 2
folder 3
folder 4
folder 5
folder 6
folder 1 folder 2 folder 3
folder 4 folder 5 folder 6
folder 7 folder 8 folder 9
在没有终端的会话中使用命令时,它们倾向于以机器可读的确定格式生成输出 对于
ls
,这意味着每行一个文件,不着色,等等
当您从命令行使用plink(或OpenSSHssh
)执行命令时,它不会为会话分配伪终端。因此,ls
(和其他命令)的行为与您的体验类似
如果希望命令的行为类似于终端,请添加到其命令行以强制使用伪终端
plink.exe -t -ssh -l <username> -pw <password> <IP> "ls /Users/Dir/"
plink.exe-t-ssh-l-pw“ls/Users/Dir/”
但是,如果您的目标是解析输出,请不要这样做,因为格式可能会随着环境的更改而更改,并且您的代码将中断。您还可以得到许多其他副作用,如ANSI转义码、分页等。您最好坚持使用默认格式
关于使用Plink执行命令的更一般的问题:
通过使用winGnu的“pr”找到了解决方法。切换plink命令以将结果输出到PC上的文件,并将结果列在cmd中
mode con:cols=180 lines=100
echo. > Results.txt
plink.exe -t -ssh -l <username> -pw <pass> <IP> "ls /Users/Dir/" > Results.txt
pr -3 -t -w180 Results.txt
del Results.txt
模式con:cols=180行=100
回声。>Results.txt
plink.exe-t-ssh-l-pw“ls/Users/Dir/”>Results.txt
pr-3-t-w180 Results.txt
del Results.txt
plink.exe -t -ssh -l <username> -pw <password> <IP> "ls /Users/Dir/"
mode con:cols=180 lines=100
echo. > Results.txt
plink.exe -t -ssh -l <username> -pw <pass> <IP> "ls /Users/Dir/" > Results.txt
pr -3 -t -w180 Results.txt
del Results.txt