关键词

通过python连接Linux命令行代码实例

下面是详细的攻略,我将分部分介绍:

1. 前置条件

在开始之前,我们需要确保以下几点:

  • 拥有一台Linux服务器,该服务器能够通过ssh方式远程访问;
  • 在本地电脑安装Python编程语言以及相关的库,如paramiko。

2. 安装paramiko库

paramiko是Python中处理SSH连接的库。我们需要安装该库,以便于编写Python代码连接Linux命令行。

在命令行中输入以下命令进行安装:

pip install paramiko

3. 连接Linux命令行

接下来,我们可以开始编写Python代码连接Linux命令行。

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接Linux服务器
ssh.connect("localhost", port=22, username="root", password="123456")

# 在Linux命令行上执行命令
stdin, stdout, stderr = ssh.exec_command("ls -l")

# 输出结果
print(stdout.read().decode())

# 关闭连接
ssh.close()

以上代码的流程如下:

  • 首先导入paramiko库;
  • 创建SSHClient对象,并设置允许自动添加SSH密钥;
  • 连接Linux服务器;
  • 在Linux命令行上执行命令ls -l,并将结果保存到stdinstdoutstderr对象中;
  • 打印stdout对象中的结果;
  • 关闭连接。

4. 示例1:创建目录

接下来,我们将尝试在Linux命令行上创建一个目录。我们可以参考以下代码示例:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接Linux服务器
ssh.connect("localhost", port=22, username="root", password="123456")

# 创建目录
stdin, stdout, stderr = ssh.exec_command("mkdir /root/test_directory")

# 输出结果
print(stdout.read().decode())

# 关闭连接
ssh.close()

以上代码的流程与前面的示例类似。我们在Linux命令行上执行mkdir /root/test_directory命令,创建一个名为test_directory的目录。执行命令后,我们可以通过stdout对象获取到结果。

5. 示例2:上传文件

在实际应用中,我们可能需要将本地电脑中的文件上传至Linux服务器上。我们可以通过paramiko库实现该功能。

以下是上传文件的示例代码:

import paramiko
import os

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

# 连接Linux服务器
ssh.connect("localhost", port=22, username="root", password="123456")

# 本地文件路径
local_path = "/Users/test/test-file.txt"

# 远程文件路径,将文件上传至/root目录下
remote_path = "/root"

# 利用sftp实现文件上传
sftp = ssh.open_sftp()
sftp.put(local_path, os.path.join(remote_path, os.path.basename(local_path)))
sftp.close()

# 打印上传成功
print("文件上传成功")

# 关闭连接
ssh.close()

我们首先通过open_sftp()方法创建一个SFTP对象,然后使用put()方法将本地电脑上的文件上传至Linux服务器上。完成上传后,我们可以打印文件上传成功

参考以上攻略和代码示例,你就可以通过Python连接Linux命令行了。

本文链接:http://task.lmcjl.com/news/15167.html

展开阅读全文