首先看下axel的用法介绍:
- usr/local/axel/bin/axel
- Usage: axel [options] url1 [url2] [url...]
- --max-speed=x -s x Specify maximum speed (bytes per second)
- --num-connections=x -n x Specify maximum number of connections
- --output=f -o f Specify local output file
- --search[=x] -S [x] Search for mirrors and download from x servers
- --header=x -H x Add header string
- --user-agent=x -U x Set user agent
- --no-proxy -N Just don't use any proxy server
- --quiet -q Leave stdout alone
- --verbose -v More status information
- --alternate -a Alternate progress indicator
- --help -h This information
- --version -V Version information
- usr/local/axel/bin/axel http://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.5/MySQL-5.5.16-1.linux2.6.x86_64.tar
http://ftp.iij.ad.jp/pub/db/mysq ... linux2.6.x86_64.tar
这个文件.
看看其它参数的意思:
-s 限制下载最大速度 bytes/秒
-n 设置下载连接数,比如 -n 10 最大开启10个下载连接(这里是连接数,不是线程数)
-o 下载后,在本地的存储文件名称
-S 查找该文件的镜像服务器(关于如何查找,后面会谈到) 如果输入x的话,会从前x个镜像服务器去下载,排名按照下载速度从大到小取前top x个.
-H 增加头信息,自持多个header信息, 比如 -H header1 -H header2 ..等
-U 设置用户代理,比如系统默认的代理信息 -U Axel 2.4 (Linux)
-N 不使用任何http代理
-q 仅仅保留标准输出
-v 输出更多的状态信息
-a 输出交替的进度条
-h 打印这个帮助信息
-V 打印版本信息
关于命令行参数的解析,在text.c的main函数中(大概92行左右)中能看到.