Linux—文件上传和下载
程序员文章站
2022-05-29 09:48:58
一、通过SecureCRT的rz、sz实现文件的上传和下载 1.检查是否安装sz rz,命令如下 2.安装lrzsz软件,命令如下 3.文件上传 4.文件下载 二、通过sftp实现文件的上传和下载 为了数据和服务的安全, 很多生产环境中的Linux服务器不能使用外网环境. 在只有SSH连接的情况下, ......
一、通过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