您好我正在查看目錄中的文件正在改變,我想要獲取每個文件的md5sum並將其寫入文本文件。然後,我知道一個文件已經改變,我想再次運行它,所以我可以區分輸出文件,看看究竟發生了什麼變化。這是我嘗試過的,但它不起作用,因爲我需要。Bash得到一個文件夾中的所有文件的md5sum
而且不僅我需要讓每一個文件的md5sum文件夾中包含子目錄我需要它不跟隨符號連接
#!/bin/bash
#
cd /sys/class
for i in $(find . -type f)
do
ls -lt "$i" >> /home/george/Desktop/before.txt
done
echo "Finished!"
感謝您的幫助
===編輯===
我把我的實際路徑,因爲我真的不需要隱藏它們。無論如何,運行這個只返回幾個文件(輸出文件在下面),這是文件夾中的文件,這意味着它不會進入子目錄並找到這些文件。順便說一句對不起我的是bash的方式生鏽
--w------- 1 root root 4096 Jun 20 03:03 ./gpio/export
--w------- 1 root root 4096 Jun 20 03:03 ./gpio/unexport
-rw-r--r-- 1 root root 4096 Jun 20 03:03 ./firmware/timeout
-r--r--r-- 1 root root 4096 Jun 20 03:04 ./drm/version
=== EDIT2 ===
也不清楚爲什麼某些文件不被發現,例如 /SYS /班/背光/ intel_backlight /亮度
和很多人一樣,但是也有一些不被人發現由於某些原因
只要將-type d改爲-type f?我不認爲默認情況下符號鏈接,所以你會沒事的。你的for循環將不會使用文件名中的空格,你最好使用另一種方法 - 在這裏討論http://stackoverflow.com/questions/7039130/bash-iterate-over-list-of-files-with-空格 – Adam
我想檢查最新修改日期不是一個選項,對吧?這將是更快,更簡單,但當然,幾乎不像安全 – Miquel
我會嘗試f感謝亞當和米克爾,我想這可以工作太多,至少我認爲這是有道理的,我知道MD5是緩慢的,有很多文件 – user577732