IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

其实你不懂wget的心-04

linux大棚-roclinux.cn 2011-03-07 22:39:17 累计浏览 4,302 次
本机暂存

    系列文章

     《其实你不懂wget的心-01》

     《其实你不懂wget的心-02》

     《其实你不懂wget的心-03》

    使用wget时,会遇到各种突发事件。今天来讲一个。

    一个800MB的大文件,在远程用wget下载,到一半时,文件被更名、被删除、被移动了,wget会发现么? 它会如何抱怨?还是傻傻地顺序读下去,直到读完800MB为止?(你可以随便猜,但真相只有一个…呵呵)

    第一步:创建大文件

    $ dd if=/dev/zero of=roc-big-file bs=8192 count=100000

    其中if是数据输入源,of是数据输出目标,bs表示每次读写的缓冲区字节数,count是要读取多少次bs。

    这条命令就是用来生成一个大小接近800MB的文件,命名为roc-big-file。

    第二步:从另一台机器使用wget进行下载,限速在20k吧,要是不限速,刷刷几下就下完了,都来不及测试了该。呵呵

    $ wget -limit-rate=20k ftp://yourdomain:/home/wupengchong/test/wgettest/roc-big-file

    第三步:这步就是要搞点恶作剧了。我们先更名!

    $ mv roc-big-file roc-big-file1

    结果没问题,wget继续稳定运行。

    第四步:继续恶作剧。我们移动它。

    $ mkdir tmpdir

    $ mv roc-big-file1 tmpdir/

    没问题,稳定运行。

    第五步:我们删除它!(拼了,真不信wget能这么鲁棒)

    $ cd tmpdir/

    $ rm -f roc-big-file1

    继续稳定运行…. 只是你看不到这个文件了,从文件所在文件夹的大小也看不到变化了。

    结论:

    只要不是网络故障、远程文件系统故障或硬件故障,wget的鲁棒性是值得相信的。

    其实,真正理解Linux文件系统的同学会知道,这并不是wget的鲁棒性,而是Linux文件系统的鲁棒性保证的。

    over~

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,446)
  2. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  3. libcurl的使用总结(二) (累计阅读 15,083)
  4. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,302)
  5. HTTP协议Keep-Alive模式详解 (累计阅读 12,105)
  6. 你必须了解的Session的本质 (累计阅读 11,441)
  7. curl 命令使用cookie (累计阅读 10,016)
  8. Hello! 404 (累计阅读 9,385)
  9. 解决 nginx 反向代理网页首尾出现神秘字符的问题 (累计阅读 9,097)
  10. POST与GET的区别及RESTful (累计阅读 7,863)