Долгое время я делал резервные копии на двух внешних дисках. И эти диски сводят меня с ума.Команда UNIX: быстрее, чем diff
Хотя общая информация, хранящаяся на двух дисках, одинакова, их размер файла отличается от скрытых файлов (например, .DS_Store). До сих пор я использовал размер корневого каталога, чтобы убедиться, что эти две резервные копии одинаковы. Если оба корня указывают один и тот же размер в байтах, я могу быть уверен, что они одинаковы. Но скрытые файлы - это действительно боль в шее.
Я пытался использовать дифф, таким образом:
diff -rq -x '.*' dir1 dir2
Но это невероятно медленно. Я прошу вас, ребята, помочь мне найти способ проверить, содержат ли две огромные каталоги одни и те же данные.
Моя идея - сделать некоторую рекурсивную команду, которая будет сравнивать только имена файлов + файлы. Это должно быть намного быстрее, чем diff, что фактически сравнивает каждый файл.
PS: Резервная копия имеет более 700 ГБ.
Что вы думаете о 'diff <(cd dir1 && du -a [!.] * | sort -k2) <(cd dir2 && du - a [!.] * | sort -k2)? 'Просто написал это, но я не q uite уверен, что он на 100% прав, хотя он прошел несколько простых тестов. – Randolph
'diff' может быть немного для того, что вы делаете. Если два файла отличаются друг от друга, он попытается выяснить, почему. Мой unix немного ржавый, но разве нет команды для сравнения файлов, например 'fcmp' или что-то еще? Если нет, должно быть довольно просто написать одно. –