Сравните существующий файл в двух разных каталогах, скопируйте, если не существует, иначе перезапишите его

Я пытаюсь создать скрипт, который сравнивает файл внутри разных двух директорий, а затем копирует их из dir1 в dir2, если он не существует в dir2 или перезаписывает его, если он уже существует.

Я знаю, что я могу использовать diff dir1 dir2 но потом как скопировать результат на dir2. потому что команда diff дает мне результат, как only in dir1: file1.txt , из моего понимания, что это не сам файл (правильно?)

Для перезаписываемой части я решаю использовать команду [ -ot ] , но опять же, из моего понимания, что [ -ot ] может сравниться только с файлом, но не с dir?

Извините, что я не могу построить какой-либо скрипт с вопросом, я очень новичок в написании сценариев и Linux и все еще изучаю = (

rsync работает локально и выполняет тесты как на отметках времени файла, так и на размерах файлов.

 rsync --archive /path/to/source/ /path/to/destination/ 

Вы также можете использовать rsync для отдельных файлов.

Почему бы не cp ?

 \cp -f /path/to/dir1/* /path/to/dir2/