Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 使用plink.exe时,如何让ls命令以列形式输出结果_Linux_Ssh_Ls_Plink - Fatal编程技术网

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(或OpenSSH
ssh
)执行命令时,它不会为会话分配伪终端。因此,
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