第十章 Linux系统之文件上传下载工具
一、文件上传下载工具-rz
1.含义
rz命令来自于英文词组”receive ZMODEM“的缩写,其功能是基于ZModem协议上传文件到服务器。当我们在使用例如Xshell、SecureCRT、PuTTY等虚拟终端软件时,可以使用rz命令将本地文件上传到服务器,直接输入rz命令后选择要上传的文件即可,不能上传目录,需要将目录打成一个压缩包进行上传,只能上传4G以下的文件。
若您的系统中找不到sz与rz命令,请配置好软件仓库后执行”yum install lszrz -y“这条命令。
语法格式:rz [参数]
2.常用参数:
-B | 设备缓冲区大小 |
---|---|
-E | 当上传的文件已经存在时,系统会进行重命名 会在原来的文件名称后面加上.数字 从0开始 |
-D | 测试模式,不保存文件 |
-e | 转换所有的控制字符 |
-y | 遇到重名的文件直接覆盖 |
-p | 遇到重名的文件不要覆盖 |
3.常用示例
上传指定的文件到服务器:
[root@jindada ~]# rz
…………弹出窗口中选择要上传的文件即可…………
上传指定的文件到服务器,遇到重名的文件直接覆盖:
[root@jindada ~]# rz -y
…………弹出窗口中选择要上传的文件即可…………
上传指定的文件到服务器,遇到重名的文件不要覆盖:
[root@jindada ~]# rz -p
…………弹出窗口中选择要上传的文件即可…………B
二、文件上传下载工具-wget
1.含义
wget命令来自于英文词组”web get“的缩写,其功能是用于从指定网址下载网络文件。wget命令非常稳定,一般即便网络波动也不会导致下载失败,而是不断的尝试重连,直至整个文件下载完毕。
wget命令支持如HTTP、HTTPS、FTP等常见协议,可以在命令行中直接下载网络文件。
语法格式: wget [参数] 网址
2.常用参数:
-V | 显示版本信息 |
---|---|
-h | 显示帮助信息 |
-b | 启动后转入后台执行 |
-c | 支持断点续传 |
-O | 定义本地文件名 |
-e <命令> | 执行指定的命令 |
-q | 静默输出 |
--limit-rate=<速率> | 限制下载速度 |
3.常见示例
安装wget
yum install -y wget
下载指定的网络文件
[root@jindada ~]# wget http://www.baidu.com
--2020-07-10 11:57:50-- http://www.baidu.com/
Resolving www.baidu.com (www.baidu.com)... 112.80.248.75, 112.80.248.76
Connecting to www.baidu.com (www.baidu.com)|112.80.248.75|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2381 (2.3K) [text/html]
Saving to: ‘index.html’
100%[===============================================================================>] 2,381 --.-K/s in 0.008s
2020-07-10 11:57:51 (290 KB/s) - ‘index.html’ saved [2381/2381]
[root@jindada ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:00:16-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 95.211.80.227, 62.210.92.35, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|95.211.80.227|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
100%[===============================================================================>] 1,039,530 282KB/s in 3.6s
2020-07-10 12:00:20 (282 KB/s) - ‘nginx-1.18.0.tar.gz’ saved [1039530/1039530]
[root@jindada ~]# ll
total 1020
-rw-r--r--. 1 root root 2381 Jul 10 11:57 index.html
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
下载指定的网络文件,并定义保存在本地的文件名称
[root@jindada ~]# wget -O /opt/nginx.tar.gz http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:01:41-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘/opt/nginx.tar.gz’
100%[===============================================================================>] 1,039,530 272KB/s in 3.7s
2020-07-10 12:01:46 (272 KB/s) - ‘/opt/nginx.tar.gz’ saved [1039530/1039530]
[root@jindada ~]# ll /opt/
total 1016
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostname
-rw-r--r--. 1 root root 0 Jul 10 10:32 hostnamectl
drwxr-xr-x. 2 root root 6 Jul 10 10:39 HOSTNAMECTL
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx.tar.gz
静默输出,不显示下载过程
[root@jindada ~]# wget -q http://nginx.org/download/nginx-1.19.1.tar.gz
[root@jindada ~]# ll
total 2100
-rw-r--r--. 1 root root 41240 Mar 23 00:20 032220_1620_Zabbix1.png
-rw-r--r--. 1 root root 9810 Jul 8 00:06 download.html
-rw-r--r--. 1 root root 2381 Jul 10 11:57 index.html
-rw-r--r--. 1 root root 1039530 Apr 21 22:33 nginx-1.18.0.tar.gz
-rw-r--r--. 1 root root 1047223 Jul 7 23:59 nginx-1.19.1.tar.gz
下载指定的网络文件,限速最高每秒10k
[root@jindada ~]# wget --limit-rate=10k http://nginx.org/download/nginx-1.18.0.tar.gz
--2020-07-10 12:11:13-- http://nginx.org/download/nginx-1.18.0.tar.gz
Resolving nginx.org (nginx.org)... 62.210.92.35, 95.211.80.227, 2001:1af8:4060:a004:21::e3
Connecting to nginx.org (nginx.org)|62.210.92.35|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1039530 (1015K) [application/octet-stream]
Saving to: ‘nginx-1.18.0.tar.gz’
32% [========================> ] 335,872 10.0KB/s eta 70s
启用断点续传技术下载指定的网络文件
[root@jindada ~]# wget -c http://nginx.org/download/nginx-1.18.0.tar.gz
下载指定的网络文件,将任务放至后台执行
[root@jindada ~]# wget -b http://nginx.org/download/nginx-1.18.0.tar.gz
Continuing in background, pid 237616.
Output will be written to ‘wget-log’.
三、文件上传下载工具-curl
1.含义
curl命令来自于英文词组”CommandLine URL“的缩写,其功能是用于在Shell终端界面中基于URL规则进行的文件传输工作。curl是一款综合的传输工具,可以上传也可以下载,支持HTTP、HTTPS、FTP等三十余种常见协议
语法格式:curl [参数] 网址
2.常用参数:
-o | 指定新的本地文件名 |
---|---|
-O | 保留远程文件的原始名 |
-u | 通过服务端配置的用户名和密码授权访问 |
-I | 打印HTTP响应头信息 |
-u | 指定登录账户密码信息 |
-A | 设置用户代理标头信息 |
-b | 设置用户cookie信息 |
-C | 支持断点续传 |
-s | 静默模式,不输出任何信息 |
-T | 上传文件 |
3.常用示例
获取指定网站的网页源码
[root@jindada ~]# curl https://www.baidu.com
<!DOCTYPE html>
<!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f
………………省略部分输出信息………………
下载指定网站中的文件
[root@jindada ~]# curl -o ./baidu.html www.baidu.com
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2381 100 2381 0 0 311 0 0:00:07 0:00:07 --:--:-- 657
[root@jindada ~]# ll
total 1356
-rw-r--r--. 1 root root 2381 Jul 10 12:15 baidu.html
打印指定网站的HTTP响应头信息
[root@jindada ~]# curl -I https://www.baidu.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Tue, 01 Nov 2022 02:24:44 GMT
Etag: "575e1f60-115"
Last-Modified: Mon, 13 Jun 2016 02:50:08 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
下载指定文件服务器中的文件
[root@jindada ~]# curl -u 用户名:密码 ftp://www.****.com/1.txt