通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验

Posted yawenunion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验相关的知识,希望对你有一定的参考价值。

  1. 创建URLs文件
    在终端输入
    cd target_directory
    回车,便把当前文件夹
    切换到了目标文件夹target_directory
    此后创建的文件都会丢它里面

    在终端输入
    cat > URLs
    回车(注:该命令到此还没结束呢,待会儿会继续键入多行内容)
    创建文件URLs,马上就往里面写入一批URLs
    使用浏览器访问目标资源所在的网站,
    找到想要下载的文件时,就点击鼠标右键召唤出右键菜单,
    选择“复制链接”,然后回到终端,
    把复制得到的链接粘贴到cat > URLs命令的下一行,
    然后再去寻花问柳,过程同上黄,
    把复制得到的又一个链接粘贴到下一行,
    如此进行下去,
    直至以把所有要下载的资源
    (包括MD5SUMS、SHA512SUMS之类的校验文件)
    的链接
    一行一行地都键入到了终端,

    按Ctrl + D结束输入,文件URLs就创建好了;
  2. 创建用于存放将要下载到的资源的文件夹
    在终端输入
    mkdir 目录名
    (此处目录名自拟如:MyDownloads)

    回车,这就在当前目录
    (也就是上面cd切进的target_directory)中创建了一个
    以目标资源的特点命名
    (下面假设目录名取的是MyDownloads)的子目录,
    用来存放接下来要下载的一批文件;
  3. 通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去
    在终端输入
    wget -i URLs -P ./MyDownloads
    回车,接下来就会自动完成资源下载。
    下载得到的文件的默认文件名取自资源链接中最后一个/后面的部分,
    如从https://download.virtualbox.org/virtualbox/5.2.8/UserManual.pdf
    下载的文件默认文件名就是UserManual.pdf,
    然而有时候,资源链接的末尾可能是含‘?‘或‘=‘的不适合作为文件名的字符串,
    那么就需要对其下载指令附上 -O 参数来重拟保存为的文件名:
    wget -i URLs -P ./MyDownloads -O 自拟的文件名
    下载完成后,MyDownloads目录下
    就是所有下载到的文件。
    里面除了含校验码的文件的文件名
    (如:MD5SUMS、SHA256SUMS、SHA512SUMS)
    不带点与后缀外,都是文件名带点与后缀的资源文件
    示例如图:
    技术分享图片
  4. 校验下载的文件的可靠性
    在终端输入
    cd MyDownloads
    回车,就把当前目录切换到了存放着下载到的资源的目录中
    在终端输入
    md5sum -c <(egrep "`ls *.*`" MD5SUMS)

    sha512sum -c <(egrep "`ls *.*`" SHA512SUMS)
    回车,进行文件校验。
    通过校验的话,会得到输出信息:文件名:OK
    若某个下载到的文件未通过校验,则应该重新下载相应的文件。
  5. 对于校验指令的注释
    md5sum或sha1sum、sha256sum、sha512sum等是LinuxOS普遍携带的校验工具
    可以通过在终端输入
    ls /usr/bin | grep sum
    回车,来查看系统携带了哪些文件校验工具。
    -c 表示要执行文件校验操作啦,
    后一个参数应是包含校验码的文件

    `ls *.*`是获取当前目录中文件名带点的文件
    (此处也就是已下载到的文件)的文件名列表的指令,
    它两端的反引号起的作用就是
    执行反引号中的指令后输出的结果
    拿来替换掉反引号及其所包围的指令。

    (在键盘上反引号就是Tab键上面那个有波浪符的键,
    在不按Shift时,它就是反引号)
    这样,校验指令中的"`ls *.*`"会自动变成由双引号包围的一串文件名,
    然后egrep "`ls *.*`" MD5SUMS就是
    从含有校验码的文件MD5SUMS中提取出所有
    含有与双引号包围的一串文件名中任意一个文件名匹配的字符串的行,
    最后,<(egrep "`ls *.*`" SHA512SUMS)就是
    把用egrep提取出的所有匹配的行的内容组合封装成一个文件,
    它也就会在校验指令中作为
    -c 参数后面的包含校验码的文件。










































































以上是关于通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验的主要内容,如果未能解决你的问题,请参考以下文章

linux wget指定下载目录和重命名

wget 通过代理下载文件

Linux命令学习-wget命令

lftp,wget

利用wget下载文件,并保存到指定目录

利用wget下载文件,并保存到指定目录