diff
두 개의 파일을 행 단위로 비교하여 차이점을 출력해주는 명령어
앞 부분에 원본, 뒷 부분에 새로운 파일을 두고 비교함
즉 두 번째 파일이 기준이 되는데, 첫 번째 파일을 어떻게 수정해야 두 번째 파일과 같아지는지를 나타냄
diff [option] file1 file2
-i
: 대소문자를 구분하지 않음 (--ignore-case)
-b
: 하나 이상의 공백 문자는 모두 같은 것으로 취급하여 비교
--q
: 파일을 비교하여 자세한 내용없이 간단하게 차이가 있는지 여부만 알려줌
-c
: 두 파일의 수정 시간과 함께 정보를 상세히 출력
-s
: 두 파일을 비교하여 같으면 동일하다는 메시지 출력
-w
: 각 줄을 비교할 때 공백은 무시
-e
: ed 스크립트 출력을 생성
a
: append의 약자. 파일2에서 파일1로 첨가되어야 할 것이 이 값으로 표시
c
: change의 약자. 파일의 내용이 바뀌어야 할 부분이 이 값으로 표시
d
: delete의 약자. 파일에서 제거되어야 하는 내용이 이 값으로 표시
우선 testA
파일과 testB
파일을 다음과 같이 만들어준다
cat > testA
...
I love linux
I love windows
I love unix
^D
cat > testB
...
I love Linux
I love windows
I love unix
^D
diff testA testB
cmp
두 개의 파일을 문자 대 문자로 비교하는 명령어
옵션없이 실행하면 가장 처음으로 틀린 부분의 위치를 출력
cmp [option] file1 file2
-l
: 다른 부분을 찾아 바이트 넘버 및 값을 출력. 값은 ASCII 코드값을 8진수로 출력
-i
: 처음부터 지정한 바이트까지 스킵한 뒤 나머지 부분을 비교
cat > cmp1
...
A
I love Linux
^D
cat > cmp2
a
i love linux
^D
->
cmp cmp1 cmp2