상세 컨텐츠

본문 제목

[리눅스 명령어 정리] diff 개념/사용법

리눅스/linux 명령어 정리

by 해공학(해킹을 공부하는 학생) 2023. 6. 28. 06:45

본문

안녕하세요 오늘은 리눅스 명령어 diff에 대해 알아보겠습니다.

 

diff의 개념

diff는 컴퓨터에서 서로 다른 파일을 비교 할때 쓰이는 파일 비교 유틸리티 입니다. 

이 명령어는 유닉스 계열의 프로그램인 patch 명령어를 이용하여 출력물을 생성할수있습니다.

 

 

diff 사용법

diff의 기본 사용법은 다음과 같습니다.

diff [옵션] [비교할 1파일] [비교할 2파일]

 

이제 하나하나 예제와 같이 이해를 해보겠습니다.

우선 실습할 파일 구성을 알려드리겠습니다.

/// a
i am happy
///b
i am sad
///c
i am tired and hungry
///d
i am hungry and angry

이제 사용법을 차근히 알아보겠습니다.

 

그냥 쓸때 

a 파일과 b 파일을 비교 해보겠습니다.

┌──(root㉿kali)-[~/blog/diff_test]
└─# diff a b    
1c1
< i am happy
---
> i am sad

위 출력 결과의 뜻을 알아보겠습니다.

 

1. 1c1 : 앞에 1은 원본 파일의 라인수, c는 change의 줄임말로 바꿔야 된다는 말입니다,

1은 수정 하고 나면 되는 라인수 입니다.

2. < i am happy : a파일에 i am happy가 있다는 말입니다.

3. > i am sad : b 파일에 i am sad가 있다는 말 입니다.

 

위에서 1c1에 대해 알아봤는데 가운데에 있는 영어는 다른것이 올수도 있습니다.

d : delete 삭제해라는 거임

a: add, 추가하라는 말임

 

옵션

이 diff 명령어에서는 옵션을 대부분 옵션을 안씁니다(왜냐하면 기능이 그냥써도 모든걸 다해줄수있으니까.)

 

-u : 좀더 자세하게 알려줌

┌──(root㉿kali)-[~/blog/diff_test]
└─# diff -u b d
--- b   2023-06-27 17:23:40.850358963 -0400
+++ d   2023-06-27 17:40:02.648981492 -0400
@@ -1 +1,3 @@
-i am sad
+i am hungry
+and angry
+

첫번째 줄이랑 두번째 줄은 파일에 대한 정보를 알려줍니다.

세번째 줄은 -1은 b의 파일 line 이고, +1.3은 d파일은 1에서 3 line이라는 것 입니다.

 

관련글 더보기