UNIX 개발환경에서 파일 비교를 위해서 많이 사용하는 것 중에 diff 라는 명령어가 있습니다.
특히 해당 프로그램은 patch 명령어와 연동해서 사용하게 되면 버전 관리도 가능합니다.
소스 형상관리 소프트웨어(CVS, SVN)을 사용하지 않는 경우에는 diff가 상당히 유용할것입니다.
아래와 같은 명령어를 이용하면 사람이 가독하기 쉬운 형태의 diff 결과를 확인할 수 있다.
diff -Nur A B
최근 들어서는 형상관리 소프트웨어를 많이 사용하기 때문에 특정 디렉토리(.svn, CVS)를 제거하고 diff를 하는 경우가 있습니다.
이런 경우에는 아래와 같이 하면 편리합니다.
diff -Nur –exclude=”.svn” –exclude=”.gitignore” A B
참고로 위의 exclude 기능 관련해서 man 페이지에는 찾아보면 아래와 같다.
–exclude=pattern
디렉토리를 비교할 때, 파일과 하위 디렉토리의 basename이 pattern 과 일치하면무시한다.–exclude-from=file
디 렉토리를 비교할 때, 파일과 하위 디렉토리의 basename이 file 에 있는 어떤 패턴과 일치하
면 무시한다.