技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Linux --> 其实你不懂wget的心-03

其实你不懂wget的心-03

浏览:2678次  出处信息

    系列文章

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

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

    当你深入学习wget时,你会发现它的选项实在是太多了,错综复杂乱如麻。今天,我们就针对常用的目录选项展开讨论。

    1 -r选项

    这个选项用于下载远程的文件夹,但是情况没有那么简单,对于ftp协议下载来讲,你如果使用如下命令下载

    wget -r ftp://my.test.server:/home/wupengchong/img

    那么,实际在当前目录下会生成my.test.server/home/wupengchong/img目录结构,可见直接使用-r选项,默认会创建一域名和绝对路径组成的目录结构的。这或许不是我们的初衷,继续向下看。

    2 -nd选项

    即-no-directories。当我们下载远程的数据时,可以要求wget只下载文件,不下载文件夹,所有下载的文件都平铺在当前目录下。

    这时,敏锐的读者会问:“如果下载到不同路径的同名文件的话,那用-nd岂不是会造成同名文件覆盖的问题?”。答案是不会的,因为wget在下载文件时,如果当前目录下有同名文件,则会默认在新下载的文件后加上“.1”、“.2” …等标识,以示区别。

    3 -x选项

    即-force-directories。这个选项和-no-directories是完全相反的。-no-directories是要求绝 对不能下载和创建任何文件夹,同时所有文件都平铺在当前目录中。而-force-directories选项则要求处处都要有文件夹,即使是wget

     -x http://fly.srk.fer.hr/home/robots.txt这样下载单独普通文件的命令,也会在当前目录下创建fly.srk.fer.hr/home目录结构,然后将robots.txt文件下载到fly.srk.fer.hr/home里面。

    4 -nH选项

    即-no-host-directories。大家已经知道了在使用wget -r命令下载目录时,默认会创建一个my.test.server文件夹的。使用-nH选项就是来禁止这种默认行为。

    所以,当你用wget -r -nH ftp://my.test.server:/home/wupengchong/img命令下载数据时,会在当前目录下创建home/wupengchong/img目录结构,看,my.test.server文件夹已经不见了。

    5 -protocol-directories选项

    它的作用是先创建一个以协议名为名称的文件夹,例如:

    wget -r -protocol-directories ftp://my.test.server:/home/wupengchong/img

    则会创建如下目录结构ftp/my.test.server/home/wupengchong/img

    这个选项,对于那些希望通过协议类型来区分数据的同学比较有用。

    6 -cut-dirs=number选项

    这个选项比较常用,它表示下载数据时,在本地创建目录时,忽略多少层目录结构。

    我们拿ftp://ftp.xemacs.org/pub/xemacs/为例,如果只使用-r选项,那么本地会创建ftp.xemacs.org /pub/xemacs/目录结构,如果再加上-nH选项,则留下来的目录结构是pub/xemacs/。此处就是-cut-dirs选项起作用的地方 了。我们看一个表格吧:

    只用-r选项 -> ftp.xemacs.org/pub/xemacs/

    -nH -> pub/xemacs/

    -nH -cut-dirs=1 -> xemacs/

    -nH -cut-dirs=2 -> .

    -cut-dirs=1 -> ftp.xemacs.org/xemacs/

    7 -P选项

    即-directory-prefix=prefix,所设置的这个prefix路径,则是用来代替当前目录的,所有本应下载到当前目录的数据都会被下载到prefix所设置的目录中去。

建议继续学习:

  1. wget 的使用    (阅读:4467)
  2. 其实你不懂wget的心-01    (阅读:3572)
  3. 其实你不懂wget的心-04    (阅读:3399)
  4. 其实你不懂wget的心-05    (阅读:2987)
  5. 其实你不懂wget的心-02    (阅读:2833)
  6. wget 自动发送用户名密码    (阅读:2609)
  7. wget中文使用手册    (阅读:2254)
  8. Linux下同时wget多个文件    (阅读:2355)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1