星期五, 九月 11, 2009

使用cURL下载文件

curl一个传输文件(上传/下载)的命令行工具,它支持FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, FILE和LDAP等多种协议。在Mac OS X已经预装了curl,我主要用它来下载文件。

基本用法

curl使用格式如下: curl [选项][下载地址]

如果你只是指定网络地址,而没有使用其它选项,那么将直接在屏幕上显示文件的内容:

curl yyq123.journalspace.com

curl_1

下载文件

如果我们想要下载文件,而不是查看,那么可以使用如下命令:

curl -O http://mif.polimercolor.ru/mifsoft/MDict.zip

以上命令会下载文件并以原名保存到当前目录中。如果你想自己指定下载后文件的名字,可以使用-o选项。

curl -o MDict_ver.zip http://mif.polimercolor.ru/mifsoft/MDict.zip

curl_2

断点续传

如果需要继续已经中断的下载,那么可以使用-C选项。利用-C -选项并指出已经部分下载的文件名,curl将自动下载文件的剩余部分。

curl -C - -o Smultron-2.2.6.dmg http://jaist.dl.sourceforge.net/Smultron-2.2.6.dmg

curl_3

使用代理服务器

curl -x 10.1.27.10:1022 ftp://ftp.funet.fi/README

以上命令使用代理地址为10.1.27.10端口为1022的代理服务器下载一个文件。如果代理服务器需要验证,则应该提供合法的帐号和密码。

curl -U user:passwd -x 10.1.27.10:1022 ftp://ftp.funet.fi/README

更多功能

以上提及的只是curl功能中的万分之一, 但是对于普通的文件下载任务已经足够。如果希望了解curl的更多功能,可以用命令:curl -h查看帮助,或者从网站上获得完整的文档,也可查看实际应用的例子

为什么要使用?

  • 聚焦功能,而非软件。如果想喝一瓶啤酒,先要做什么呢?不是去找一个酒瓶启子,而是要打开瓶盖。我们需要的是完成一个任务,而不是去使用一种工具。我见过有人用牙齿、筷子、打火机或用另一个瓶子打开瓶盖,所以完成任务有很多种方法,根据情景和要求的不同也就会有不同的选择。比如下载文件,你可以使用图形化的软件,也可以像我一样就用内置的命令行。因为我需要的功能很简单--能够断点续传文件。只要记住几个简单的命令就,能完成我需要的功能,而且也不需要安装额外的软件,又何乐而不为呢?
  • 一次学习,终生受益。我认为自由软件的最大的竞争优势之一就是--学习成本低。比如我现在学会了curl,不仅仅能在Mac里使用它,有很多Linux中也内置了这个软件,而且它还有几乎所有操作系统的版本(包括Unix,Linux,Solaris,Windows,甚至Dos)。所以,只要学习一次,就能随处可用。而且你通过自由软件学习的知识,可以得到很好的延续和保值。不知您注意了没有--在GmailBloglines的快捷键里,都用j移动到下一条记录,用k移动到上一条记录,难道会这么巧合吗?我相信这是有原因的。因为在文本编辑器Vim中,jk就是用来向下和向上移动。而Vim做为历史悠久的自由软件,出现在几乎所有Linux中,而且也预装在Mac里。这也说明,智慧是跨越时空的,是广受尊重的。而在自由软件中蕴涵的智慧,不但在自由软件界得到广泛传播,而且也扩展到更广的空间,所以你的学习成本也得到更好地保护。现在也不难理解--为什么Firefox中Quick Find的会使用/来激活了吧!

Tags: , , , , , ,

没有评论:

发表评论