wget 命令介绍与使用

wget 命令介绍与使用



介绍

用法

wget  [OPTION]...  [URL]...
wget  [参数列表]    [目标软件、网页的网址]

Tips: 长选项所必须的参数在使用短选项时也是必须的


常用参数

  • 启动:

    -V,  --version                   # 显示 Wget 的版本信息并退出
    -h,  --help                      # 打印帮助
    -b,  --background                # 启动后转入后台
    
  • 记录和输入文件:

    -o,  --output-file=FILE          # 将日志信息写入【FILE】
    -a,  --append-output=FILE        # 将信息添加至【FILE】
    -q,  --quiet                     # 安静模式 (无信息输出)
    -v,  --verbose                   # 详细输出 (默认)
    -nv, --no-verbose                # 关闭详细输出,但不进入安静模式
    -i,  --input-file=FILE           # 下载本地或外部 [FILE] 中的 URL
    
  • 下载:

    -t,  --tries=NUMBER              # 设置重试次数为【NUMBER】(0 代表无限制)
        --retry-connrefused         # 即使拒绝连接也重试
    -O,  --output-document=FILE      # 将文档写入【FILE】(可以理解为把下载的文件重命名改为【FILE】)
    -nc, --no-clobber                # 不要下载已存在文件
    -c,  --continue                  # 断点续传下载文件(继续获取部分下载)
    -N,  --timestamping              # 只获取比本地文件新的文件
    -S,  --server-response           # 打印服务器响应头信息
        --spider                    # 不下载任何文件
        --limit-rate=RATE           # 限制下载速率为 [RATE]
        --ignore-case               # 匹配文件/目录时忽略大小写
        --user=USER                 # 将 ftp 和 http 的用户名均设置为【USER】
        --password=PASS             # 将 ftp 和 http 的密码均设置为【PASS】
        --ask-password              # 提示输入密码
    
  • 目录:

    -nd, --no-directories            # 不创建目录
    -x,  --force-directories         # 强制创建目录
    -nH, --no-host-directories       # 不要创建主机(www.cnglogs.com)目录
        --protocol-directories      # 在目录中使用协议名称(从https开始创建目录)
    -P,  --directory-prefix=PREFIX   # 保存文件到指定的【PREFIX】目录
        --cut-dirs=NUMBER           # 忽略远程目录中【NUMBER】个目录层。
    
  • HTTP选项:

    --http-user=USER            # 设置 http 用户名为【USER】
    --http-password=PASS        # 设置 http 密码为【PASS】
    --no-cache                  # 不使用服务器缓存的数据。
    --default-page=NAME         # 改变默认页名称 (通常是“index.html”)
    --no-cookies                # 不使用 cookies
    --save-cookies=FILE         # 会话结束后保存 cookies 至【FILE】
    
  • HSTS选项:

    --no-hsts                   # 禁用 HSTS
    --hsts-file                 # HSTS 数据库路径(将覆盖默认值)
    
  • FTP选项:

    --ftp-user=USER             # 设置 ftp 用户名为【USER】
    --ftp-password=PASS         # 设置 ftp 密码为【PASS】
    --no-glob                   # 不在 FTP 文件名中使用通配符展开
    --preserve-permissions      # 保留远程文件的权限
    --retr-symlinks             # 递归目录时,获取链接的文件 (而非目录)
    
  • 递归下载:

    -r,  --recursive            # 指定递归下载
    -l,  --level=NUMBER         # 最大递归深度 (inf 或 0 代表无限制,即全部下载)。
        --delete-after         # 下载完成后删除本地文件
        --backups=N            # 写入文件 X 前,轮换移动最多 N 个备份文件
    -K,  --backup-converted     # 在转换文件 X 前先将它备份为 X.orig
    
  • 递归接受/拒绝:

    -A,  --accept=LIST          # 逗号分隔的可接受的扩展名列表
    -R,  --reject=LIST          # 逗号分隔的要拒绝的扩展名列表
        --accept-regex=REGEX        # 匹配接受的 URL 的正则表达式
        --reject-regex=REGEX        # 匹配拒绝的 URL 的正则表达式
        --regex-type=TYPE           # 正则类型 (posix|pcre)
    -D,  --domains=LIST              # 逗号分隔的可接受的域名列表
        --exclude-domains=LIST      # 逗号分隔的要拒绝的域名列表
    -I,  --include-directories=LIST  # 允许目录的列表
    -X,  --exclude-directories=LIST  # 排除目录的列表
    -np, --no-parent                 # 不追溯至父目录
    

常用实例

  • 下载单个文件/网页

    wget https://www.rarlab.com/rar/rarlinux-6.0.1.tar.gz   # 下载rarlinux-6.0.1.tar.gz文件
    wget https://www.rarlab.com/download.htm        # 下载 download.htm 网页
    
  • 将下载的文件名改为指定文件名 (参数 O

    wget -O edit.html https://i.cnblogs.com/posts/editpostId=14660645
    # 默认下载保存的文件为“editpostId=14660645”
    # 使用 -O 参数后,保存的文件为指定文件名,这里是“edit.html”
    
  • 断点下载(参数 c

    # 这个参数适合下载大文件,网速不理想的场景
    # 借助参数 "c", 可以继续从文件中断的地方继续下载
    wget -c https://www.rarlab.com/rar/rarlinux-6.0.1.tar.gz
    
  • 后台下载(参数 b

    # 对于下载大文件时,我们可以使用参数 “b”,将进程切换到后台下载
    # 切换后台下载后,我们可以通过 “wget-log” 查看下载进度(wget-log 在当前目录下)
    # 可以搭配 -t 参数使用,表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功
    wget -b https://www.rarlab.com/rar/rarlinux-6.0.1.tar.gz
    
  • 批量下载(参数 i

    # 自定义一个文件URLlist.txt,将需要下载的URL都输入进去,然后使用参数 “i”指定改文件即可
    wget -i URLlist.txt
    
  • 检查网页是否可访问,而不用下载( S :打印响应信息, spaider :不下载)

    wget [-S] --spaider https://www.cnblogs.com/librarookie/p/14660645.html
    
  • 指定文件格式下载( A 指定下载文件格式, R 指定忽略下载文件格式)

    # LIST 表示可以指定多个格式
    wget -A png https://www.cnblogs.com/    或  wget --accept=LIST https://www.cnblogs.com/
    wget -R gif https://www.cnblogs.com/    或  wget --reject=LIST https://www.cnblogs.com/
    
  • 指定用户名密码下载

    # 此场景适合部分访问需要用户名和密码验证的 URL下载
    wget --user=USER --password=PASS https://www.cnblogs.com/librarookie/p/14660645.html   # 此方式密码明文显示
    wget --user=USER --ask-password https://www.cnblogs.com/librarookie/p/14660645.html    # 此方式密码是按回车后,提示输入密码,密码不显示(推荐)
    
  • 下载URL中的当前位置的所有文件

    # 场景: 我需要下载文件服务器某一路径下的全部文件,但是不需要保存主页 “index.html”
    
    wget -r -np -nd -R html,tmp  https://www.cnblogs.com/librarookie/p/
        或者:
    wget -r -np -nd -A txt,zip,png[...]  https://www.cnblogs.com/librarookie/p/
    
    # 参数介绍:
    # -r   递归下载(最好跟上np参数,不然会下载整个网站的数据及关联网站数据)
    # -np  不追溯到父级(表示只访问当前位置)
    # -nd  不创建文件夹
    # -R   忽略/拒绝下载的格式(wget下载会默认下载主页“index.html”,拒绝下载html格式时,会保存为html.tmp文件)
    # -A   指定下载的格式(只下载指定格式的文件,这样也不会下载主页“index.html”)
    


Via

posted @ 2021-04-15 00:03  Librarookie  阅读(2836)  评论(0编辑  收藏  举报