Чтобы только проверить, существует ли файл в целевом местоположении, но на самом деле не выполнять копирование, вы можете использовать команду diff
с параметром -r
.
С man diff
:
-r, --recursive
рекурсивно сравнивает любые найденные подкаталоги
diff -r --brief --report-identical-files /source-folder/ /target-folder/ | grep -v '^Only in'
--brief
выводит список файлов, которые отличаются (так же, как -q
) --report-identical-files
делает то же самое для файлов, которые не отличаются (так же, как -s
) grep -v '^Only in'
удаляет файлы, которые находятся только в одном дереве каталогов, потому что они не будутперезаписать.
Вывод будет выглядеть примерно так:
Files /source-folder/file1.txt and /target-folder/file1.txt are identical
Files /source-folder/file2.jpg and /target-folder/file2.jpg differ