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对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验的更多相关文章

  1. 阿里云rds linux平台使用wget 工具下载备份与日志文件

    1. 获取备份下载地址 RDS 控制台  备份恢复  数据备份,选择需要下载的备份集,点击“下载”. 点击“复制内网地址” 或 “复制外网地址” 来获取备份的 内网 或 外网 下载地址. 日志备份的地 ...

  2. 使用SFTP工具下载文件

    1. 打开SFTP会话 File->Connect SFTP Session  2. cd 到文件目录下 3. get 文件名称 sftp> get catalina.out 4. lpw ...

  3. 利用IDM工具下载ESA上的Sentinel数据

    由于美国政府关门,NASA,USGS,NOAA等机构中的非核心部门也都放假了,暂时无法提供Sentinel数据下载,而直接从ESA下载数据比蜗牛上山都慢,幸好发现了IDM工具. 利用浏览器或wget工 ...

  4. Java非递归的方式获取目录中所有文件(包括目录)

    零.思路解析 对于给出的文件查看其下面的所有目录,将这个目录下的所有目录放入待遍历的目录集合中,每次取出该集合中的目录遍历,如果是目录再次放入该目录中进行遍历. 一.代码 /** * 非递归的方式获取 ...

  5. Java学习-043-获取文件在目录中的路径

    我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...

  6. 将存储在本地的大量分散的小文件,合并并保存在hdfs文件系统中

    import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...

  7. Hive数据导入——数据存储在Hadoop分布式文件系统中,往Hive表里面导入数据只是简单的将数据移动到表所在的目录中!

    转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop ...

  8. Linux上项目部署在home目录中无法访问的问题

    在Linux上开发一个Web项目,使用nginx作为Web服务器.在nginx的配置文件中添加一个server,root路径写的是放在home目录中的项目目录的路径.打开浏览器访问,提示错误:403 ...

  9. 在Ogre中加载自己的资源包

    转自:http://www.cnblogs.com/minggoddess/archive/2011/02/19/1958472.html 由于数据保护的需要,一款游戏一般都会有自己独有的资源包,这样 ...

随机推荐

  1. python 全栈开发,Day6

    python之函数进阶 一.引言 现在我有个问题,函数里面的变量,在函数外面能直接引用么? def func1(): m = 1 print(m) print(m) #这行报的错 执行报错: Name ...

  2. pycharm+selenium搭建环境之no module named 'selenium'异常解决

    在pycharm上搭建python+selenium自动化测试环境时,遇到一个很坑的问题:no moduel named 'selenium' 如下图: 解决方法: 1.查看你的python是否正确安 ...

  3. 【RMAN】Oracle中如何备份控制文件?备份控制文件的方式有哪几种?

    真题1. 如何备份控制文件?备份控制文件的方式有哪几种? 答案:备份控制文件的方式有多种. ① 备份控制文件可以在线进行: SQL> ALTER DATABASE BACKUP CONTROLF ...

  4. 使用async和wait进行异步编程

    本文来源于博客园-钱智慧,转载请注明出处 代码示例 // 要让一个方法成为异步方法: // - async修饰符. // - 返回类型是 Task 或者 Task<T>. 具体来说,如果函 ...

  5. 笔记:MyBatis XML配置-Settings 完整属性表

    设置参数 描述 有效值 默认值 cacheEnabled 该配置影响的所有映射器中配置的缓存的全局开关. true | false true lazyLoadingEnabled 延迟加载的全局开关. ...

  6. Java多线程JUC

    1. volatile 关键字 多线程访问的时候,一个比较严重的问题就是内存不可见,其实在内存访问的时候每一个线程都有一个自己的缓冲区,每次在做修改的时候都是从主存取到数据,然后放到自己的缓冲区中,在 ...

  7. 【Python】 获取MP3信息replica

    replica 初衷是想要整理iphone中的音乐.IOS(我自己的手机还是IOS8.3,新版本的系统可能有变化了)自带的音乐软件中所有音乐文件都存放在/var/mobile/Media/iTunes ...

  8. 配置VIP地址

    10.10.10.7  mysql主 redis从 10.10.10.8  mysql从 redis主 现游戏架构如上,游戏后端数据库配置集群.场景描述:若是一台服务器宕机之后,及时切换数据库保持业务 ...

  9. 解决Hystrix Dashboard 一直是Loading ...的情况

    Hystrix是什么 Hystrix 能使你的系统在出现依赖服务失效的时候,通过隔离系统所依赖的服务,防止服务级联失败,同时提供失败回退机制,更优雅地应对失效,并使你的系统能更快地从异常中恢复. Hy ...

  10. linux小白成长之路7————Docker安装mysql

    [内容指引] 从Docker检索mysql镜像: Mysql Docker镜像下载: 查看本地镜像列表: 设置Mysql的Docker镜像开机自动运行: 常用Docker指令及参数: 1.从Docke ...