Linux의 10가지 최고의 파일 비교 및 차이(Diff) 도구
프로그램 파일이나 일반 텍스트 파일을 작성하는 동안 프로그래머와 작성자는 때때로 두 파일 또는 동일한 파일의 두 버전 간의 차이점을 알고 싶어합니다.
Linux에서 두 컴퓨터 파일을 비교할 때 해당 내용의 차이를 차이라고 합니다. 이 설명은 잘 알려진 Unix 명령줄 파일 비교 유틸리티인 diff의 출력에 대한 참조에서 탄생했습니다.
Linux에서 사용할 수 있는 파일 비교 도구는 여러 가지가 있으며, 이번 리뷰에서는 코드나 기타 텍스트 파일을 작성하는 동안 활용할 수 있는 최고의 터미널 기반 및 GUI 비교 도구 중 일부를 살펴보겠습니다.
1. diff 명령
저는 두 컴퓨터 파일의 차이점을 보여주는 원래 Unix 명령줄 도구부터 시작하고 싶습니다. Diff는 간단하고 사용하기 쉽습니다. 대부분의 Linux 배포판에 사전 설치되어 파일을 한 줄씩 비교하고 차이점을 출력합니다.
두 파일을 비교하고 차이점을 표시합니다.
diff file1.txt file2.txt
diff에 대한 수동 입력을 확인하면 쉽게 사용할 수 있습니다.
man diff
기능을 향상시키는 diff 도구용 래퍼가 있으며 여기에는 다음이 포함됩니다.
colordiff 명령
Colordiff는 diff와 동일한 출력을 생성하지만 색상 및 구문 강조가 포함된 Perl 스크립트입니다. 사용자 정의 가능한 색상 구성표가 있습니다.
표시된 대로 yum, dnf, apt-get 또는 apt라는 기본 패키지 관리자 도구를 사용하여 Linux 시스템에 Colordiff를 설치할 수 있습니다.
sudo apt install colordiff [On Debian, Ubuntu and Mint]
sudo yum install colordiff [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/colordiff [On Gentoo Linux]
sudo apk add colordiff [On Alpine Linux]
sudo pacman -S colordiff [On Arch Linux]
sudo zypper install colordiff [On OpenSUSE]
디렉터리를 재귀적으로 비교합니다.
colordiff file1.txt file2.txt
표시된 대로 colordiff에 대한 수동 입력을 확인할 수 있습니다.
man colordiff
wdiff 명령
wdiff 유틸리티는 단어 단위로 파일을 비교하는 데 사용되는 diff 명령의 프런트 엔드입니다. 이 프로그램은 변경된 단어와 다시 채워진 단락에 대해 두 텍스트를 비교할 때 매우 유용합니다.
Linux 시스템에 wdiff를 설치하려면 다음을 실행하세요.
sudo apt install wdiff [On Debian, Ubuntu and Mint]
sudo yum install wdiff [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/wdiff [On Gentoo Linux]
sudo apk add wdiff [On Alpine Linux]
sudo pacman -S wdiff [On Arch Linux]
sudo zypper install wdiff [On OpenSUSE]
두 파일을 나란히 표시하여 단어 수준의 차이점을 강조합니다.
wdiff file1.txt file2.txt
Linux에서 사용하는 방법은 wdiff 매뉴얼을 참조하세요.
man wdiff
2. Vimdiff 명령
Vimdiff는 사용자가 파일의 최대 4개 버전을 편집하면서 차이점을 표시할 수 있는 diff 유틸리티와 비교하여 고급 방식으로 작동합니다. 이를 실행하면 Vimdiff는 Vim 텍스트 편집기를 사용하여 2~3개 또는 4개의 파일을 엽니다.
vimdiff를 사용하려면 시스템에 Vim이 설치되어 있어야 합니다. Vim이 설치되어 있지 않은 경우 패키지 관리자를 사용하여 설치할 수 있습니다.
sudo apt install vim [On Debian, Ubuntu and Mint]
sudo yum install vim [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim [On Gentoo Linux]
sudo apk add vim [On Alpine Linux]
sudo pacman -S vim [On Arch Linux]
sudo zypper install vim [On OpenSUSE]
vimdiff를 사용하여 두 파일을 비교하려면 다음 명령을 실행합니다.
vimdiff file1.txt file2.txt
vimdiff를 사용하여 세 파일을 비교할 수도 있습니다.
vimdiff file1.txt file2.txt file3.txt
더 자세한 정보와 사용 옵션을 보려면 다음을 실행하여 매뉴얼 페이지에 액세스할 수 있습니다.
man vimdiff
3. 시끄럽다
sdiff 명령은 두 파일을 나란히 비교하여 차이점을 강조하는 데 사용됩니다. ">"
접두사가 추가된 줄, "<"
접두사가 붙은 삭제된 줄, 접두사가 없는 공통 줄이 표시되는 별도의 열에 두 파일의 내용이 표시됩니다. .
sdiff 명령은 일반적으로 대부분의 Linux 배포판의 표준 설치와 함께 제공됩니다. 그러나 설치되어 있지 않은 경우 패키지 관리자를 사용하여 설치할 수 있습니다.
sudo apt install diffutils [On Debian, Ubuntu and Mint]
sudo yum install diffutils [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/diffutils [On Gentoo Linux]
sudo apk add diffutils [On Alpine Linux]
sudo pacman -S diffutils [On Arch Linux]
sudo zypper install diffutils [On OpenSUSE]
두 파일을 비교하고 차이점을 나란히 표시합니다.
sdiff file1.txt file2.txt
기존 diff 도구를 살펴본 후 Linux에서 사용할 수 있는 일부 GUI diff 도구로 빠르게 이동해 보겠습니다.
4. 콤파레
Kompare는 사용자가 파일 간의 차이점을 비교하고 볼 수 있으며 병합할 수도 있는 그래픽 비교 및 병합 도구입니다.
Linux 배포판에 Kompare를 설치하려면 해당 시스템에 맞는 패키지 관리자를 사용할 수 있습니다.
sudo apt install kompare [On Debian, Ubuntu and Mint]
sudo yum install kompare [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/kompare [On Gentoo Linux]
sudo apk add kompare [On Alpine Linux]
sudo pacman -S kompare [On Arch Linux]
sudo zypper install kompare [On OpenSUSE]
일부 기능은 다음과 같습니다.
- 다양한 diff 형식 지원
- 디렉토리 비교 지원
- diff 파일 읽기 지원
- 맞춤형 인터페이스
- 소스 파일에 패치 생성 및 적용
5. DiffMerge
DiffMerge는 파일을 비교하고 병합하기 위한 크로스 플랫폼 GUI 애플리케이션입니다. 두 가지 기능 엔진, 즉 두 파일 간의 차이를 보여주고 줄 내 강조 표시 및 편집을 지원하는 Diff 엔진과 두 파일 사이에서 변경된 줄을 출력하는 병합 엔진이 있습니다. 세 개의 파일.
다음과 같은 기능을 가지고 있습니다:
- 디렉토리 비교 지원
- 파일 브라우저 통합
- 고도로 구성 가능
6. Meld – 차이점 도구
Meld는 사용자가 파일, 디렉토리 및 버전 제어 프로그램을 비교할 수 있는 경량 GUI 비교 및 병합 도구입니다. 개발자를 위해 특별히 제작된 이 제품에는 다음과 같은 기능이 제공됩니다.
- 파일 및 디렉터리의 양방향 및 3방향 비교
- 사용자가 더 많은 단어를 입력함에 따라 파일 비교 업데이트
- 자동 병합 모드와 변경된 블록에 대한 작업을 사용하여 병합을 더 쉽게 만듭니다.
- 시각화를 사용한 손쉬운 비교
- Git, Mercurial, Subversion, Bazaar 등을 지원합니다.
Linux에 Meld를 설치하려면 패키지 관리자를 사용하여 공식 저장소에서 설치할 수 있습니다.
sudo apt install meld [On Debian, Ubuntu and Mint]
sudo yum install meld [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/meld [On Gentoo Linux]
sudo apk add meld [On Alpine Linux]
sudo pacman -S meld [On Arch Linux]
sudo zypper install meld [On OpenSUSE]
7. 확산 – GUI 비교 도구
확산은 Linux에서 사용할 수 있는 또 다른 유명하고 작은 무료 GUI 비교 및 병합 도구입니다. Python으로 작성되었으며 파일 비교 및 버전 제어, 파일 편집 및 파일 병합, 파일 간의 차이점 출력이라는 두 가지 주요 기능을 제공합니다.
Linux에 Diffuse를 설치하려면 다음과 같이 패키지 관리자를 사용할 수 있습니다.
sudo apt install diffuse [On Debian, Ubuntu and Mint]
sudo yum install diffuse [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/diffuse [On Gentoo Linux]
sudo apk add diffuse [On Alpine Linux]
sudo pacman -S diffuse [On Arch Linux]
sudo zypper install diffuse [On OpenSUSE]
비교 요약을 보고, 마우스 포인터를 사용하여 파일에서 텍스트 줄을 선택하고, 인접한 파일의 줄을 일치시키고, 다른 파일을 편집할 수 있습니다.
기타 기능은 다음과 같습니다.
- 구문 강조
- 쉬운 탐색을 위한 키보드 단축키
- 무제한 실행 취소 지원
- 유니코드 지원
- Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK 및 Monotone 지원
8. XXdiff – 비교 및 병합 도구
XXdiff는 Linux, Solaris, HP/UX, IRIX 및 DEC Tru64와 같은 Unix 계열 운영 체제에서 실행되는 강력한 무료 파일 및 디렉터리 비교기 및 병합 도구입니다. XXdiff의 한 가지 제한 사항은 유니코드 파일에 대한 지원이 부족하고 diff 파일의 인라인 편집이 부족하다는 것입니다.
다음과 같은 기능 목록이 있습니다.
- 2개, 3개 파일 또는 2개 디렉토리의 얕은 재귀 비교
- 수평 차이 강조
- 대화형 파일 병합 및 결과 출력 저장
- 병합 검토/정책 지원
- GNU diff, SIG diff, Cleareddiff 등과 같은 외부 diff 도구 지원
- 스크립트를 사용하여 확장 가능
- 리소스 파일과 기타 여러 가지 사소한 기능을 사용하여 완전히 사용자 정의 가능
9. KDiff3 – – 비교 및 병합 도구
KDiff3은 Linux, Mac OS X, Windows를 포함한 모든 Unix 계열 플랫폼에서 작동하는 KDevelop에서 만든 또 다른 멋진 크로스 플랫폼 비교 및 병합 도구입니다.
Linux에 KDiff3을 설치하려면 표시된 대로 패키지 관리자를 사용할 수 있습니다.
sudo apt install kdiff3 [On Debian, Ubuntu and Mint]
sudo yum install kdiff3 [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/kdiff3 [On Gentoo Linux]
sudo apk add kdiff3 [On Alpine Linux]
sudo pacman -S kdiff3 [On Arch Linux]
sudo zypper install kdiff3 [On OpenSUSE]
2~3개의 파일이나 디렉터리를 비교하거나 병합할 수 있으며 다음과 같은 주목할만한 기능이 있습니다.
- 행별로, 문자별로 차이점을 나타냅니다.
- 자동 병합 지원
- 병합 충돌을 처리하는 내장 편집기
- 유니코드, UTF-8 및 기타 다양한 코덱 지원
- 차이점 인쇄 가능
- Windows 탐색기 통합 지원
- 바이트 순서 표시 "BOM"을 통한 자동 감지도 지원합니다.
- 수동으로 선 정렬을 지원합니다.
- 직관적인 GUI 및 기타 다양한 기능
10. TkDiff
TkDiff는 또한 두 입력 파일 간의 차이점을 나란히 표시하는 Unix diff 도구용 크로스 플랫폼의 사용하기 쉬운 GUI 래퍼입니다. Linux, Windows 및 Mac OS X에서 실행할 수 있습니다.
또한, 차이점 북마크, 쉽고 빠른 탐색을 위한 차이점 그래픽 지도 등을 비롯한 몇 가지 흥미로운 기능이 있습니다.
Linux에 TkDiff를 설치하려면 표시된 대로 패키지 관리자를 사용할 수 있습니다.
sudo apt install tkdiff [On Debian, Ubuntu and Mint]
sudo yum install tkdiff [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/tkdiff [On Gentoo Linux]
sudo apk add tkdiff [On Alpine Linux]
sudo pacman -S tkdiff [On Arch Linux]
sudo zypper install tkdiff [On OpenSUSE]
결론
최고의 파일 및 디렉터리 비교기 및 병합 도구에 대한 이 리뷰를 읽은 후에는 아마도 그 중 일부를 사용해 보고 싶을 것입니다.
이것이 Linux에서 사용할 수 있는 유일한 diff 도구는 아닐 수도 있지만 최고의 기능 중 일부를 제공하는 것으로 알려져 있습니다. 또한 테스트를 거쳐 가치가 있다고 생각하는 다른 diff 도구가 있으면 알려 주시기 바랍니다. 최고 중 하나로 언급됩니다.