웹사이트 검색

Linux의 10가지 최고의 파일 비교 및 차이(Diff) 도구


프로그램 파일이나 일반 텍스트 파일을 작성하는 동안 프로그래머와 작성자는 때때로 두 파일 또는 동일한 파일의 두 버전 간의 차이점을 알고 싶어합니다.

Linux에서 두 컴퓨터 파일을 비교할 때 해당 내용의 차이를 차이라고 합니다. 이 설명은 잘 알려진 Unix 명령줄 파일 비교 유틸리티인 diff의 출력에 대한 참조에서 탄생했습니다.

Linux에서 사용할 수 있는 파일 비교 도구는 여러 가지가 있으며, 이번 리뷰에서는 코드나 기타 텍스트 파일을 작성하는 동안 활용할 수 있는 최고의 터미널 기반 및 GUI 비교 도구 중 일부를 살펴보겠습니다.

1. diff 명령

저는 두 컴퓨터 파일의 차이점을 보여주는 원래 Unix 명령줄 도구부터 시작하고 싶습니다. Diff는 간단하고 사용하기 쉽습니다. 대부분의 Linux 배포판에 사전 설치되어 파일을 한 줄씩 비교하고 차이점을 출력합니다.

두 파일을 비교하고 차이점을 표시합니다.

diff file1.txt file2.txt

diff에 대한 수동 입력을 확인하면 쉽게 사용할 수 있습니다.

man diff

기능을 향상시키는 diff 도구용 래퍼가 있으며 여기에는 다음이 포함됩니다.

colordiff 명령

Colordiffdiff와 동일한 출력을 생성하지만 색상 및 구문 강조가 포함된 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 도구가 있으면 알려 주시기 바랍니다. 최고 중 하나로 언급됩니다.