ფაილების შედარება Linux-ში (diff ბრძანება). ინსტრუმენტების მიმოხილვა ვიზუალურად შედარებისა და შერწყმის კონფლიქტების გადასაჭრელად სტრიქონების შედარება ლინუქსის ფაილებში

ხშირად საჭიროა ვებმასტერებისთვის ან საიტის მფლობელებისთვის ორი ფაილის შინაარსის მიხედვით შედარება. ეს სტატია გაჩვენებთ, თუ როგორ უნდა შევადაროთ ორი ფაილი ერთმანეთს. იგი აღწერს ყველა მეთოდს, რომელიც მე ვიცი ტექსტური ფაილების და სკრიპტების შედარებისთვის (html, css, php და ა.შ.).

მეთოდი 1. შერწყმა

შერწყმა- გრაფიკული ინსტრუმენტი განსხვავებების მისაღებად და ორი ფაილის, ორი დირექტორიის გაერთიანებისთვის. Meld არის ვიზუალური ფაილების და დირექტორიების შედარებისა და გაერთიანების ინსტრუმენტი Linux-ისთვის. Meld მიზნად ისახავს ძირითადად დეველოპერებს. თუმცა, ის შეიძლება სასარგებლო იყოს ნებისმიერი მომხმარებლისთვის, რომელსაც სჭირდება კარგი ინსტრუმენტი ფაილებისა და დირექტორიების შესადარებლად.

Meld-ში შეგიძლიათ შეადაროთ ორი ან სამი ფაილი, ან ორი ან სამი დირექტორია. თქვენ შეგიძლიათ ნახოთ სამუშაო ასლი პოპულარული ვერსიების კონტროლის სისტემებიდან, როგორიცაა CVS, Subversion, Bazaar-NG და Mercurial. Meld ხელმისაწვდომია ლინუქსის დისტრიბუციების უმეტესობისთვის (Ubuntu, Suse, Fedora და ა.შ.) და წარმოდგენილია მათ მთავარ საცავებში.

# aptitude install meld

მეთოდი 2. WinMerge პროგრამაში ორი ფაილის შიგთავსის შედარება.

უფასო პროგრამა WinMerge საშუალებას გაძლევთ შეადაროთ არა მხოლოდ ფაილების შინაარსი, არამედ შეადაროთ მთელი საქაღალდეების შინაარსი. WinMerge არის ღია კოდის შედარებისა და შერწყმის ინსტრუმენტი Windows-ისთვის. WinMerge-ს შეუძლია შეადაროს ფაილები და საქაღალდეები, აჩვენოს განსხვავებები ვიზუალურ ტექსტურ ფორმაში, რომელიც ადვილად გასაგები და დამუშავებულია.

ინსტალაციის შემდეგ გახსენით მენიუს პუნქტი "ფაილი" - "გახსნა". აირჩიეთ ფაილები შესადარებლად. ამისათვის დააჭირეთ ღილაკს "Browse" და აირჩიეთ ფაილი. ფაილების შერჩევის შემდეგ დააჭირეთ ღილაკს "OK".

ასევე შეგიძლიათ ფაილების რედაქტირება WinMerge-ში. შედარების ფანჯრის დახურვის შემდეგ პროგრამა შესთავაზებს ფაილებში ცვლილებების შენახვას.

მეთოდი 3. განსხვავებები

განსხვავებაარის ფაილების შედარების პროგრამა, რომელიც აჩვენებს განსხვავებას ორ ფაილს შორის.

    დირექტორიების შესადარებლად გამოიყენეთ ეს ბრძანება: $ diff -qr< current-directory> < backup-directory>

მეთოდი 4. შეადარეთ

Kompare - აჩვენებს განსხვავებას ფაილებს შორის. იცის როგორ შეადაროს ფაილების ან დირექტორიების შინაარსი, ასევე შექმნას, აჩვენოს და გამოიყენოს პატჩი ფაილები. Kompare არის გრაფიკული განსხვავების პროგრამა, რომელიც საშუალებას გაძლევთ იპოვოთ განსხვავებები ფაილებში და დააკავშიროთ ისინი. ის დაწერილია Qt-ში და შექმნილია ძირითადად KDE-სთვის. აქ არის მისი ძირითადი მახასიათებლები:

    მრავალი განსხვავებული ფორმატის მხარდაჭერა;

    ლინუქსის ფაილებისა და დირექტორიების შედარების მხარდაჭერა;

    სხვადასხვა ფაილების ნახვის მხარდაჭერა;

    დააკონფიგურიროთ ინტერფეისი;

    შექმენით და გამოიყენეთ პატჩები ფაილებზე.

მეთოდი 5. ფაილების შედარება Total Commander-ში

    მხარდაჭერილი ოპერაციული სისტემები: Windows

Total Commander-ს აქვს ფაილების შინაარსის მიხედვით შედარების ინსტრუმენტი, სადაც შეგიძლიათ არა მხოლოდ კონტენტის შედარება, არამედ მისი რედაქტირება და კოპირება ერთი ფაილიდან მეორეში.

Total Commander-ის გაშვების შემდეგ - ერთ-ერთ პანელში აირჩიეთ (Insert key) პირველი ფაილი შედარებისთვის - მეორე პანელში გახსენით საქაღალდე მეორე ფაილით და დაადეთ მასზე კურსორი. შედარებისთვის პროგრამას ვუწოდებთ: „ფაილები → შედარება შინაარსის მიხედვით“.

ფაილში ცვლილებების შესატანად, უბრალოდ დააჭირეთ ღილაკს "რედაქტირება". პროგრამა მოიცავს კოპირების და გადაბრუნების ფუნქციებს, ძებნის და კოდირების შეცვლას. თუ თქვენ შეიტანეთ ცვლილებები ფაილში, მაშინ შედარების ფანჯრის დახურვის შემდეგ მოგეთხოვებათ ცვლილებების შენახვა.

მეთოდი 6. ფაილების შედარება Notepad ++-ში

    მხარდაჭერილი ოპერაციული სისტემები: Windows, შეიძლება იმუშაოს Linux-ზე

Notepad ++ ვერ ადარებს ფაილებს. იმისათვის, რომ ეს ფუნქცია გამოჩნდეს Notepad ++-ში, თქვენ უნდა დააინსტალიროთ "Compare" მოდული.

გაუშვით რედაქტორი - გადადით მენიუს პუნქტში "Plugins" - "Plugin Manager" - "Show Plugin Manager". ახალ ფანჯარაში აირჩიეთ მოდული „შედარება“ და დააჭირეთ ღილაკს „ინსტალაცია“.

მოდულის ინსტალაციის შემდეგ გახსენით ორი ფაილი და აირჩიეთ მენიუ "Plugins" - "Compare" - "Compare (Alt + D)". ფაილის შედარების შედეგი წარმოდგენილი იქნება ცალკეულ პანელებში. იქნება გამაფრთხილებელი ნიშანი იმ ხაზების გვერდით, რომლებშიც ნაპოვნია განსხვავებები.

მეთოდი 7. ფაილების შედარება Windows ბრძანების ხაზის გამოყენებით

Windows ბრძანების ხაზის (cmd.exe) გამოყენებით შედარება არ გაძლევთ ფაილების რედაქტირების საშუალებას, მაგრამ შეგიძლიათ უბრალოდ შეადაროთ ფაილების შინაარსი ამ მეთოდის გამოყენებით.

Windows Command Prompt-ის გამოსაძახებლად გადადით Start - All Programs - Accessories - Command Prompt, ან დააჭირეთ Windows Key + R, ჩაწერეთ cmd და დააჭირეთ Enter.

ბრძანების სტრიქონში შეიყვანეთ ბრძანება:

fc / N გზა პირველი ფაილის გზა მეორე ფაილამდე

არ აქვს მნიშვნელობა რა სისტემაში უნდა შევაწუხო კოდი, ადრე თუ გვიან ძალიან ძვირი ხდება წყაროების სხვადასხვა ვერსიების შედარება. აქ არის რამდენიმე მსუბუქი უფასო კომუნალური პროგრამა, რათა იპოვოთ ფაილების განსხვავებები Linux-ისთვის, Windows-ისთვის და Mac-ისთვის. გაშვების ზოგადი ფორმატი არის file1 file2.

Windows-ის პირობებში, WinMerge შესანიშნავ საქმეს აკეთებს ფაილების შიგთავსის (და თუნდაც დირექტორიების) შედარების საქმეში, რაც ზოგჯერ უსარგებლო არ არის. მსუბუქი წონა. არ არის მიბმული არცერთ IDE-სთან. დაწერილი Qt და cross-platform - უნდა მუშაობდეს nix-ზე. გარდა ფაილებისა, მას შეუძლია შეადაროს დირექტორიების შინაარსი (მათ შორის, regexp ნიღბების საფუძველზე). შეგიძლიათ დაამატოთ დამატებითი დანამატები.

WinMerge არის მრავალპლატფორმული ფაილების შედარების პროგრამა და სხვა

Mac - opendiff. წარმოადგენს ცალკე Xcode კომპონენტს. სავსებით შესაძლებელია, რომ დამოუკიდებელი გაშვება ბრძანების ხაზიდან. განსხვავებები ხაზგასმულია ღია ნაცრისფერში, მაგრამ სხვათა შორის, მან იცის როგორ აჩვენოს ისრებით, სად არის დამატებული. მას შეუძლია შერწყმა (-merge switch-ით). თუ შედარებული ფაილების გარდა, თქვენ მიუთითებთ საერთო წინაპარ ფაილს -ancestor გადართვის შემდეგ, მაშინ შედარება განხორციელდება მასთან. იცის საქაღალდეების შედარება.

opendiff utility - ფაილების შედარების უფასო ინსტრუმენტი Mac სისტემაზე

Linux -. ხელმისაწვდომია ყველა პლატფორმაზე (Windows, Mac, Linux) იმის გამო, რომ Qt-შიც არის დაწერილი. შეუძლია სამი ფაილის ან დირექტორიის შედარება. მხარს უჭერს ცვლილებების შერწყმის უნარს, რედაქტირების მხარდაჭერით კონფლიქტის ხელით მოგვარებისთვის.

kdiff3 უტილიტა - ორი ფაილის შედარება

განახლებულია 18.10.2013წ

თუ nix-ში მუშაობთ Gnom-ისთვის, მაშინ Meld შესანიშნავი არჩევანია. ინტეგრაცია პოპულარულ ვერსიების მართვის სისტემებთან (Git, Subversion და ა.შ.), გაერთიანების ინსტრუმენტები - ავტომატური შერწყმა, რედაქტირება მიმდინარე განსხვავებების დაჭერით, სინტაქსის ხაზგასმა. არის პორტები OS X Windows-ისთვის.

უკიდურეს შემთხვევაში (თუ მესამე მხარის არაფრის დაყენება შეუძლებელია), ბრძანების სტრიქონიდან (წინასწარ დაინსტალირებულია nix-ის მსგავს სისტემებზე, მათ შორის როგორც Mac-ებზე, ასევე Solaris-ზე) უსიამოვნო განსხვავება მოდის. მოქნილი. თქვენ შეგიძლიათ ითამაშოთ პარამეტრებით დიდი ხნის განმავლობაში და ხალისით, რათა შეძლოთ განსხვავებების ჩვენება ნიღბის საფუძველზე (-F), მიიღოთ შედარება ჩვეულებრივ ორ სვეტში (ღილაკი გვერდიგვერდ), და ა.შ. დიდი უცნობ ფაილებისთვის მირჩევნია გამომავალი "კონტექსტის" ფორმატში, როდესაც ნაჩვენებია არა მხოლოდ შეცვლილი ხაზები, არამედ მათ მიმდებარე ხაზებიც.

ორზე მეტი ფაილის შედარებისთვის, diff3 შეიძლება კარგი იყოს.

ორი ან მეტი ფაილის შედარებისთვის Linux-ს აქვს diff ბრძანება. მას შეუძლია შეადაროს როგორც ცალკეული ფაილები, ასევე დირექტორიები. მოდით გადავხედოთ სინტაქსს, diff ბრძანების ვარიანტებს და გამოყენების რამდენიმე მაგალითს.

Diff ბრძანების სინტაქსი

diff ბრძანებას აქვს შემდეგი სინტაქსი:

Diff [ოფციები] ფაილები ან დირექტორიები

ჩვენ ვაზუსტებთ ვარიანტებს და შევიყვანთ ორ ან მეტ ფაილს ან დირექტორიას, რომლებიც უნდა შევადაროთ.

Diff ბრძანების პარამეტრები

მოდით შევხედოთ diff ბრძანების ძირითად ვარიანტებს. მე გავაშუქებ მხოლოდ იმ ვარიანტებს, რომლებსაც მე თვითონ ვიყენებ ყველაზე მეტად.

-ეტექსტში ჩანართის სიმბოლოს დამატებასთან დაკავშირებული ცვლილებების იგნორირება.
-ბუგულებელყოთ სივრცეების დამატებასთან დაკავშირებული ცვლილებები.
-ვუგულებელყოთ სივრცეების და ჩანართების დამატებასთან დაკავშირებული ცვლილებები.
-ბახალი ცარიელი ხაზების იგნორირება.
-p (ან - ჩვენება-c-ფუნქცია)აჩვენეთ C ენის ფუნქციის სახელი, რომელშიც ნაპოვნი იქნა ცვლილებები.
-y (ან -გვერდი-გვერდ)შედეგების ჩვენება ორ სვეტში.
-რდაათვალიერეთ დირექტორიები რეკურსიულად.
-X ფაილიგამორიცხეთ საძიებო ფაილები, რომელთა სახელები ემთხვევა FILE ფაილის შაბლონებს.
-d (ან -მინიმალური)შეეცადეთ იპოვოთ რაც შეიძლება ნაკლები ცვლილება (ანუ აღმოფხვრა ცრუ დადებითი).

diff ბრძანების გამოყენების მაგალითები

ორი ტექსტური ფაილის შედარება

ორი ტექსტური ფაილის მარტივი შედარებისთვის, სახელად myfile1 და myfile2, შეასრულეთ ბრძანება ტერმინალში:

განსხვავება myfile1 myfile2

მოსახერხებელია diff ბრძანების გამოსავლის გადამისამართება ფაილზე diff გაფართოებით. Linux-ის ტექსტური რედაქტორების უმეტესობა, როგორიცაა Gedit, ცნობს ამ ფაილს და ხაზს უსვამს მის სინტაქსს. შედარების შედეგის გასაგზავნად change.diff ფაილში, თქვენ უნდა გამოიყენოთ ნაკადის გადამისამართების სიმბოლო (>):

Diff myfile1 myfile2> changes.diff

ტექსტური ფაილების შემცველი დირექტორიების შედარება

მოდით შევხედოთ ორი დირექტორიის (mydir1 და mydir2) შედარების მაგალითს, რომლებიც შეიცავს ტექსტურ ფაილებს. მთავარი განსხვავება აქ ზემოთ მოყვანილი მაგალითისგან არის ის, რომ ჩვენ დავამატებთ -r ოფციას ფაილების რეკურსიულად გადასასვლელად დირექტორიაში.

Diff -r mydir1 mydir2> ცვლილებები.diff

ახლა დავუშვათ, რომ დირექტორიაში ბევრი ნაგავია, სადაც ჩვენ ვადარებთ ფაილებს, რომლებსაც არ უნდა შევადაროთ. მოდით შევქმნათ ფაილი excludeFiles და ჩავწეროთ მასში შაბლონები და ფაილების სახელები, რომლებიც არ უნდა შევადაროთ. მაგალითად, excludeFiles-ის შინაარსი შეიძლება გამოიყურებოდეს:

* .o ChangeLog * * .bak * .exe

ახლა ჩვენ ვეუბნებით diff ბრძანებას, რომ გამოიყენოს ჩვენი excludeFiles დირექტორიების შედარებისას:

Diff -r -X excludeFiles mydir1 mydir2> changes.diff

ამრიგად, ჩვენ ვადარებთ ფაილებს, რომელთა სახელები არ ემთხვევა excludeFiles ფაილის შაბლონებს, მაგალითად, vasya.exe ან ChangeLog12.

მოდით დავამატოთ კიდევ რამდენიმე ვარიანტი, რომლებიც ზემოთ არის აღწერილი, შედარების შედეგის გასაუმჯობესებლად:

Diff -rwBd -X excludeFiles mydir1 mydir2> changes.diff

ჩვენ ვადარებთ ფაილებს mydir1 და mydir2 დირექტორიაში, უგულებელყოფთ ცვლილებებს, რომლებიც დაკავშირებულია ცარიელი ხაზების, სივრცეების, ჩანართების დამატებასთან და ასევე ვიყენებთ ფაილის სახელების შაბლონებს excludeFiles-ში, რათა გამოვრიცხოთ არასაჭირო ფაილები შედარებისგან.

დასკვნა

თქვენ შეგიძლიათ მიიღოთ მეტი ინფორმაცია თქვენს Linux სისტემაში diff ბრძანების გამოყენების შესახებ ბრძანების გაშვებით:

კაცის განსხვავება

ასევე არსებობს პროგრამები, რომლებიც საშუალებას გაძლევთ შეადაროთ ფაილები გრაფიკული ინტერფეისის გამოყენებით. მაგალითად, Meld პროგრამა, რომელიც ნათლად აჩვენებს სად და რა შეიცვალა ფაილებში.

ზოგჯერ საჭირო ხდება რამდენიმე ფაილის ერთმანეთთან შედარება. ეს შეიძლება სასარგებლო იყოს კონფიგურაციის ფაილის რამდენიმე ვერსიას შორის განსხვავების გაანალიზებისას, ან უბრალოდ სხვადასხვა ფაილის შედარებისას. Linux-ში, ამისათვის არსებობს რამდენიმე კომუნალური პროგრამა, როგორც ტერმინალში მუშაობისთვის, ასევე გრაფიკული ინტერფეისისთვის.

ამ სტატიაში ჩვენ გადავხედავთ, თუ როგორ ხდება Linux ფაილების შედარება. მოდით შევხედოთ ყველაზე სასარგებლო მეთოდებს, როგორც ტერმინალისთვის, ასევე გრაფიკულ რეჟიმში. მოდით ჯერ შევხედოთ როგორ შევადაროთ Linux ფაილი diff უტილიტის გამოყენებით.

Diff linux უტილიტა არის პროგრამა, რომელიც მუშაობს კონსოლის რეჟიმში. მისი სინტაქსი ძალიან მარტივია. დარეკეთ კომუნალურ პროგრამაში, გადაიტანეთ საჭირო ფაილები და ასევე დააყენეთ პარამეტრები, საჭიროების შემთხვევაში:

$ diff პარამეტრები file1 file2

საჭიროების შემთხვევაში შესაძლებელია ორზე მეტი ფაილის გადატანა. სანამ მაგალითებზე გადავიდოდეთ, მოდით გადავხედოთ სასარგებლო ვარიანტებს:

  • -ქ- აჩვენებს მხოლოდ ფაილებს შორის განსხვავებებს;
  • -ს- მხოლოდ შესატყვისი ნაწილების ჩვენება;
  • -თან ერთად- მატჩების შემდეგ ხაზების საჭირო რაოდენობის ჩვენება;
  • -უ- აჩვენეთ მხოლოდ ხაზების საჭირო რაოდენობა განსხვავებების შემდეგ;
  • -ი- გამომავალი ორ სვეტში;
  • -ე- გამომავალი სკრიპტის ed ფორმატში;
  • -ნ- გამომავალი RCS ფორმატში;
  • -ა- შეადარეთ ფაილები ტექსტად, მაშინაც კი, თუ ისინი არ არიან ტექსტი;
  • -ტ- ჩაანაცვლეთ ჩანართები გამომავალში სივრცეებით;
  • -ლ- გვერდებად დაყოფა და პეიჯინგის მხარდაჭერა;
  • -რ- რეკურსიული საქაღალდის შედარება;
  • -მე- იგნორირება საქმე;
  • -ე- ჩანართებში ცვლილებების იგნორირება;
  • -ზ- იგნორირება სივრცეები ხაზის ბოლოს;
  • -ბ- უგულებელყოთ სივრცეები;
  • -ბ- უგულებელყავით ცარიელი ხაზები.

ეს იყო პროგრამის ძირითადი ვარიანტები, ახლა მოდით გადავხედოთ როგორ შევადაროთ Linux ფაილები. პროგრამის გამოსავალში, გარდა იმისა, რომ პირდაპირ აჩვენებს ცვლილებას, ის აჩვენებს ხაზს, რომელშიც მითითებულია რომელ სტრიქონში და რა გაკეთდა. ამისათვის გამოიყენება შემდეგი სიმბოლოები:

  • - დაამატა;
  • - ამოღებულია;
  • - შეიცვალა.

გარდა ამისა, ხაზები, რომლებიც განსხვავდებიან, მითითებული იქნება სიმბოლოთი<, а те, которые совпадают - символом >.

აქ არის ჩვენი ტესტის ფაილების შინაარსი:

ახლა მოდით გავაკეთოთ განსხვავებული ფაილების შედარება:

diff file1 file2

შედეგად ვიღებთ ხაზს: 2,3c2,4. ეს ნიშნავს, რომ 2 და 3 სტრიქონები შეიცვალა. თქვენ შეგიძლიათ გამოიყენოთ პარამეტრები იგნორირებაზე:

diff -i file1 file2

ეს შეიძლება დასრულდეს ორ სვეტში:

diff -y file1 file2

და -u ოფციით, შეგიძლიათ შექმნათ პაჩი, რომელიც შემდეგ შეიძლება გამოყენებულ იქნას იმავე ფაილზე სხვა მომხმარებლის მიერ:

diff -u file1 file2

საქაღალდეში მრავალი ფაილის დასამუშავებლად, მოსახერხებელია გამოიყენოთ -r ვარიანტი:

diff -r ~ / tmp1 ~ / tmp2

მოხერხებულობისთვის, შეგიძლიათ კომუნალური გამოსავალი პირდაპირ ფაილზე გადამისამართოთ:

diff -u file1 file2> file.patch

როგორც ხედავთ, ყველაფერი ძალიან მარტივია. მაგრამ არც ისე მოსახერხებელი. უფრო სასიამოვნოა გრაფიკული ხელსაწყოების გამოყენება.

Linux ფაილების შედარება GUI-ის გამოყენებით

არსებობს შესანიშნავი ხელსაწყოები Linux-ის ფაილების GUI-ში შესადარებლად. თქვენ შეგიძლიათ მარტივად გაერკვნენ, თუ როგორ გამოიყენოთ ისინი. მოდით შევხედოთ რამდენიმე მათგანს:

1. შეადარეთ

Kompare არის გრაფიკული განსხვავების პროგრამა, რომელიც საშუალებას გაძლევთ იპოვოთ განსხვავებები ფაილებში და დააკავშიროთ ისინი. ის დაწერილია Qt-ში და შექმნილია ძირითადად KDE-სთვის. აქ არის მისი ძირითადი მახასიათებლები:

  • მრავალი განსხვავებული ფორმატის მხარდაჭერა;
  • ლინუქსის ფაილებისა და დირექტორიების შედარების მხარდაჭერა;
  • სხვადასხვა ფაილების ნახვის მხარდაჭერა;
  • დააკონფიგურიროთ ინტერფეისი;
  • შექმენით და გამოიყენეთ პატჩები ფაილებზე.

2. DiffMerge

DiffMerge არის კროს-პლატფორმული ფაილების შედარებისა და გაერთიანების პროგრამული უზრუნველყოფა. საშუალებას გაძლევთ შეადაროთ ორი ან სამი ფაილი. მხარდაჭერილია ონლაინ რედაქტირება.

თავისებურებები:

  • დირექტორიების შედარების მხარდაჭერა;
  • ფაილების მაყურებელთან ინტეგრაცია;
  • კონფიგურირებადი.

3. შერწყმა

ეს არის მარტივი ინსტრუმენტი ფაილების შედარებისა და გაერთიანებისთვის. ის საშუალებას გაძლევთ შეადაროთ ფაილები, დირექტორიები და შეასრულოთ ვერსიების კონტროლის ფუნქციები. პროგრამა შექმნილია დეველოპერებისთვის და აქვს შემდეგი ფუნქციები:

  • ორი და სამი ფაილის შედარება;
  • მორგებული ტიპებისა და სიტყვების გამოყენება;
  • ავტომატური შერწყმის რეჟიმი და მოქმედებები ტექსტის მხარეებთან;
  • მხარდაჭერა Git, Mercurial, Subversion, Bazar და სხვა.

4. დიფუზური

Diffuse არის კიდევ ერთი პოპულარული და საკმაოდ მარტივი ინსტრუმენტი ფაილების შედარებისა და გაერთიანებისთვის. პითონში წერია. მხარდაჭერილია ორი ძირითადი ფუნქცია - ფაილების შედარება და ვერსიების კონტროლი. თქვენ შეგიძლიათ დაარედაქტიროთ ფაილები ყურებისას. ძირითადი ფუნქციები:

  • სინტაქსის ხაზგასმა;
  • კლავიატურის მალსახმობები მარტივი ნავიგაციისთვის;
  • შეუზღუდავი გაუქმების მხარდაჭერა;
  • Unicode მხარდაჭერა;
  • მხარს უჭერს Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK და Monotone.

5.XXdiff

XXdiff არის უფასო და ძალიან ძლიერი ფაილების შედარებისა და გაერთიანების ინსტრუმენტი. მაგრამ პროგრამას აქვს რამდენიმე ნაკლი. ეს არის Unicode-ის მხარდაჭერისა და ფაილის რედაქტირების ნაკლებობა.

თავისებურებები:

  • ერთი ან ორი ფაილის და დირექტორიის ზედაპირული ან რეკურსიული შედარება;
  • განსხვავებების ხაზგასმა;
  • ინტერაქტიული ასოციაცია;
  • გარე შედარების ინსტრუმენტების მხარდაჭერა, როგორიცაა GNU Diff, SIG Diff, Cleareddiff და სხვა;
  • სკრიპტის გაფართოება;
  • კონფიგურირებადობა.

6.KDiff3

KDiff3 არის კიდევ ერთი შესანიშნავი, უფასო ფაილების შედარების ინსტრუმენტი KDE დესკტოპის გარემოსთვის. ის შედის KDevelop პროგრამების კომპლექტში და მუშაობს ყველა პლატფორმაზე, Windows-ისა და MacOS-ის ჩათვლით. შესაძლებელია ორი ლინუქსის ფაილის შედარება ორი ან სამი, ან თუნდაც დირექტორიების შედარება. აქ არის ძირითადი მახასიათებლები:

  • განსხვავებების ჩვენება სტრიქონი სტრიქონით და სიმბოლოთი სიმბოლო;
  • ავტომატური შერწყმის მხარდაჭერა;
  • შერწყმის კონფლიქტების მართვა;
  • Unicode მხარდაჭერა;
  • განსხვავებების ჩვენება;
  • ხელით გასწორების მხარდაჭერა.

დასკვნები

ამ სტატიაში ჩვენ განვიხილეთ, თუ როგორ შევადაროთ ლინუქსის ფაილები ტერმინალის გამოყენებით, როგორ შევქმნათ პატჩები და ასევე გავაკეთეთ მოკლე მიმოხილვა საუკეთესო გრაფიკული საშუალებების შესახებ ფაილების შედარებისთვის. რა შედარების საშუალებებს იყენებთ? დაწერეთ კომენტარებში!

ზოგჯერ საჭირო ხდება რამდენიმე ფაილის ერთმანეთთან შედარება. ეს შეიძლება სასარგებლო იყოს კონფიგურაციის ფაილის რამდენიმე ვერსიას შორის განსხვავების გაანალიზებისას, ან უბრალოდ სხვადასხვა ფაილის შედარებისას. Linux-ში, ამისათვის არსებობს რამდენიმე კომუნალური პროგრამა, როგორც ტერმინალში მუშაობისთვის, ასევე გრაფიკული ინტერფეისისთვის.

ამ სტატიაში ჩვენ გადავხედავთ, თუ როგორ ხდება Linux ფაილების შედარება. მოდით შევხედოთ ყველაზე სასარგებლო მეთოდებს, როგორც ტერმინალისთვის, ასევე გრაფიკულ რეჟიმში. მოდით ჯერ შევხედოთ როგორ შევადაროთ Linux ფაილი diff უტილიტის გამოყენებით.

  • განსხვავებული ფაილების შედარება

    Diff linux უტილიტა არის პროგრამა, რომელიც მუშაობს კონსოლის რეჟიმში. მისი სინტაქსი ძალიან მარტივია. დარეკეთ კომუნალურ პროგრამაში, გადაიტანეთ საჭირო ფაილები და ასევე დააყენეთ პარამეტრები, საჭიროების შემთხვევაში:

    $ diff პარამეტრები file1 file2

    საჭიროების შემთხვევაში შესაძლებელია ორზე მეტი ფაილის გადატანა. სანამ მაგალითებზე გადავიდოდეთ, მოდით გადავხედოთ სასარგებლო ვარიანტებს:

    • -ქ- აჩვენებს მხოლოდ ფაილებს შორის განსხვავებებს;
    • -ს- მხოლოდ შესატყვისი ნაწილების ჩვენება;
    • -თან ერთად- მატჩების შემდეგ ხაზების საჭირო რაოდენობის ჩვენება;
    • -უ- აჩვენეთ მხოლოდ ხაზების საჭირო რაოდენობა განსხვავებების შემდეგ;
    • -ი- გამომავალი ორ სვეტში;
    • -ე- გამომავალი სკრიპტის ed ფორმატში;
    • -ნ- გამომავალი RCS ფორმატში;
    • -ა- შეადარეთ ფაილები ტექსტად, მაშინაც კი, თუ ისინი არ არიან ტექსტი;
    • -ტ- ჩაანაცვლეთ ჩანართები გამომავალში სივრცეებით;
    • -ლ- გვერდებად დაყოფა და პეიჯინგის მხარდაჭერა;
    • -რ- რეკურსიული საქაღალდის შედარება;
    • -მე- იგნორირება საქმე;
    • -ე- ჩანართებში ცვლილებების იგნორირება;
    • -ზ- იგნორირება სივრცეები ხაზის ბოლოს;
    • -ბ- უგულებელყოთ სივრცეები;
    • -ბ- უგულებელყავით ცარიელი ხაზები.

    ეს იყო პროგრამის ძირითადი ვარიანტები, ახლა მოდით გადავხედოთ როგორ შევადაროთ Linux ფაილები. პროგრამის გამოსავალში, გარდა იმისა, რომ პირდაპირ აჩვენებს ცვლილებას, ის აჩვენებს ხაზს, რომელშიც მითითებულია რომელ სტრიქონში და რა გაკეთდა. ამისათვის გამოიყენება შემდეგი სიმბოლოები:

    • - დაამატა;
    • - ამოღებულია;
    • - შეიცვალა.

    გარდა ამისა, ხაზები, რომლებიც განსხვავდებიან, მითითებული იქნება სიმბოლოთი<, а те, которые совпадают - символом >.

    აქ არის ჩვენი ტესტის ფაილების შინაარსი:

    ახლა მოდით გავაკეთოთ განსხვავებული ფაილების შედარება:
    $ diff file1 file2

    შედეგად ვიღებთ ხაზს: 2,3c2,4. ეს ნიშნავს, რომ 2 და 3 სტრიქონები შეიცვალა. თქვენ შეგიძლიათ გამოიყენოთ პარამეტრები იგნორირებაზე:
    $ diff -i ფაილი1 ფაილი2

    ეს შეიძლება დასრულდეს ორ სვეტში:
    $ diff -y ფაილი1 ფაილი2

    და -u ოფციით, შეგიძლიათ შექმნათ პაჩი, რომელიც შემდეგ შეიძლება გამოყენებულ იქნას იმავე ფაილზე სხვა მომხმარებლის მიერ:
    $ diff -u file1 file2

    საქაღალდეში მრავალი ფაილის დასამუშავებლად, მოსახერხებელია გამოიყენოთ -r ვარიანტი:
    $ diff -r ~ / tmp1 ~ / tmp2

    მოხერხებულობისთვის, შეგიძლიათ კომუნალური გამოსავალი პირდაპირ ფაილზე გადამისამართოთ:
    $ diff -u file1 file2> file.patch

    როგორც ხედავთ, ყველაფერი ძალიან მარტივია. მაგრამ არც ისე მოსახერხებელი. უფრო სასიამოვნოა გრაფიკული ხელსაწყოების გამოყენება.

    Linux ფაილების შედარება GUI-ის გამოყენებით

    არსებობს შესანიშნავი ხელსაწყოები Linux-ის ფაილების GUI-ში შესადარებლად. თქვენ შეგიძლიათ მარტივად გაერკვნენ, თუ როგორ გამოიყენოთ ისინი. მოდით შევხედოთ რამდენიმე მათგანს:

    1. შეადარეთ

    Kompare არის გრაფიკული განსხვავების პროგრამა, რომელიც საშუალებას გაძლევთ იპოვოთ განსხვავებები ფაილებში და დააკავშიროთ ისინი. ის დაწერილია Qt-ში და შექმნილია ძირითადად KDE-სთვის. აქ არის მისი ძირითადი მახასიათებლები:

  • მრავალი განსხვავებული ფორმატის მხარდაჭერა;
  • ლინუქსის ფაილებისა და დირექტორიების შედარების მხარდაჭერა;
  • სხვადასხვა ფაილების ნახვის მხარდაჭერა;
  • დააკონფიგურიროთ ინტერფეისი;
  • შექმენით და გამოიყენეთ პატჩები ფაილებზე.

2. DiffMerge

DiffMerge არის კროს-პლატფორმული ფაილების შედარებისა და გაერთიანების პროგრამული უზრუნველყოფა. საშუალებას გაძლევთ შეადაროთ ორი ან სამი ფაილი. მხარდაჭერილია ონლაინ რედაქტირება.

თავისებურებები:

  • დირექტორიების შედარების მხარდაჭერა;
  • ფაილების მაყურებელთან ინტეგრაცია;
  • კონფიგურირებადი.

3. შერწყმა

ეს არის მარტივი ინსტრუმენტი ფაილების შედარებისა და გაერთიანებისთვის. ის საშუალებას გაძლევთ შეადაროთ ფაილები, დირექტორიები და შეასრულოთ ვერსიების კონტროლის ფუნქციები. პროგრამა შექმნილია დეველოპერებისთვის და აქვს შემდეგი ფუნქციები:

  • ორი და სამი ფაილის შედარება;
  • მორგებული ტიპებისა და სიტყვების გამოყენება;
  • ავტომატური შერწყმის რეჟიმი და მოქმედებები ტექსტის მხარეებთან;
  • მხარდაჭერა Git, Mercurial, Subversion, Bazar და სხვა.

4. დიფუზური

Diffuse არის კიდევ ერთი პოპულარული და საკმაოდ მარტივი ინსტრუმენტი ფაილების შედარებისა და გაერთიანებისთვის. პითონში წერია. მხარდაჭერილია ორი ძირითადი ფუნქცია - ფაილების შედარება და ვერსიების კონტროლი. თქვენ შეგიძლიათ დაარედაქტიროთ ფაილები ყურებისას. ძირითადი ფუნქციები:

  • სინტაქსის ხაზგასმა;
  • კლავიატურის მალსახმობები მარტივი ნავიგაციისთვის;
  • შეუზღუდავი გაუქმების მხარდაჭერა;
  • Unicode მხარდაჭერა;
  • მხარს უჭერს Git, CVS, Darcs, Mercurial, RCS, Subversion, SVK და Monotone.

5.XXdiff

XXdiff არის უფასო და ძალიან ძლიერი ფაილების შედარებისა და გაერთიანების ინსტრუმენტი. მაგრამ პროგრამას აქვს რამდენიმე ნაკლი. ეს არის Unicode-ის მხარდაჭერისა და ფაილის რედაქტირების ნაკლებობა.

თავისებურებები:

  • ერთი ან ორი ფაილის და დირექტორიის ზედაპირული ან რეკურსიული შედარება;
  • განსხვავებების ხაზგასმა;
  • ინტერაქტიული ასოციაცია;
  • გარე შედარების ინსტრუმენტების მხარდაჭერა, როგორიცაა GNU Diff, SIG Diff, Cleareddiff და სხვა;
  • სკრიპტის გაფართოება;
  • კონფიგურირებადობა.

6.KDiff3

KDiff3 არის კიდევ ერთი შესანიშნავი, უფასო ფაილების შედარების ინსტრუმენტი KDE დესკტოპის გარემოსთვის. ის შედის KDevelop პროგრამების კომპლექტში და მუშაობს ყველა პლატფორმაზე, Windows-ისა და MacOS-ის ჩათვლით. შესაძლებელია ორი ლინუქსის ფაილის შედარება ორი ან სამი, ან თუნდაც დირექტორიების შედარება. აქ არის ძირითადი მახასიათებლები:

  • განსხვავებების ჩვენება სტრიქონი სტრიქონით და სიმბოლოთი სიმბოლო;
  • ავტომატური შერწყმის მხარდაჭერა;
  • შერწყმის კონფლიქტების მართვა;
  • Unicode მხარდაჭერა;
  • განსხვავებების ჩვენება;
  • ხელით გასწორების მხარდაჭერა.
გააზიარე ეს