linux-终端下常用下载工具

        在Linux中,我们经常会涉及到下载一些文件、软件压缩包之类的,在黑黑的终端下可不像桌面浏览器那样子,打开浏览器就可以选择保存地址,终端下都是使用命令来搞定的。


        1、curl

        curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中。

        curl 支持 HTTP、HTTPS、FTP 等协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、User-Agent、限速、文件大小、进度条等特征。

        

--
-A 或 --user-agent设置用户代理
-b 或 --cookiecookie 字符串或文件读取位置
-c 或 --cookie-jar操作结束后把 cookie 写入文件
--basic使用 HTTP 基本验证
-d 或 --dataPOST 方式传送数据
--data-ascii以 ASCII 的方式 POST 数据
--data-binary以二进制的方式 POST 数据
--tcp-nodelay使用 TCP_NODELAY 选项
-e 或 --referer来源网址
-E 或 --cert客户端证书文件和密码 (SSL)
--cert-type证书文件类型 (DER/PEM/ENG) (SSL)
--key私钥文件名 (SSL)
--key-type私钥文件类型 (DER/PEM/ENG) (SSL)
--pass私钥密码 (SSL)
--engine加密引擎使用 (SSL)
--cacertCA 证书 (SSL)
--capathCA 路径
--ciphersSSL 密码
-F 或 --form模拟 HTTP 表单提交数据
--form-string模拟 HTTP 表单提交数据
-H 或 --header自定义头信息传递给服务器
-I 或 --head只显示请求头信息
-T 或 --upload-file上传文件
-o 或 --output把输出写到文件中
-O 或 --remote-name把输出写到文件中,保留远程文件的文件名
-s 或 --silent静默模式。不输出任何东西

        curl命令很强大,下面是下载的功能

curl https://mirrors.aliyun.com/archlinux/iso/2017.11.01/archlinux-2017.11.01-x86_64.iso -O /tmp/archlinux.iso

        

        2、多线程下载axel

        axel是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。

axel 参数 文件下载地址
常用的参数:
-n 指定线程数
-o 指定另存为目录
-s 指定每秒的最大比特数
-q 静默模式

        例子:

axel -n 10 https://mirrors.aliyun.com/archlinux/iso/2017.11.01/archlinux-2017.11.01-x86_64.iso

        冷暖自知一抹茶ck

        需要更多高级功能可以查看帮助!

axel --help


        3、aria2

        aria2开源命令行下载加速器,支持多个端口,你可以使用最大带宽来下载文件,是一款易于安装、易于使用的工具。

        例子:

aria2c https://mirrors.aliyun.com/archlinux/iso/2017.11.01/archlinux-2017.11.01-x86_64.iso


        4、wget

         wget是最常用的工具,支持通过 HTTP、HTTPS、FTP 三个最常见的 TCP/IP协议 下载。

        wget 用于下载文件,支持断点续传。

        有时候看到别人网站的页面比较漂亮,就想给扒皮下来,学习学习。分享一个我常用网站扒皮命令wget 这个命令可以以递归的方式下载整站,并可以将下载的页面中的链接转换为本地链接。

        wget加上参数之后,即可成为相当强大的下载工具。

        wget命令详解:

wget -r -p -np -k http://xxx.com/xxx

-a<日志文件>:在指定的日志文件中记录资料的执行过程;

-A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔;

-b:进行后台的方式运行wget;

-B<连接地址>:设置参考的连接地址的基地地址;

-c:继续执行上次终端的任务;

-C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on;

-d:调试模式运行指令;

-D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔;

-e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令;

-h:显示指令帮助信息;

-i<文件>:从指定文件获取要下载的URL地址;

-l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔;

-L:仅顺着关联的连接;

-r:递归下载方式;

-nc:文件存在时,下载文件不覆盖原有文件;

-nv:下载时只显示更新和出错信息,不显示指令的详细执行过程;

-q:不显示指令执行过程;

-nh:不查询主机名称;

-v:显示详细执行过程;

-V:显示版本信息;

--passive-ftp:使用被动模式PASV连接FTP服务器;

--follow-ftp:从HTML文件中下载FTP连接文件。

另外断点续传用-nc参数 日志 用-o参数


wget直接加上URL就可以直接下载啦!

wget https://mirrors.aliyun.com/archlinux/iso/2017.11.01/archlinux-2017.11.01-x86_64.iso

 默认就是存在当前的路径,如果需要另存路径可以使用-O参数,重命名

wget  -O /home/isos/archlinux.iso https://mirrors.aliyun.com/archlinux/iso/2017.11.01/archlinux-2017.11.01-x86_64.iso

下载大的文件,下载到一半断网了怎么办?推荐使用-c参数,可以断点续传下载文件

wget -c  -O /home/isos/archlinux.iso https://mirrors.aliyun.com/archlinux/iso/2017.11.01/archlinux-2017.11.01-x86_64.iso

我们可以执行 Ctrl+ C,来模拟网络中断,然后再次执行上述命令,即可看到从终止点继续下载,而不是从头从新下载。

[root@localhost www.ck.com]# curl -O -c 4.zip http://down.golaravel.com/laravel/laravel-master.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0 7622k    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0^C
[root@localhost www.ck.com]# curl -O -c 4.zip http://down.golaravel.com/laravel/laravel-master.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 7622k  100 7622k    0     0  6978k      0  0:00:01  0:00:01 --:--:-- 6980k

冷暖自知一抹茶ck


冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论