电脑技术学习

对话 UNIX,第 3 部分: 在命令行中完成所有的工作

dn001

  保持 URL 不变

  提示:许多 HTTP URL 中包含一些在 Shell 中有特殊含义的字符。例如,许多 URL 中包含问号 (?),它用来将主机名和路径从参数列表中分隔出来。然而,Shell 却把问号解释为通配符。

  要阻止 Shell 对其进行解释,只需要将 URL 放在单引号中即可。要避免奇怪的和长文件名,可以使用 wget -o 对输出文件进行命名。这里有一个示例:

$ wget -o sharkey
'http://www.example.com/
download.cgi?proj=scIEnce&file=sharkey'

  如果有很长的 URL 列表需要进行下载,您不需要分别将每个 URL 放到命令行中。相反,您可以创建(或生成)需要进行下载的 URL 列表。命令 3 显示了 url_list.txt 文件,简单的文本目录中包含了两个 URL;命令 4 则对这两个 URL 进行下载。在提供下载列表时,可以使用 -i 选项。-nv 选项(not verbose 的首字母缩写)则提供更简洁的消息。

  除非您为下载的文件提供了相应的文件名(使用 -o 选项),否则 wget 将创建一个与远程文件名称相同的新的本地文件,而省略前面的 URL 部分。命令 5 显示了在命令 1 到 3 中下载的 4 个文件。

  wget 实用工具有许多选项和特性。它可以访问 FTP 或 Web 站点,并下载具有层次结构的所有文件。您还可以为自动下载设置相应的配额、提供 cookies、并继续进行以前被中断的下载任务。要了解关于使用该工具的技巧,请阅读 wget 的 man 页面。

  进行上传

  对于自动的下载任务,wget 实用工具非常有价值,但是它却不能用来上传文件。它也不能够与安全 FTP、telnet 和大量其他的(更早的和更少使用的)Internet 协议进行互操作。对于这些类型的传输工作,您必须使用“瑞士军刀般锐利的网络工具: curl。

标签: