通过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命令行了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:通过python连接Linux命令行代码实例 - Python技术站

(1)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • 详解Python 函数式复合和PyMonad*运算符

    Python函数式复合 函数式编程允许使用函数组合,将多个函数连接起来,实现更加复杂的功能。在Python中,可以使用lambda函数和reduce函数实现函数式复合。 lambda函数的格式为:lambda arguments: expression。其中,arguments为函数的参数,expression为函数的返回值。使用lambda函数可以定义匿名…

    python-answer 2023年3月25日
    00
  • 详解Python中的Dict(下篇)

    下面是关于“详解Python中的Dict(下篇)”的完整攻略。 1. Dict的常用方法和操作 1.1. 获取字典中的值 我们可以通过键(key)获取字典中对应的值(value),示例如下: fruits = {‘apple’: 3, ‘banana’: 5, ‘orange’: 2} print(fruits[‘banana’]) # 输出 5 如果键不存…

    python 2023年5月13日
    00
  • 编写每5分钟执行一次的python脚本

    【问题标题】:write python script that is executed every 5 minutes编写每5分钟执行一次的python脚本 【发布时间】:2023-04-04 06:10:01 【问题描述】: 我需要编写一个在启动时自动启动并在树莓派上每 5 分钟执行一次的 Python 脚本。如何才能做到这一点?特别是,我怎样才能避免让脚…

    Python开发 2023年4月6日
    00
  • python字符串集合面试笔试题

    python字符串面试笔试题 1: 以下代码的输出是? s = ‘foo’ t = ‘bar’ print(‘barf’ in 2 * (s + t)) A.TrueB.Fasle +运算符连接字符串,而*运算符创建多个副本。 2 *(s + t)的结果是’foobarfoobar’,它确实包含字符串’barf’。 2: 以下代码的输出是? print(or…

    python 2023年4月27日
    00
  • python 模块重载的五种方法

    Python 模块重载的五种方法 在Python中,我们可以通过定义模块来将代码分离成不同的文件,方便管理和维护。但是在开发过程中,我们经常需要对模块进行修改,然后重新加载模块,这时候就需要用到模块重载了。本文将介绍 Python 模块重载的五种方法。 方法一:使用 reload() 函数 最基本的模块重载方法就是使用内置函数 reload()。通过调用 r…

    python 2023年6月2日
    00
  • python利用正则表达式搜索单词示例代码

    以下是“Python利用正则表达式搜索单词示例代码”的完整攻略: 一、问题描述 在Python中,我们可以使用正则表达式来搜索单词。本文将详细讲解Python利用正则表达式搜索单词的方法,以及如何在实际开发中应用。 二、解决方案 2.1 搜索单词的方法 在Python中,搜索单词的方法可以使用正则表达式来实现。我们可以使用re模块中的findall()函数来…

    python 2023年5月14日
    00
  • Python+Requests+PyTest+Excel+Allure 接口自动化测试实战

    Python+Requests+PyTest+Excel+Allure接口自动化测试实战 接口自动化测试是Web开发中非常重要的一环。Python提供了多种库来实现接口自动化测试,其中包括了Requests、PyTest、Excel和Allure等。本文将介绍如何使用这些库来实现接口自动化测试,并提供两个示例。 步骤一:安装所需库 在进行接口自动化测试之前,…

    python 2023年5月15日
    00
  • 如何成为一名黑客全系列说明

    如何成为一名黑客全系列说明 什么是黑客 首先,我们需要明确一个概念:黑客并不等同于犯罪者。黑客通常是指善意的、有着高超计算机技能的计算机专家。他们的目的是弄清楚计算机系统的运作原理,以及如何安全、高效地运行。黑客的技术可以用来保护自己的网络安全,也可以用来测试软件的漏洞。那么,如何成为一名黑客呢? 学习编程语言 成为一名黑客的第一步,就是要学会编写代码。下面…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部