通过wget工具下载指定文件中的URLs对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验
- 创建URLs文件
在终端输入
cd target_directory
回车,便把当前文件夹切换到了目标文件夹target_directory,
此后创建的文件都会丢它里面
在终端输入
cat > URLs
回车(注:该命令到此还没结束呢,待会儿会继续键入多行内容)
创建文件URLs,马上就往里面写入一批URLs
使用浏览器访问目标资源所在的网站,
找到想要下载的文件时,就点击鼠标右键召唤出右键菜单,
选择“复制链接”,然后回到终端,
把复制得到的链接粘贴到cat > URLs命令的下一行,
然后再去寻花问柳,过程同上黄,
把复制得到的又一个链接粘贴到下一行,
如此进行下去,
直至以把所有要下载的资源
(包括MD5SUMS、SHA512SUMS之类的校验文件)
的链接一行一行地都键入到了终端,
按Ctrl + D结束输入,URLs文件就创建好了; - 创建用于存放将要下载到的资源的文件夹
在终端输入
mkdir 目录名
(此处目录名自拟如:MyDownloads)
回车,这就在当前目录
(也就是上面cd切进的target_directory)
中创建了一个子目录,
用来存放接下来要下载的一批文件。
(下面假设这个目录名取的是MyDownloads) - 通过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)
不带点与后缀外,都是文件名带点与后缀的资源文件
示例如图: - 校验下载的文件的可靠性
在终端输入
cd MyDownloads
回车,就把当前目录切换到了存放着下载到的资源的目录中
在终端输入
md5sum -c <(egrep "`ls *.*`" MD5SUMS)
或
sha512sum -c <(egrep "`ls *.*`" SHA512SUMS)
回车,进行文件校验。
通过校验的话,会得到输出信息:文件名:OK,
若某个下载到的文件未通过校验,则应该重新下载相应的文件。 - 对于校验指令的注释
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对应的资源并保存到指定的本地目录中去并进行文件完整性与可靠性校验的更多相关文章
- 阿里云rds linux平台使用wget 工具下载备份与日志文件
1. 获取备份下载地址 RDS 控制台 备份恢复 数据备份,选择需要下载的备份集,点击“下载”. 点击“复制内网地址” 或 “复制外网地址” 来获取备份的 内网 或 外网 下载地址. 日志备份的地 ...
- 使用SFTP工具下载文件
1. 打开SFTP会话 File->Connect SFTP Session 2. cd 到文件目录下 3. get 文件名称 sftp> get catalina.out 4. lpw ...
- 利用IDM工具下载ESA上的Sentinel数据
由于美国政府关门,NASA,USGS,NOAA等机构中的非核心部门也都放假了,暂时无法提供Sentinel数据下载,而直接从ESA下载数据比蜗牛上山都慢,幸好发现了IDM工具. 利用浏览器或wget工 ...
- Java非递归的方式获取目录中所有文件(包括目录)
零.思路解析 对于给出的文件查看其下面的所有目录,将这个目录下的所有目录放入待遍历的目录集合中,每次取出该集合中的目录遍历,如果是目录再次放入该目录中进行遍历. 一.代码 /** * 非递归的方式获取 ...
- Java学习-043-获取文件在目录中的路径
我们在日常的电脑使用中,经常需要在当前目录或当期目录及其子目录中查找文件,并获取相应的文件路径名.在我们的自动化测试中,也经常需要确认文件在目录中是否成功生成或已存在,因而我写了一个小方法来实现. 获 ...
- 将存储在本地的大量分散的小文件,合并并保存在hdfs文件系统中
import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java ...
- Hive数据导入——数据存储在Hadoop分布式文件系统中,往Hive表里面导入数据只是简单的将数据移动到表所在的目录中!
转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop ...
- Linux上项目部署在home目录中无法访问的问题
在Linux上开发一个Web项目,使用nginx作为Web服务器.在nginx的配置文件中添加一个server,root路径写的是放在home目录中的项目目录的路径.打开浏览器访问,提示错误:403 ...
- 在Ogre中加载自己的资源包
转自:http://www.cnblogs.com/minggoddess/archive/2011/02/19/1958472.html 由于数据保护的需要,一款游戏一般都会有自己独有的资源包,这样 ...
随机推荐
- 3D模型展示以及体积、表面积计算
本文原创 如转载请注明出处!!! 本博客地址http://www.cnblogs.com/we-jack 本文原创,如果有同样需求的小伙伴请第一时间联系我 或者在留言区留言 上次为大家提供了3D模型的 ...
- 自己动手写泛型dao
在经过一系列的问题得到解决之后,泛型dao终于写出来了.泛型dao相比于以前写的dao最大的好处就是,大大提高了代码的复用性,以往我们要对数据库中表中的数据进行操作的时候,每张表都需要写一个dao来操 ...
- 访问限制:由于对必需的库 C:/Program Files/Java/jre6/lib/rt.jar 具有一定限制,因此无法访问类型。。
在项目上单击右键选择 属性 Java编译器 错误或警告 选择启用特定于项目的设置 建议不要使用和限制使用的API将 禁止的引用(访问规则) 设置为 警告 然后应用即可解决
- phpcms v9 搜索结果列表页时间显示1970问题解决方案
对于喜欢用phpcms v9 的小伙伴来说,在调用时间时,总会出现时间1970这样的问题,对于这个问题,网上的说法很多,内容页时间显示通常不会问题,搜索结果页就不行了,通过总结,发现使用{format ...
- 转载:lua中switch
刚开始使用lua的人肯定会不满lua居然没有switch这个语法. 但是熟悉lua的强大特性之后,你会发现其实switch是完全没有必要提供的^.^,因为lua有强大的table和function 例 ...
- C语言博客作业一二维数组
一.PTA实验作业 题目1.7-5 数组循环左移 1.本题PTA提交列表 2.设计思路 定义变量a[100]存放整数,整数n,整数m,change作为交换数组的媒介,j,i作为循环的变量 输入整数n, ...
- Linux下ftp和ssh详解
学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...
- python每日一函数 - divmod数字处理函数
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...
- POST请求的提交
var http = require("http"); var querystring = require("querystring"); //创建服务器 va ...
- C++布隆过滤器
布隆过滤器 这名词有没有听着好像很 挺高大上的,的确,它也是一种很重要的结构,下面一起看看: 一:说说历史: (Bloom Filter)是由布隆(Burton Howard Bloom)在1970年 ...