diff (Differential)
diff는 두 파일 간의 차이점을 줄 단위로 비교하여 출력하는 명령어입니다. 어떤 줄이 추가되었고, 삭제되었으며, 수정되었는지 한눈에 파악할 수 있어 소스 코드의 버전을 비교하거나 패치(Patch) 파일을 만들 때 주로 사용됩니다.
1. 기본 사용법
diff [옵션] 파일1 파일2
- 결과에서
<는 첫 번째 파일의 내용을,>는 두 번째 파일의 내용을 의미합니다.
2. 주요 옵션
| 옵션 | 이름 | 설명 |
|---|---|---|
-c |
context | 차이점 전후의 문맥을 포함하여 출력합니다. |
-u |
unified | 유니파이드 형식. Git 등에서 주로 사용하는 표준적인 비교 형식을 제공합니다. |
-y |
side-by-side | 화면을 좌우로 나누어 두 파일을 직관적으로 비교합니다. |
-i |
ignore-case | 대소문자 차이를 무시하고 비교합니다. |
-w |
ignore-all-space | 모든 공백 차이를 무시합니다. |
-r |
recursive | 디렉터리 비교. 두 폴더 내의 모든 파일을 재귀적으로 비교합니다. |
3. 실무 활용 예시
① 두 파일의 차이점을 좌우로 비교하기 (가장 직관적)
diff -y file1.txt file2.txt
② 표준적인 비교 형식(Unified)으로 보기
diff -u old_script.py new_script.py
③ 두 디렉터리의 구성 요소 비교하기
diff -r project_backup/ project_current/
4. [팁] 결과 읽는 법 (기본 형식)
a(add): 파일 2에 내용이 추가됨c(change): 내용이 변경됨d(delete): 파일 1의 내용이 삭제됨 예:5c5는 첫 번째 파일의 5행과 두 번째 파일의 5행이 서로 다르다는 의미입니다.