Голый diff old new выводит формат, неудобный для чтения и не применимый обратно. На практике почти всегда нужны конкретные флаги.
diff -u old.conf new.conf > fix.patch # unified — как git diff
patch < fix.patch # применить патч
diff -rq /etc/nginx/sites-available /backup/sites-available # только имена разных файлов
diff -w old.conf new.conf # игнор пробелов
-u — unified diff, тот же формат, что и git diff, единственный, который patch применяет без путаницы со смещением строк. -r рекурсивно по директориям, -q — не печатать содержимое, только “differ”/“only in”. -w спасает, когда разница только в отступах после автоформатера.
#bash #linux #cli
