Osx

查找損壞的文件

  • March 19, 2021

我有一個包含無數文件的目錄。一旦我嘗試複製此目錄,我就會收到一條消息,指出無法複製文件(損壞?)並且複制停止。

我可以在終端上鍵入任何命令來檢查該目錄樹上的所有文件並列出所有無法複製或損壞的文件嗎?我現在不想複製文件,只是為了檢查如果我嘗試文件是否無法複製/讀取。

我在 OS X Mountain Lion 上,但我希望任何 unix 命令都可以正常工作。

謝謝。

注意:損壞是指無法讀取或複制的文件。

  1. rsync可用於複製目錄,並且能夠在任何錯誤導致死亡時從其終止點重新啟動複製rsync

使用 rsync 的--dry-run選項,您可以看到將被複製的內容,而無需實際複製任何內容。和選項--stats--progress很有用。和--human-readableor-h更容易閱讀。

例如

rsync --dry-run -avh --stats --progress /path/to/src/ /path/to/destination/

我不確定 rsync 是否預設安裝在 Mac OS X 上,但我在 Mac 上使用過它,所以我知道它絕對可用。 2. 要快速檢查是否可以讀取子目錄中的文件,您可以使用grep -r XXX /path/to/directory/ > /dev/null. 搜尋正則表達式無關緊要,因為無論如何都會丟棄輸出。

STDOUT 被重定向到 /dev/null,所以你只會看到錯誤。

grep我選擇這裡的唯一原因是它的-r遞歸選項。還有許多其他命令可以用來代替grep這裡,如果與find.

引用自:https://unix.stackexchange.com/questions/49463