Wget是一个十分常用的命令行下载工具,多数Linux发行版本都默认包含这个工具。如果没有安装可在 http: //www.gnu.org/software/wget/wget.html 下载最新版本,并使用如下命令编译安装:
# cd wget-1.9.1
# ./configure
# make
# make install
它的用法很简单。
1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;
2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;
3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;
4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;
5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的;
wget虽然功能强大,但是使用起来还是比较简单的,基本的语法是:wget [参数列表] URL
下面就结合具体的例子来说明一下wget的用法。
1、下载整个http或者ftp站点。
wget http://place.your.url/here
这个命令可以将http://place.your.url/here 首页下载下来。使用-x会强制建立服务器上一模一样的目录,如果使用-nd参数,那么服务器上下载的所有内容都会加到本地当前目录。
wget -r http://place.your.url/here
这个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地 址同样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下来!基于这个原因,这个参数不常用。可以用-l number参数来指定下载的层次。例如只下载两层,那么使用-l 2。
要是您想制作镜像站点,那么可以使用-m参数,例如:wget -m http://place.your.url/here
这时wget会自动判断合适的参数来制作镜像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。
2、断点续传。
当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用-c参数,例如:
使用断点续传要求服务器支持断点续传。-t参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。-T参数表示超时等待时间,例如-T 120,表示等待120秒连接不上就算超时。
3、批量下载。
如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件download.txt,然后用命令:wget -i download.txt
这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)
4、选择性的下载。
可以指定让wget只下载一类文件,或者不下载什么文件。例如:
表示下载http://target.web.site/subdirectory,但是忽略gif文件。–accept=LIST 可以接受的文件类型,–reject=LIST拒绝接受的文件类型。
5、密码和认证。
wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:
–http-passwd=PASS设置HTTP密码
对于需要证书做认证的网站,就只能利用其他下载工具了,例如curl。
6、利用代理服务器进行下载。
如果用户的网络需要经过代理服务器,那么可以让wget通过代理服务器进行文件的下载。此时需要在当前用户的目录下创建一个。wgetrc文件。文件中可以设置代理服务器:
ftp-proxy = 111.111.111.111:8080
分别表示http的代理服务器和ftp的代理服务器。如果代理服务器需要密码则使用:
–proxy-passwd=PASS设置代理密码
这两个参数。
使用参数–proxy=on/off 使用或者关闭代理。
wget还有很多有用的功能,需要用户去挖掘。
例子:
可根据需要选择用下面的参数:
-c 断点续传
-r 递归下载,下载指定网页某一目录下(包括子目录)的所有文件
-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录
-np 递归下载时不搜索上层目录,如wget -c -r www.xxx.org/pub/path/
没有加参数-np,就会同时下载path的上一级目录pub下的其它文件
-k 将绝对链接转为相对链接,下载整个站点后脱机浏览网页,最好加上这个参数
-L 递归时不进入其它主机,如wget -c -r www.xxx.org/ 如果网站内有一个这样的链接:www.yyy.org,不加参数-L,就会像大火烧山一样,会递归下载www.yyy.org网站
-p 下载网页所需的所有文件,如图片等
-A 指定要下载的文件样式列表,多个样式用逗号分隔
-i 后面跟一个文件,文件内指明要下载的URL
#---------------------
附录:
wget 命令格式:
wget [参数列表] [目标软件、网页的网址]
-V 版本信息
-h 帮助信息
-b 后台执行Wget
-o filename 把记录放在文件filename
-a filename 把记录附加在文件filename
-d 显示调试信息
-q 无输出下载方式
-v 详细的屏幕输出(默认)
-nv 简单的屏幕输出
-i inputfiles 从文本文件内读取地址列表
-F forcehtml 从html文件内读取地址列表
-t number number次重试下载(0时为无限次)
-O output document file 写文件到文件
-nc 不覆盖已有的文件
-c 断点下传
-N 时间时间戳。该参数指定wget只下载更新的文件,也就是说,与本地目录中的对应文件的长度和最后修改日期一样的文件将不被下载。
-S 显示服务器响应
-T timeout 超时时间设置(单位秒)
-w time 重试延时(单位秒)
-Y proxy=on/off 是否打开代理
-Q quota=number 重试次数
目录:
-nd –no-directories 不建立目录。
-x, –force-directories 强制进行目录建立的工作。
-nH, –no-host-directories 不建立主机的目录。
-P, –directory-prefix=PREFIX 把档案存到 PREFIX/…
–cut-dirs=NUMBER 忽略 NUMBER 个远端的目录元件。
HTTP 选项:
–http-user=USER 设 http 使用者为 USER.
–http0passwd=PASS 设 http 使用者的密码为 PASS.
-C, –cache=on/off 提供/关闭快取伺服器资料 (正常情况为提供).
–ignore-length 忽略 `Content-Length’ 标头栏位。
–proxy-user=USER 设 USER 为 Proxy 使用者名称。
–proxy-passwd=PASS 设 PASS 为 Proxy 密码。
-s, –save-headers 储存 HTTP 标头成为档案。
-U, –user-agent=AGENT 使用 AGENT 取代 Wget/VERSION 作为识别代号。
FTP 选项:
–retr-symlinks 取回 FTP 的象徵连结。
-g, –glob=on/off turn file name globbing on ot off.
–passive-ftp 使用 “passive” 传输模式。
使用递回方式的取回:
-r, –recursive 像是吸入 web 的取回 — 请小心使用!.
-l, –level=NUMBER 递回层次的最大值 (0 不限制).
–delete-after 删除下载完毕的档案。
-k, –convert-links 改变没有关连的连结成为有关连。
-m, –mirror 开启适合用来映射的选项。
-nr, –dont-remove-listing 不要移除 `.listing’ 档。
递回式作业的允许与拒绝选项:
-A, –accept=LIST 允许的扩充项目的列表
. -R, –reject=LIST 拒绝的扩充项目的列表。
-D, –domains=LIST 允许的网域列表。
–exclude-domains=LIST 拒绝的网域列表 (使用逗号来分隔).
-L, –relative 只跟随关联连结前进。
–follow-ftp 跟随 HTML 文件里面的 FTP 连结。
-H, –span-hosts 当开始递回时便到外面的主机。
-I, –include-directories=LIST 允许的目录列表。
-X, –exclude-directories=LIST 排除的目录列表。
-nh, –no-host-lookup 不透过 DNS 查寻主机。
-np, –no-parent 不追朔到起源目录。
linux的wget命令详解,有需要的朋友可以看看。
长选项必须用的参数在使用短选项时也是必须的。
启动:
-V, --version 显示 Wget 的版本并且退出。
-h, --help 打印此帮助。
-b, -background 启动后进入后台操作。
-e, -execute=COMMAND 运行‘.wgetrc’形式的命令。
日志记录及输入文件:
-o, --output-file=文件 将日志消息写入到指定文件中。
-a, --append-output=文件 将日志消息追加到指定文件的末端。
-d, --debug 打印调试输出。
-q, --quiet 安静模式(不输出信息)。
-v, --verbose 详细输出模式(默认)。
-nv, --non-verbose 关闭详细输出模式,但不进入安静模式。
-i, --input-file=文件 下载从指定文件中找到的 URL。
-F, --force-html 以 HTML 方式处理输入文件。
-B, --base=URL 使用 -F -i 文件选项时,在相对链接前添加指定的 URL 。
下载:
-t, --tries=次数 配置重试次数(0 表示无限)。
--retry-connrefused 即使拒绝连接也重试。
-O --output-document=文件 将数据写入此文件中。
-nc, --no-clobber 不更改已经存在的文件,也不使用在文件名后
添加 .#(# 为数字)的方法写入新的文件。
-c, --continue 继续接收已下载了一部分的文件。
--progress=方式 选择下载进度的表示方式。
-N, --timestamping 除非远程文件较新,否则不再取回。
-S, --server-response 显示服务器回应消息。
--spider 不下载任何数据。
-T, --timeout=秒数 配置读取数据的超时时间 (秒数)。
-w, --wait=秒数 接收不同文件之间等待的秒数。
--waitretry=秒数 在每次重试之间稍等一段时间 (由 1 秒至指定的 秒数 不等)。
--random-wait 接收不同文件之间稍等一段时间(由 0 秒至 2*WAIT 秒不等)。
-Y, --proxy=on/off 打开或关闭代理服务器。
-Q, --quota=大小 配置接收数据的限额大小。
--bind-address=地址 使用本机的指定地址 (主机名称或 IP) 进行连接。
--limit-rate=速率 限制下载的速率。
--dns-cache=off 禁止查找存于高速缓存中的 DNS。
--restrict-file-names=OS 限制文件名中的字符为指定的 OS (操作系统) 所允许 的字符。
目录:
-nd --no-directories 不创建目录。
-x, --force-directories 强制创建目录。
-nH, --no-host-directories 不创建含有远程主机名称的目录。
-P, --directory-prefix=名称 保存文件前先创建指定名称的目录。
--cut-dirs=数目 忽略远程目录中指定数目的目录层。
HTTP 选项:
--http-user=用户 配置 http 用户名。
--http-passwd=密码 配置 http 用户密码。
-C, --cache=on/off (不)使用服务器中的高速缓存中的数据 (默认是使用的)。
-E, --html-extension 将所有 MIME 类型为 text/html 的文件都加上 .html 扩 展文件名。
--ignore-length 忽略“Content-Length”文件头字段。
--header=字符串 在文件头中添加指定字符串。
--proxy-user=用户 配置代理服务器用户名。
--proxy-passwd=密码 配置代理服务器用户密码。
--referer=URL 在 HTTP 请求中包含“Referer:URL”头。
-s, --save-headers 将 HTTP 头存入文件。
-U, --user-agent=AGENT 标志为 AGENT 而不是 Wget/VERSION。
--no-http-keep-alive 禁用 HTTP keep-alive(持久性连接)。
--cookies=off 禁用 cookie。
--load-cookies=文件 会话开始前由指定文件载入 cookie。
--save-cookies=文件 会话结束后将 cookie 保存至指定文件。
--post-data=字符串 使用 POST 方法,发送指定字符串。
--post-file=文件 使用 POST 方法,发送指定文件中的内容。
HTTPS (SSL) 选项:
--sslcertfile=文件 可选的客户段端证书。
--sslcertkey=密钥文件 对此证书可选的“密钥文件”。
--egd-file=文件 EGD socket 文件名。
--sslcadir=目录 CA 散列表所在的目录。
--sslcafile=文件 包含 CA 的文件。
--sslcerttype=0/1 Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER)
--sslcheckcert=0/1 根据提供的 CA 检查服务器的证书
--sslprotocol=0-3 选择 SSL 协议;0=自动选择,
1=SSLv2 2=SSLv3 3=TLSv1
FTP 选项:
-nr, --dont-remove-listing 不删除“.listing”文件。
-g, --glob=on/off 设置是否展开有通配符的文件名。
--passive-ftp 使用“被动”传输模式。
--retr-symlinks 在递归模式中,下载链接所指示的文件(连至目录
则例外)。
递归下载:
-r, --recursive 递归下载。
-l, --level=数字 最大递归深度(inf 或 0 表示无限)。
--delete-after 删除下载后的文件。
-k, --convert-links 将绝对链接转换为相对链接。
-K, --backup-converted 转换文件 X 前先将其备份为 X.orig。
-m, --mirror 等效于 -r -N -l inf -nr 的选项。
-p, --page-requisites 下载所有显示完整网页所需的文件,例如图像。
--strict-comments 打开对 HTML 备注的严格(SGML)处理选项。
递归下载时有关接受/拒绝的选项:
-A, --accept=列表 接受的文件样式列表,以逗号分隔。
-R, --reject=列表 排除的文件样式列表,以逗号分隔。
-D, --domains=列表 接受的域列表,以逗号分隔。
--exclude-domains=列表 排除的域列表,以逗号分隔。
--follow-ftp 跟随 HTML 文件中的 FTP 链接。
--follow-tags=列表 要跟随的 HTML 标记,以逗号分隔。
-G, --ignore-tags=列表 要忽略的 HTML 标记,以逗号分隔。
-H, --span-hosts 递归时可进入其它主机。
-L, --relative 只跟随相对链接。
-I, --include-directories=列表 要下载的目录列表。
-X, --exclude-directories=列表 要排除的目录列表。
-np, --no-parent 不搜索上层目录。
linux中与用户管理有关的一些命令,有需要的朋友可以看看。
一、用户查询
who: 查询当前在线用户及来源;
groups : 查询用户所属的组,groups 查询当前用户所属的组,groups 用户名 查询该用户所属的组;
id: 查询当前用户的信息;
finger: 查询用户的详细信息;
二、用户管理
useradd: 创建一个用户同时创建一个与该用户同名的组;
passwd: 设置用户的口令;
userdel: 删除用户,-r可以删除用户的主目录;
useradd -g root sunqiang :创建一个用户,同时将sunqiang用户添加到root组。如果不使用-g参数,将自动建立一个与该用户同名的组,使用-g参数是用来指定该用户的私有组,有利于对用户的管理;
usermod: 修改用户的信息; usermod -g 503 更改用户的gid为503;
usermod -L sunqiang : 锁定用户sunqiang,也可以在/etc/shadow密码前加!;
usermod -U sunqiang : 解开用户sunqiang,也可以把/etc/shadow密码前!去除;
三、用户组管理
groupadd:创建一个组;
groupadd sqgroup:创建一个GID大于500的组;
groupadd -r sqgroup: 创建一个GID小于500的组;
groupdel:删除一个组;
groupmod:修改组的信息;
groupmod -g 503 sqgroup:修改sqgroup组的GID为503;
groupmod -n newgroup oldgroup: 修改组的名字;
gpasswd -a sunqiang root: 将用户添加到root组;
gpasswd -d sunqiang root: 将用户从root组中删除;
gpasswd -A sunqiang sqgroup: 创建的sunqiang用户为sqgroup组的管理员;
gpasswd -A sunqiang "sqgroup: 撤消sunqiang用户是组sqgroup的管理员。