当前位置: 移动技术网 > 科技>操作系统>Linux > Linux—文件上传和下载

Linux—文件上传和下载

2019年09月20日  | 移动技术网科技  | 我要评论

一、通过securecrt的rz、sz实现文件的上传和下载

1.检查是否安装sz  rz,命令如下

[root@localhost ~]# rpm -qa | grep rz   # 上传
[root@localhost ~]# rpm -qa | grep sz   # 下载

2.安装lrzsz软件,命令如下

[root@localhost ~]# yum install -y lrzsz             # centos
[root@localhost ~]# apt-get install -y lrzsz         # ubuntu

3.文件上传

[root@localhost ~]# rz
[root@localhost ~]# rz -be
使用rz会有两个问题: 上传中断、上传文件变化(md5不同)。解决办法如下:
-b: 用binary的方式上传下载, 不解释字符为ascii。 -e: 强制escape所有控制字符, 比如ctrl+x, del等。

4.文件下载

# 1.下载一个文件
[root@localhost ~]# sz filename 
[root@localhost ~]# sz requirements.txt

# 2.下载多个文件 [root@localhost ~]# sz filename1 filename2
# 3.下载dir目录下的所有文件,不包含dir下的文件夹 [root@localhost ~]# sz dir/*

二、通过sftp实现文件的上传和下载

  • 为了数据和服务的安全, 很多生产环境中的linux服务器不能使用外网环境. 在只有ssh连接的情况下, 传输文件变得很不方便。
  • 如果linux服务器未安装用于上传和下载的lrzsz软件, 又不能现场安装, 此时可考虑使用sftp完成相关操作。
  • ftp是一种方便数据共享的文件传输协议, 包括一个ftp服务器和多个ftp客户端. ftp客户端通过ftp协议从服务器上下载资源。
  • sftp是secure file transfer protocol(安全文件传输协议)的缩写, 可以为传输文件提供一种安全的网络的加密方法。
  • sftp协议是在ftp的基础上, 对数据采取了加密/解密技术, 使数据传输更安全。
  • sftp的传输效率比ftp的低很多。

windows系统下, 可以使用core ftp、filezilla、winscp、xftp等软件来连接sftp进行上传/下载文件、建立/删除目录等操作。这里主要探讨linux系统下的操作。

1.软件环境

可以使用任意终端工具, 比如xshell, 或securecrt。

2.sftp建立连接

[root@localhost ~]# sftp username@remote_ip(or remote host name),      # 连接root用户, 则可省略"root@". 
[root@localhost ~]# sftp -o port=1000 username@remote_ip
[root@localhost ~]# sftp root@68.56.32.159

3.sftp - 上传文件:如果上传/下载的是文件夹, 在put/get命令后加上-r参数即可。

上传文件:  把本地服务器的/www/wwwroot目录下面的study.log文件上传到远程服务器的/www/server目录下。
sftp> lcd /www/wwwroot sftp> put study.log /www/server

上传文件夹:把本地服务器的/www/wwwroot目录下面的test文件夹上传到远程服务器的/www/server目录下。
sftp> put -r test /www/server

查看远程服务器/www/server目录下面的文件和文件夹
sftp> ls /www/server

4.sftp - 下载文件

下载文件:  把远程服务器的/www/server目录下面的study.log文件下载到本地服务器的/www目录下。
sftp> get /www/server/study.log /www
下载文件夹:把远程服务器的/www/server目录下面的test文件夹下载到本地服务器的/www目录下。
sftp> get -r /www/wwwroot/test /www

查看本地服务器/www目录下面的文件和文件夹
sftp> lls /www

5.sftp与ftp有着几乎相同的语法和功能

① ls, rm, cd, mkdir, pwd     等指令是对当前连接的远程端服务器的操作。
② lls, lrm, lcd, lmkdir, lpwd 等指令是对本地端服务器的操作 —— 在上述指令前加l(local)即可。

6.退出sftp

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网