简化Unix操作系统上网

系统 其他OS
在文章中,Unix操作系统中在无法使用 Web 浏览器的情况下,在 Unix操作系统shell 脚本中使用 wget 是非常合适的。

在以前看过的一篇“对话 Unix操作系统” 中推荐使用 wget 从命令行直接下载文件。在Unix操作系统中在无法使用 Web 浏览器的情况下,在 Unix操作系统shell 脚本中使用 wget 是非常合适的。例如,如果要在远程服务器上安装新软件,wget 确实可以节省时间。

如果您喜欢 wget,也一定会喜欢 cURL。与 wget 一样,cURL 可以下载文件,但是它还可以向 Web 页面表单提交数据、通过 File Transfer Protocol (FTP) 上传文件、作为代理、设置 Hypertext Transfer Protocol (HTTP) 头等等。cURL 在许多方面可以作为浏览器和其他客户机的命令行替代品。因此,它有许多潜在的应用。

通过Unix操作系统常用的 ./configure && make && sudo make install 过程构建 cURL 实用程序。下载、解压并处理:

  1. $ wget http://curl.haxx.se/download/curl-7.19.4.tar.gz  
  2. $ tar xzf curl-7.19.4.tar.gz  
  3. $ cd curl-7.19.4  
  4. $ ./configure && make && sudo make install 

cURL 实用程序有很多选项,***通读它的手册页。下面是一些常见的 cURL 用法:

为了下载一个文件(比如 cURL tarball 本身),使用:
 $ curl -o curl.tgz http://curl.haxx.se/download/curl-7.19.4.tar.gz

与 wget 不同,cURL 把它下载的东西发送到 stdout。使用 -o 选项把下载的东西保存到指定的文件。

为了下载大量文件,可以提供序列、集或同时提供这两者。序列 是放在方括号([])中的一个数字范围;集 是放在花括号({})中的逗号分隔的列表。例如,下面的命令从目录 archive1996/vol1 到 archive1999/vol4(含)下载名为 parta.html、partb.html 和 partc.html 的所有文件,共有 48 个文件。

  1. $ curl http://any.org/archive[1996-1999]/vol[1-4]/part{a,b,c}.html \  
  2.  -o "archive#1_vol#2_part#3.html" 

在指定序列或集时,可以提供 -o 选项和一个模板,模板中的 #1 替换为***个序列或集的当前值,#2 是第二个序列或集的占位符,以此类推。另外,还可以提供 -O 选项以保持每个文件名不变。

为了把一组图像上传到Unix操作系统服务器,可以使用 -T 选项:

 $ curl -T "img[1-1000].png" ftp://ftp.example.com/upload/
在这里,把 img[1-1000].png 放在引号中,以避免 shell 解释它。这个命令把 img1.png 到 img1000.png 上传到指定的服务器和路径。

Unix操作系统甚至可以用 cURL 在词典中查找单词:

  1. $ curl dict://dict.org/d:stalwart  
  2. 220 miranda.org dictd 1.9.15/rf on Linux 2.6.26-bpo.1-686   
  3. <auth.mime> <400549.18119.1238445667@miranda.org> 
  4. 250 ok  
  5. 150 1 definitions retrieved  
  6. 151 "Stalwart" gcide "The Collaborative International Dictionary of English v.0.48"  
  7. Stalwart \Stal"wart\ (st[o^]l"w[~e]rt or st[add]l"-; 277),  
  8. Stalworth \Stal"worth\ (-w[~e]rth), a. [OE. stalworth, AS.  
  9. staelwyr[eth] serviceable, probably originally, good at  
  10. stealing, or worth stealing or taking, and afterwards  
  11. extended to other causes of estimation. See {Steal}, v. t.,  
  12. {Worth}, a.]  
  13. Brave; bold; strong; redoubted; daring; vehement; violent. "A  
  14. stalwart tiller of the soil." --Prof. Wilson.  
  15. [1913 Webster]  
  16.  
  17. Fair man he was and wise, stalworth and bold. --R. of  
  18. Brunne.  
  19. [1913 Webster]  
  20.  
  21. Note: Stalworth is now disused, or but little used, stalwart  
  22. having taken its place.  
  23. [1913 Webster]  
  24. .  
  25. 250 ok [d/m/c = 1/0/20; 0.000r 0.000u 0.000s]  
  26. 221 bye [d/m/c = 0/0/0; 0.000r 0.000u 0.000s]  
  27.  

把单词 stalwart 替换为您要查找的单词。

除了通过命令行使用之外,还可以通过 Unix操作系统libcurl 库使用 cURL 的所有功能。许多编程语言包含 libcurl 的接口,可以自动执行通过 FTP 传输文件等任务。例如,下面的 PHP 片段使用 libcurl 把通过表单上传的文件存放到 FTP 服务器上:
 

  1. php 
  2. ...  
  3. $ch = curl_init();  
  4. $localfile = $_FILES['upload']['tmp_name'];  
  5. $fp = fopen($localfile, 'r');  
  6. curl_setopt($ch, CURLOPT_URL,   
  7. 'ftp://ftp_login:password@ftp.domain.com/'.$_FILES['upload']['name']);  
  8. curl_setopt($ch, CURLOPT_UPLOAD, 1);  
  9. curl_setopt($ch, CURLOPT_INFILE, $fp);  
  10. curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));  
  11. curl_exec ($ch);  
  12. $error_no = curl_errno($ch);  
  13. curl_close ($ch);  
  14.  ...  
  15. ?> 

如果必须自动执行任何 Web 访问,可以考虑使用 cURL。大家可以看出Unix操作系统中,使用 cURL 在 Internet 上做各种事情。这给我们带来了很大的方便。让我们一起运用 cURL吧。

【编辑推荐】

  1. Unix服务器的三个发展方向
  2. Q2:Unix服务器市场 Sun下滑IBM上升
  3. 在UNIX服务器上设置Oracle8i全文检索
  4. Unix服务器的光明之路
  5. Sun携手富士通推出八核UNIX服务器
责任编辑:小霞
相关推荐

2010-04-13 12:27:44

Unix操作系统

2010-04-15 14:40:26

Unix操作系统

2010-04-19 18:18:30

Unix操作系统

2010-04-19 17:39:50

Unix操作系统

2010-04-16 17:19:58

Unix操作系统

2010-04-14 13:59:45

Unix操作系统

2010-04-16 17:49:28

Unix操作系统

2010-04-08 17:56:42

Unix操作系统

2010-04-09 11:24:38

Unix操作系统

2010-04-19 16:57:09

Unix操作系统

2010-04-08 16:18:22

Unix操作系统工具

2010-04-08 15:21:39

Unix操作系统

2010-04-19 18:31:16

Unix操作系统

2010-04-08 10:42:28

Unix操作系统

2010-04-19 10:54:33

Unix操作系统

2010-05-04 10:16:11

Unix操作系统

2010-04-09 16:45:42

Unix操作系统

2010-04-16 10:34:45

Unix操作系统

2010-04-29 13:30:20

Unix操作系统

2010-04-19 17:06:18

点赞
收藏

51CTO技术栈公众号