无法导航到远程Linux机器上的所需文件夹,如何使用paramiko做到这一点?

发布于 2021-01-29 15:01:47

我正在使用Pyhton paramiko,我的网站服务器具有这样的文件夹结构-

1]dir1
      --dirP
      --dirQ
2]dir2
      --dirA
          --file.sh
      --dirB
3]dir3

我想从dir2文件夹中的dirA访问file.sh

我试过了

import paramiko
client.connect('mysite.com', username='something', password='something')
stdin, stdout, stderr = client.exec_command('cd dir2')
stdin, stdout, stderr = client.exec_command('ls')
for line in stdout:
    print('... ' + line.strip('\n'))

但我得到输出

  ...dir1
  ...dir2
  ...dir3

预期输出是-

...dirA
...dirB

并建议我也可以执行file.sh吗?

关注者
0
被浏览
84
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    client.exec_command("cmd ...")就像命令ssh user@host "cmd ..."等等

    client.exec_command('cd dir2')
    client.exec_command('ls')
    

    就像

    ssh user@host 'cd dir2' # this would not affect the following `ls'
    ssh user@host 'ls'
    

    。因此,您需要这样做:

    client.exec_command('cd dir2; ls')
    

    就像

    ssh user@host 'cd dir2; ls'
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看