728x90
diff 명령어
diff 명령어는 두 파일의 차이를 비교해 보여주는 유용한 도구입니다. 주로 코드 변경 사항을 확인하거나 텍스트 파일의 차이를 확인할 때 사용됩니다.
1. 기본 형식
diff [옵션] 파일1 파일2
기본 출력 형식
- -u (unified format) : 가장 일반적으로 사용되는 형식으로 변경된 라인을 중심으로 양쪽 파일의 내용을 보여줌
- -c (context format) : 변경된 라인 주변의 몇 줄을 함께 보여주어 변경 내용의 맥락을 파악하기 쉬움
비교 옵션
- -i : 대소문자를 구분하지 않고 비교
- -r : 하위 디렉토리까지 재귀적으로 비교
- -y : 두 파일을 나란히 배치하여 차이점을 시각적으로 확인하기 쉬움
공백 처리
- -b : 공백 문자(스페이스, 탭)의 수를 무시
- -t : 탭 문자를 특수 문자로 변환하지 않고 그대로 유지
- -w : 모든 공백 문자를 무시 출력 형식 제어
- --brief : 파일이 다른 경우에만 파일 이름만 출력
- -d : 최소한의 변경으로 두 파일을 일치시키는 방법을 보여줌
- -H : 대용량 파일을 비교할 때 효율적으로 처리
- -q : 파일이 다른 경우에만 출력하고, 동일한 경우에는 아무것도 출력하지 않음
- -s : 파일이 동일한 경우에도 "파일들은 동일합니다"라는 메시지를 출력
자주 사용되는 옵션 조합
- -Nur : 파일 또는 디렉토리의 차이를 비교하는 데 가장 일반적으로 사용
- -ur : 하위 디렉토리까지 재귀적으로 비교하며 통합 형식으로 출력 (가장 일반적인 사용법)
- -ib : 공백의 수를 무시하고 대소문자를 구분하지 않고 비교
- -ybw : 모든 공백을 무시하고 두 파일을 나란히 배치하여 출력
diff –Nur a.txt b.txt
$ diff -Nur a.txt b.txt
--- a.txt 2013-08-19 17:03:52.799591915 +0900
+++ b.txt 2013-08-19 16:59:20.750010797 +0900
@@ -6,3 +6,4 @@
compat-expat1-1.95.8-8.el6.i686 설치
compat-libcap1-1.10-1.i686 설치
compat-libgfortran-41-4.1.2-39.el6.i686 설치
+*** FINISHED INSTALLING PACKAGES ***
diff -Nur /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.bk
$ diff -Nur /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.bk
--- /usr/local/apache2/conf/httpd.conf 2020-12-31 01:30:05.316756750 +0000
+++ /usr/local/apache2/conf/httpd.conf.bk 2020-12-31 01:29:03.731039593 +0000
@@ -380,8 +380,6 @@
</IfModule>
<IfModule mime_module>
- AddType application/x-httpd-php-source .phps
-AddType application/x-httpd-php .htm .html .php .ph .phtml .inc
#
# TypesConfig points to the file containing the list of mappings from
# filename extension to MIME-type.
728x90
2. diff 명령어 사용 예시
단순 비교
- 두 파일의 차이만을 확인하는 기본 사용법입니다.
diff file1.txt file2.txt
통합 형식으로 비교
- 코드 파일을 비교할 때 주로 사용하는 옵션입니다.
diff -u file1.txt file2.txt
대소문자 무시하고 비교
- 대소문자를 무시하고 차이를 확인합니다.
diff -i file1.txt file2.txt
하위 디렉터리까지 비교
- 두 디렉터리를 비교하면서 파일과 하위 디렉터리까지 비교합니다.
diff -r dir1/ dir2/
두 파일을 나란히 비교
- 차이점을 보기 쉽게 두 파일을 좌우로 나란히 보여줍니다.
diff -y file1.txt file2.txt
3. diff와 비슷한 유용한 명령어
sdiff 명령어
- 두 파일을 나란히 비교하고 양쪽 차이를 쉽게 확인할 수 있습니다.
sdiff file1.txt file2.txt
vimdiff 명령어
- Vim을 사용해 두 파일의 차이점을 시각적으로 확인하고 파일 편집도 가능합니다.
vimdiff file1.txt file2.txt
cmp 명령어
- 두 파일의 바이트 단위 차이를 비교해 주며 차이가 발생하는 첫 번째 위치를 표시합니다.
cmp file1.txt file2.txt
comm 명령어
- 정렬된 두 파일에서 공통 부분과 다른 부분을 나눠서 보여줍니다.
comm file1.txt file2.txt
colordiff 명령어
- colordiff 설치
yum install -y colordiff
- colordiff a.txt b.txt
참고URL
- ubuntu manuals : https://manpages.ubuntu.com/manpages/jammy/en/man1/diff.1.html
728x90
'리눅스' 카테고리의 다른 글
[draft] sleep, wait, timeout 명령어 비교 및 사용법 (0) | 2024.11.12 |
---|---|
[draft] SSL 인증서의 만료일을 확인하는 방법 (0) | 2024.11.12 |
[draft] 우분투에서 Keycloak을 기반으로 SSH 인증을 설정하는 방법 (0) | 2024.11.10 |
[draft] SSO란 (0) | 2024.11.10 |
[draft] 우분투에서 Keycloak을 설치하고 설정하여 사용할 수 있는 방법 (0) | 2024.11.08 |