文档章节

通过python模块实现服务器和本地机器之间快速拷贝文件

blackfoxya
 blackfoxya
发布于 2018/07/30 09:25
字数 839
阅读 285
收藏 0

在实际的开发过程中,很多时候我们都不直接在本机上开发,一般都在远程服务器上开发并运行程序。

比如三胖在实际开发中就会使用到很多台服务器:我有一台笔记本电脑,通过 ssh 连接着很多台服务器,我需要经常在不同的服务器上进行开发,所以总会遇到在不同计算机之间传输文件的情景。

可以归纳为以下几个情景:

  • 个人电脑和个人电脑之间传递文件;
  • 服务器和服务器之间传递文件;
  • 服务器与个人电脑(笔记本)之间传递文件。

工作的时候经常会遇到有时候需要把 linux 机器上的文件传到本地机器的场景。总结了一下大概有下面几种方法:

  1. 在本地机器上安装支持 scp 的 ssh 工具(这种大多是收费的)
  2. 在 linux 机器上使用 ftp 服务
  3. 在 linux 机器上安装 rz/sz 工具(需要在 linux 上安装额外的包,terminal 这边也需要支持)

今天的重磅是第三个情景——服务器与个人电脑之间的文件传递,相信很多同学这时候会迫不及待地说:“直接 rz,sz 命令不就得了吗,至于那么麻烦吗?”。

确实,sz/rz命令是Linux服务器与ssh客户端进行文件交互的命令,也就是上传和下载文件到服务器和本地。

sz:将选定的文件发送(send)到本地机器

rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)

确实,这两个命令是可以实现服务器与个人电脑之间上传下载文件的。不过有两个问题,当文件十分大的时候,对于部分电脑而言,sz/rz就会失败。还有,如果我们需要把文件传递给其他人,而不是从服务器上下载文件到本地,该怎么解决?

我们现在来了解在第三种情景下,怎么用一行代码来搭建一个http服务器实现文件传输。

1)cd 到需要共享文件的目录:

[root@V1 /]# cd /logs
[root@V1 logs]# 

2)执行命令 python -m SimpleHTTPServer, 启动 HTTP 服务

Python2:

[root@V1 logs]#  python -m SimpleHTTPServer 8001  
Serving HTTP on 0.0.0.0 port 8001 ...

Python3:

python3 -m http.server port

3)现在在浏览器打开 http://[ip-address]:8001 就能看到共享目录下的所有文件了

如果需要很长时间使用的话,请将命令放置在 screen 或其他虚拟窗口中启动。

 

 

参考资料

1. 通过python模块实现服务器和本地机器之间快速拷贝文件

2. 两行python代码实现一个http服务器,告别文件传输烦恼

© 著作权归作者所有

上一篇: paramiko模块
下一篇: 定时任务crontab
blackfoxya
粉丝 6
博文 92
码字总数 113041
作品 0
长沙
运维
私信 提问
Django 框架16: 项目部署

布署 1.服务器介绍 ①服务器:私有服务器、公有服务器 ②私有服务器:公司自己购买、自己维护,只布署自己的应用,可供公司内部或外网访问 ③公有服务器:集成好运营环境,销售空间或主机,供...

代码打碟手
2018/08/18
27
0
通过Python在Windows或Linux上快速搭建HTTP服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fengbingchun/article/details/89855807 在Windows 7/10或Ubuntu上可以通过python2.x或python3.x来快速搭建一...

fengbingchun
05/05
0
0
python pyrex windows 编译C可执行文件

python写成py文件经过处理转化成pyx文件,以及函数说明文件pyi使用pyrexc.py编译成对应模块的c和h文件 然后写一个main的cpp文件,使用cmake产生vs工程,使用incredBuild编译工程。 以下是一个...

悠米海
2012/09/25
601
0
Python对象持久化学习整理

随着项目的深入,python对象持久化问题也随之而来。而在这之前,对于python对象持久化还停留在pickle时代,而这已无法满足当前项目发展的需要了,于是只好借助google疯狂的学习了一把,同时也...

索隆
2012/05/24
700
0
ansible管理windows实践

ansible管理windows实践 一、前言 近期打算搞搞自动部署,因为是windows服务器,一些工具和系统支持都不是太好。最后发现ansible比较火,最重要的是他支持windows。本文主要就ansible 在win...

holy2009
2018/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部