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

yizhihongxing

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

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如何将多个模型的ROC曲线绘制在一张图(含图例)

    针对这个问题,可以按照以下步骤绘制多个模型的ROC曲线并显示图例: 1. 准备数据 首先需要准备多个模型预测结果的真实标签和预测概率值,可以使用sklearn中自带的datasets中的样例数据或者自己准备数据。这里以手写数字识别数据集为例子。 from sklearn import datasets from sklearn.model_selection…

    python 2023年5月18日
    00
  • Python Requests 基本使用及Requests与 urllib 区别

    Python Requests 基本使用及 Requests 与 urllib 区别 简介 Python 网络编程的库有很多,例如:httplib、urllib、urllib2、httplib2等。其中,requests 是 Python 社区最广泛使用的 HTTP 请求库之一。它简化了Python网络请求的过程,可以节省时间和精力。本文将介绍如何使用 Py…

    python 2023年5月20日
    00
  • pandas中的ExcelWriter和ExcelFile的实现方法

    下面是详细的讲解和示例: 什么是ExcelWriter和ExcelFile? 在使用pandas库操作Excel文件时,我们通常会用到ExcelWriter和ExcelFile这两个类来操作Excel文件。 ExcelWriter类是一个非常常用的类,它提供了一种将多个DataFrame写入单个Excel文件的方法。通过ExcelWriter类,我们可以将不…

    python 2023年5月13日
    00
  • Python tkinter事件高级用法实例

    请允许我从以下几个方面来讲解Python tkinter事件高级用法实例的完整攻略。 简介 Python tkinter是一个用于图形用户界面编程的模块。在tkinter中,事件是很重要的概念,它可以使程序变得更加动态和交互,同时可以增强用户体验。在Python tkinter中,事件也有许多高级用法,例如延迟事件、绑定事件等。 延迟事件 延迟事件指的是,当…

    python 2023年6月5日
    00
  • 浅析Python字符串中的r和u的区别

    下面是“浅析Python字符串中的r和u的区别”的完整攻略: 一、背景 Python是一种动态、面向对象、解释型计算机编程语言。在Python中,我们常常会用到字符串,但是有时候会出现一些奇怪的字母r和u,这是什么意思呢?下面我将详细解释这个问题。 二、r的含义 在Python中,r代表着raw string(原始字符串)的意思。raw string是一种特…

    python 2023年5月20日
    00
  • python使用内存zipfile对象在内存中打包文件示例

    当需要将一些文件打包成一个zip文件时,我们通常会使用zipfile模块,用法非常简单。但是,如果我们想将一些内容直接打包到内存中,并在没有写入到硬盘上的情况下读取这些内容,那么该怎么办呢?这时,我们可以使用io模块提供的内存文件功能来创建一个BytesIO对象,然后通过zipfile模块的ZipFile类创建一个内存中的zipfile对象。 下面我将详细讲…

    python 2023年6月3日
    00
  • python属于解释型语言么

    Python是一种高级编程语言,被广泛用于许多应用程序和网站的开发。关于Python是否是解释型语言,有一些争议。以下是对这个问题的详细分析。 什么是解释型语言? 解释型语言是一种程序设计语言,其源代码不需要直接编译,而是由解释器解释并执行。解释器逐行读取代码,将其翻译成计算机可执行的指令。每次程序运行时,解释器都会重新解释源代码。 相比而言,编译型语言需要…

    python 2023年6月5日
    00
  • Python argparse库的基本使用步骤

    Python 的 argparse 库是 Python 内置的命令行解析库,它可以帮助我们解析命令行参数并根据不同的参数执行不同的逻辑。下面是 argparse 库的基本使用步骤: 步骤一:导入 argparse 库 import argparse 在正式开始使用 argparse 库时,我们需要先导入 argparse 库。 步骤二:创建 Argument…

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