9 Bedste File Comparison and Difference (Diff) værktøjer til Linux


Mens man skriver programfiler eller normale tekstfiler, vil programmører og forfattere nogle gange vide forskellen mellem to filer eller to versioner af den samme fil. Når du sammenligner to computerfiler på Linux, kaldes forskellen mellem deres indhold en diff. Denne beskrivelse blev skabt ud fra en henvisning til output fra diff, det velkendte Unix kommandolinjefil sammenligningsværktøj.

Der er flere filsammenligningsværktøjer, som du kan bruge på Linux, og i denne gennemgang skal vi se på nogle af de bedste terminalbaserede og GUI-diff-værktøjer, du kan drage fordel af, mens du skriver kode eller andre tekstfiler.

1. diff Kommando

Jeg kan godt lide at starte med det originale Unix kommandolinjeværktøj, der viser dig forskellen mellem to computerfiler. Diff er enkel og nem at bruge, den kommer forudinstalleret på de fleste Linux-distributioner. Det sammenligner filer linje for linje og output forskellen mellem dem.

Du kan tjekke den manuelle indtastning for diff for nemt at bruge den.

# man diff

Der er nogle indpakninger til diff-værktøjet, der forbedrer dets funktionalitet, og disse inkluderer:

Colordiff er et Perl-script, der producerer samme output som diff, men med farve- og syntaksfremhævning. Det har tilpasses farveskemaer.

Du kan installere Colordiff på dine Linux-systemer ved hjælp af standardpakkehåndteringsværktøjer kaldet apt-get som vist.

# yum install colordiff             [On CentOS/RHEL/Fedora]
# dnf install colordiff             [On Fedora 23+ version]
$ sudo apt-get install colordiff    [On Debian/Ubuntu/Mint]

Du kan tjekke den manuelle indtastning for Colordiff som vist.

# man colordiff

Wdiff-værktøjet er en frontend til diff-kommando, der bruges til at sammenligne filer ord for ord. Dette program er meget nyttigt, når man sammenligner to tekster for ændrede ord, og for hvilke afsnit er genopfyldt.

For at installere wdiff på dine Linux-systemer skal du køre:

# yum install wdiff             [On CentOS/RHEL/Fedora]
# dnf install wdiff             [On Fedora 23+ version]
$ sudo apt-get install wdiff    [On Debian/Ubuntu/Mint]

Brug wdiff-manualen til, hvordan du bruger den på Linux.

# man wdiff

2. Vimdiff-kommando

Vimdiff arbejder på en avanceret måde i forhold til diff utility. Det gør det muligt for en bruger at redigere op til fire versioner af en fil, mens de viser deres forskelle. Når du kører det, åbner Vimdiff to eller tre eller fire filer ved hjælp af vim-teksteditor.

Besøg hjemmeside: http://vimdoc.sourceforge.net/htmldoc/diff.html

Efter at have set de gamle skolens diff-værktøjer, kan vi hurtigt flytte til nogle GUI-diff-værktøjer, der er tilgængelige på Linux.

3. Kompare

Kompare er en diff GUI-indpakning, der giver brugerne mulighed for at se forskelle mellem filer og også flette dem.

Nogle af dens funktioner inkluderer:

  1. Understøtter flere forskellige formater
  2. Understøtter sammenligning af mapper
  3. Understøtter læsning af diff-filer
  4. Grænseflade, der kan tilpasses
  5. Oprettelse og anvendelse af programrettelser på kildefiler

Besøg hjemmeside: https://www.kde.org/applications/development/kompare/

4. DiffMerge

DiffMerge er en platform-GUI-applikation til sammenligning og fletning af filer. Det har to funktionalitetsmotorer, Diff-motoren, der viser forskellen mellem to filer, som understøtter fremhævning og redigering inden for linjen og en fletmotor, der outputter de ændrede linjer mellem tre filer.

Det har følgende funktioner:

  1. Understøtter katalog sammenligning
  2. Filbrowserintegration
  3. Meget konfigurerbar

Besøg hjemmeside: https://sourcegear.com/diffmerge/

5. Smeltet - Diff-værktøj

Meld er et letvægts GUI diff og fusionsværktøj. Det gør det muligt for brugere at sammenligne filer, kataloger plus versionskontrollerede programmer. Bygget specielt til udviklere, det kommer med følgende funktioner:

  1. To- og trevejs sammenligning af filer og mapper
  2. Opdatering af filsammenligning, efterhånden som brugerne skriver flere ord
  3. Gør fletninger lettere ved hjælp af automatisk fletningstilstand og handlinger på ændrede blokke
  4. Nemme sammenligninger ved hjælp af visualiseringer
  5. Understøtter Git, Mercurial, Subversion, Bazaar plus mange flere

Besøg hjemmeside: http://meldmerge.org/

6. Diffus - GUI Diff-værktøj

Diffuse er et andet populært, gratis, lille og simpelt GUI diff og fusionsværktøj, som du kan bruge på Linux. Skrevet i Python, det tilbyder to hovedfunktioner, det vil sige: filsammenligning og versionskontrol, der tillader filredigering, fletning af filer og også output forskellen mellem filer.

Du kan se et sammenligningsoversigt, vælge tekstlinjer i filer ved hjælp af en musemarkør, matche linjer i tilstødende filer og redigere forskellige filer. Andre funktioner inkluderer:

  1. Syntaksfremhævning
  2. Tastaturgenveje til nem navigation
  3. Understøtter ubegrænset fortrydelse
  4. Unicode-understøttelse
  5. Understøtter Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK og Monotone

Besøg hjemmeside: http://diffuse.sourceforge.net/

7. XXdiff - Diff and Merge Tool

XXdiff er et gratis, kraftfuldt fil- og bibliotekskomparator- og fletningsværktøj, der kører på Unix som operativsystemer som Linux, Solaris, HP/UX, IRIX, DEC Tru64. En begrænsning af XXdiff er manglen på støtte til unicode-filer og inline-redigering af diff-filer.

Den har følgende liste over funktioner:

  1. Lav og rekursiv sammenligning af to, tre filer eller to mapper
  2. Vandret forskel fremhævning
  3. Interaktiv fletning af filer og lagring af resulterende output
  4. Understøtter sammenlægning/politistyring
  5. Understøtter eksterne diff-værktøjer såsom GNU diff, SIG diff, Cleareddiff og mange flere
  6. Kan udvides ved hjælp af scripts
  7. Fuldt tilpasselig ved hjælp af ressourcefil plus mange andre mindre funktioner

Besøg hjemmeside: http://furius.ca/xxdiff/

8. KDiff3 - - Diff and Merge Tool

KDiff3 er endnu et cool, cross-platform diff og fusionsværktøj lavet af KDevelop. Det fungerer på alle Unix-lignende platforme inklusive Linux og Mac OS X, Windows.

Det kan sammenligne eller flette to til tre filer eller mapper og har følgende bemærkelsesværdige funktioner:

  1. Angiver forskelle linje for linje og karakter for karakter
  2. Understøtter automatisk fletning
  3. Indbygget editor til håndtering af fletkonflikter
  4. Understøtter Unicode, UTF-8 og mange andre codecs
  5. Tillader udskrivning af forskelle
  6. Understøttelse af Windows Explorer-integration
  7. Understøtter også automatisk detektion via byte-ordre-mærke "BOM"
  8. Understøtter manuel justering af linjer
  9. Intuitiv GUI og mange flere

Besøg hjemmeside: http://kdiff3.sourceforge.net/

9. TkDiff

TkDiff er også en cross-platform, brugervenlig GUI-indpakning til Unix diff-værktøjet. Det giver en side om side af forskellene mellem to inputfiler. Det kan køre på Linux, Windows og Mac OS X.

Derudover har den nogle andre spændende funktioner, herunder diff bogmærker, et grafisk kort over forskelle for nem og hurtig navigation plus mange flere.

Besøg hjemmeside: https://sourceforge.net/projects/tkdiff/

Efter at have læst denne gennemgang af nogle af de bedste fil- og bibliotekskomparator- og fletningsværktøjer, vil du sandsynligvis prøve nogle af dem. Disse er muligvis ikke de eneste tilgængelige diff-værktøjer, du kan finde på Linux, men de er kendt for at tilbyde nogle af de bedste funktioner. Du vil muligvis også fortælle os om andre diff-værktøjer derude, som du har testet og synes fortjener at være nævnt blandt de bedste.