通過wget工具下載指定文件中的URLs對應的資源並保存到指定的本地目錄中去並進行文件完整性與可靠性校驗
阿新 • • 發佈:2018-04-08
OS 信息 sha 字符串 sha2 virt directory sof 完成
- 創建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對應的資源並保存到指定的本地目錄中去並進行文件完整性與可靠性校驗