리눅스에서 작업하다 보면 두 파일이 정확히 어떤 부분에서 다른지 확인하고 싶을 때가 있습니다.
이때, 가장 많이 사용하는 명령어가 바로 **diff**입니다.
설정 파일, 코드, 문서, 디렉터리 등 텍스트 기반의 비교 작업에 폭넓게 활용되며, git diff의 기반 도구이기도 합니다.
diff 명령어란?
- 두 개의 파일 또는 디렉터리를 비교
- 어느 줄이 추가/삭제/변경되었는지를 표시
- 결과는 patch 명령어와 연동하여 패치 파일 생성에도 사용됩니다.
기본 사용법
diff [옵션] 파일1 파일2
예시
diff config_v1.txt config_v2.txt
기본 출력 형태 예시
3c3
< color=blue
---
> color=green
- 3c3: 세 번째 줄이 변경 (change)
- <: 첫 번째 파일의 내용
- >: 두 번째 파일의 내용
자주 쓰는 diff 옵션 설명
| -u | Unified 형식 출력 (깃에서 보는 것과 유사) |
| -c | 컨텍스트(Context) 형식 출력 (변경 전후 주변 줄 함께 표시) |
| -y | 양쪽 파일을 나란히(side-by-side) 보여줍니다. |
| --suppress-common-lines | 공통된 줄 생략 (-y와 함께 쓰면 깔끔) |
| -r | 디렉터리 비교 (재귀적으로 하위 파일까지) |
| -q | 다름 여부만 출력 (어떤 줄이 다른지까지는 알려주지 않습니다.) |
| --color=always | 비교 결과에 색상 추가 (가독성 증가) |
| --brief | 변경된 파일 목록만 요약 출력 |
| --speed-large-files | 대용량 파일 비교 시 속도 향상 옵션 |
주요 옵션 실습 예제
1. Unified 형식 (-u) : Unified 형식 출력
diff -u old.txt new.txt
출력
--- old.txt
+++ new.txt
@@ -1,3 +1,3 @@
-color=blue
+color=green
→ @@는 변경된 줄 번호와 함께 표시
2. Side-by-side 보기 (-y) : 양쪽 파일을 나란히(side-by-side) 보여줍니다.
diff -y file1.txt file2.txt
출력
color=blue | color=green
size=medium | size=large
version=1.0 | version=1.0
→ 가독성 좋고, 사람이 비교하기 편합니다.
3. 디렉터리 전체 비교 (-r) : 재귀적으로 하위 파일까지
diff -r dir1/ dir2/
→ 디렉터리 안의 파일까지 포함해 모든 차이 비교
4. 변경된 파일만 간단히 확인 (-q) : 다름 여부만 출력
diff -q file1.txt file2.txt
출력
Files file1.txt and file2.txt differ
5. 색상 있는 출력 (--color=always) : 비교 결과에 색상 추가
diff --color=always -u file1.txt file2.txt
→ 터미널에서 색으로 변경 부분 강조됩니다. (지원 터미널 한정)
diff 옵션 요약 정리표
| -u | 깃(Git) 스타일 통합 비교 |
| -c | 컨텍스트 기반 비교 |
| -y | 좌우 나란히 비교 |
| --suppress-common-lines | 공통 줄 생략 (-y와 함께 사용) |
| -r | 디렉터리 재귀 비교 |
| -q | 다름 여부만 빠르게 확인 |
| --brief | 변경 여부만 요약 출력 |
| --color=always | 변경 내용을 컬러로 강조 |
| --speed-large-files | 대용량 파일 비교 최적화 |
'Linux' 카테고리의 다른 글
| [ Linux ] 명령어 설명 보는 법 – --help vs man (0) | 2025.06.02 |
|---|---|
| [ Linux ] 파일 탐색/확인 명령어 - (ls / cat / find / locate) (0) | 2025.06.02 |
| [ Linux ] fuser - 누가 파일/포트를 점유 중인지 확인하기 (0) | 2025.05.29 |
| [ Linux ] ln 명령어 [ 하드 링크 vs 심볼릭 링크 ] (2) | 2025.05.27 |
| [ Linux ] .p12 인증서 만들기 (0) | 2025.05.21 |