이 가이드에서는 Linux를 사용하여 두 파일을 비교하고 그 차이를 화면이나 파일로 출력하는 방법을 보여줍니다.
Linux를 사용하여 파일을 비교하기 위해 특별한 소프트웨어를 설치할 필요는 없지만 터미널 창을 여는 방법을 알아야 합니다 .
링크 된 가이드가 보여 주듯이 리눅스를 사용하여 터미널 창을 여는 많은 방법이 있습니다. 가장 간단한 방법은 CTRL, ALT 및 T 키를 동시에 누르는 것입니다.
비교할 파일 만들기
이 가이드를 따라 가려면 "file1"이라는 파일을 만들고 다음 텍스트를 입력하십시오 :
벽에 서있는 녹색 병 10 개
벽에 서있는 녹색 병 10 개
녹색 병이 실수로 떨어지는 경우
벽에 서있는 9 개의 녹색 병이있을 것입니다.
다음 지침에 따라 파일을 만들 수 있습니다.
- 다음 명령을 입력하여 파일을 엽니 다. nano file1
- nano 편집기에 텍스트를 입력하십시오.
- CTRL과 O를 눌러 파일을 저장하십시오.
- CTRL과 X를 눌러 파일을 종료하십시오.
이제 "file2"라는 또 다른 파일을 만들고 다음 텍스트를 입력하십시오 :
벽에 서있는 녹색 병 10 개
1 개의 녹색 병이 실수로 떨어지는 경우
벽에 서있는 9 개의 녹색 병이있을거야.
다음 지침에 따라 파일을 만들 수 있습니다.
- 다음 명령을 입력하여 파일을 엽니 다. nano file2
- nano 편집기에 텍스트를 입력하십시오.
- CTRL과 O를 눌러 파일을 저장하십시오.
- CTRL과 X를 눌러 파일을 종료하십시오.
Linux를 사용하여 두 파일을 비교하는 방법
두 파일 사이의 차이점을 표시하기 위해 Linux에서 사용되는 명령을 diff 명령이라고합니다.
diff 명령의 가장 간단한 형식은 다음과 같습니다.
diff file1 file2
파일이 동일하면이 명령을 사용할 때 출력이 없지만 차이점이 있으므로 다음과 비슷한 출력이 표시됩니다.
2,4c2,3
<벽에 서있는 녹색 병 10 개
<만약 한 병의 녹색 병이 우발적으로 떨어지면
<벽에 서있는 9 개의 녹색 병
...
> 1 개의 녹색 병이 우발적으로 떨어지는 경우
> 벽에 서있는 9 개의 녹색 병
처음에는 출력이 혼란 스러울 수 있지만 일단 용어를 이해하면 상당히 논리적입니다.
자신의 눈을 사용하면 두 파일의 차이점을 알 수 있습니다.
- 두 번째 파일에는 세 줄만 있지만 첫 번째 파일에는 네 줄이 있습니다.
- 두 번째 파일에는 세 번째 줄에 "1 녹색 병"이라고 표시되어있는 반면 첫 번째 파일에는 "녹색 병 1 개"
- 두 번째 파일에는 최종 행에 "있을 것이라고"대신 "있을 것이라고"표시되어 있습니다.
diff 명령의 출력은 첫 번째 파일의 2 번과 4 번 줄과 두 번째 파일의 2 번과 3 번 줄 사이에 차이점이 있음을 보여줍니다.
그런 다음 첫 번째 파일에서 2에서 4까지의 행을 나열하고 두 번째 파일에서 두 개의 다른 행을 나열합니다.
파일이 다른 경우 표시하는 방법
파일이 다른지, 어떤 줄이 다른지에 대해 관심이 없으면 다음 명령을 실행할 수 있습니다.
diff -q file1 file2
파일이 다른 경우 다음이 표시됩니다.
파일 file1과 file2는 다릅니다.
파일이 동일하면 아무 것도 표시되지 않습니다.
파일이 동일한 경우 메시지를 표시하는 방법
명령을 실행할 때 올바르게 작동했음을 알고 싶으면 파일이 동일하거나 다른지 여부에 관계없이 diff 명령을 실행할 때 메시지가 표시되기를 원합니다
diff 명령을 사용하여이 요구 사항을 충족 시키려면 다음 명령을 사용할 수 있습니다.
diff -s file1 file2
이제 파일이 동일하면 다음 메시지가 나타납니다.
파일 file1과 file2는 동일합니다.
차이점을 나란히 만드는 방법
차이점이 많으면 두 파일간에 실제로 차이점이 무엇인지 혼동 될 수 있습니다.
결과가 나란히 표시되도록 diff 명령의 출력을 변경할 수 있습니다. 이렇게하려면 다음 명령을 실행하십시오.
diff -y file1 file2
파일의 출력에 | 두 줄 사이의 차이를 나타내는 기호, 제거 된 줄을 표시하는 줄 기호 및 추가 된 줄을 표시하는 줄 기호.
흥미롭게도 데모 파일을 사용하여 명령을 실행하면 삭제 된 파일 2의 마지막 줄을 제외하고 모든 줄이 다르게 표시됩니다.
열 너비 제한
두 파일을 나란히 비교할 때 파일에 많은 텍스트 열이있는 경우 읽기가 어려울 수 있습니다.
컬럼의 수를 제한하려면 다음 명령을 사용하십시오.
diff - 폭 = 5 파일 file2
파일을 비교할 때 대소 문자 차이를 무시하는 방법
두 파일을 비교하기를 원하지만 문자의 대소 문자가 두 파일간에 같은지 여부를 신경 쓰지 않으면 다음 명령을 사용할 수 있습니다.
diff -i file1 file2
줄 끝의 공백을 무시하는 방법
차이점이 많은 파일을 비교할 때 줄 끝의 공백으로 인해 차이가 발생하는 경우 다음 명령을 실행하여 변경 사항으로 표시하지 않을 수 있습니다.
차이 -Z 파일 1 파일 2
두 파일 간의 모든 공백 차이를 무시하는 방법
파일의 텍스트에만 관심이 있고 다른 공간보다 많은 공간이 있는지 여부에 상관하지 않는 경우 다음 명령을 사용할 수 있습니다.
diff -w file1 file2
두 파일을 비교할 때 빈 줄을 무시하는 방법
한 파일에 여분의 빈 줄이 포함될 수 있다고 생각하지 않는다면 다음 명령을 사용하여 파일을 비교할 수 있습니다.
diff -B file1 file2
개요
자세한 정보는 diff 명령 매뉴얼을 참조하십시오.
남자 차이
diff 명령은 가장 단순한 형태로 사용되어 2 개의 파일 간의 차이점을 보여줄 수 있지만이 파일을 사용 하여 Linux 패치 명령에 대한 본 안내서 에서처럼 패치 전략의 일부로 diff 파일 을 작성할 수도 있습니다.
파일을 비교하는 데 사용할 수있는 또 다른 명령은 이 설명서 에서처럼 cmp 명령 입니다. 이것은 파일을 바이트 단위로 비교합니다.