简化Unix操作系统上网
创始人
2024-06-27 15:11:09
0次

在以前看过的一篇“对话 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.  <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. ...  
  2. $ch = curl_init();  
  3. $localfile = $_FILES['upload']['tmp_name'];  
  4. $fp = fopen($localfile, 'r');  
  5. curl_setopt($ch, CURLOPT_URL,   
  6. 'ftp://ftp_login:password@ftp.domain.com/'.$_FILES['upload']['name']);  
  7. curl_setopt($ch, CURLOPT_UPLOAD, 1);  
  8. curl_setopt($ch, CURLOPT_INFILE, $fp);  
  9. curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile));  
  10. curl_exec ($ch);  
  11. $error_no = curl_errno($ch);  
  12. curl_close ($ch);  
  13.  ...  
  14. ?> 

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

【编辑推荐】

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

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...