هنگام نوشتن فایل برنامه یا فایل های متنی معمولی، برنامه نویس ها و نویسندگان گاهی می خواهند تفاوت بین دو فایل یا دو نسخه از یک فایل را بدانند. هنگامی که شما دو فایل کامپیوتری را در لینوکس مقایسه می کنید، تفاوت بین محتویات آنها diff است.

۱- دستور diff

Diff ساده و آسان برای استفاده است، آن را در بسیاری از توزیع های لینوکس از قبل نصب شده است.این فایل ها را با خط مقایسه می کند و تفاوت بین آنها را نمایش می دهد.

برخی از ابزارهای موجود برای ابزارهای diff که قابلیت کارکرد آنها را افزایش می دهد وجود دارد:

دستور colordiff

Colordiff یک اسکریپت Perl است که خروجی مشابه diff را تولید می کند، اما با برجسته سازی رنگ . این طرح های رنگی قابل تنظیم است.
شما می توانید Colordiff را در سیستم های لینوکس خود نصب کنید، با استفاده از ابزارهای پیش فرض مدیریت بسته yum، dnf یا apt-get همانطور که نشان داده شده است.

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

دستور wdiff

برای مقایسه فایل ها با یک کلمه به صورت کلمه ای استفاده می شود. این برنامه هنگام مقایسه دو متن برای کلمات تغییر یافته بسیار مفید است برای نصب wdiff روی سیستم های لینوکس، اجرا کنید:

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

۲- Vimdiff

Vimdiff به شیوه ای پیشرفته در مقایسه با ابزار diff کار می کند. این امکان را برای کاربر فراهم می کند تا چهار نسخه از یک فایل را در حالی که تفاوت های آنها را نشان می دهد، ویرایش کند. هنگام اجرای آن Vimdiff دو یا سه یا چهار فایل با استفاده از ویرایشگر متن vim باز می شود.

۳- Kompare

Kompare یک بسته بندی رابط کاربری GUI است که به کاربران اجازه می دهد تفاوت بین فایل ها را ببینند و همچنین آنها را ادغام کنند.
برخی از ویژگی های آن عبارتند از:
۱٫ پشتیبانی از فرمت های مختلف diff
۲٫ پشتیبانی از مقایسه دایرکتوری ها
۳٫ پشتیبانی از فایل های خواندن diff
۴٫ رابط قابل برنامه ریزی
۵٫ ایجاد و استفاده از تکه های به فایل های منبع

۴- DiffMerge

DiffMerge نرم افزار رابط گرافیکی متقابل پلت فرم برای مقایسه و ادغام فایل ها است. این دو موتور عملکردی دارد، موتور Diff که تفاوت بین دو فایل را نشان می دهد که از برجسته سازی و ویرایش درون خطی پشتیبانی می کند و یک موتور ادغام می کند که خطوط تغییر یافته بین سه فایل را صادر می کند.
این دارای ویژگی های زیر است:
۱٫ پشتیبانی از مقایسه دایرکتوری
۲٫ ادغام مرورگر فایل
۳٫ بسیار قابل تنظیم است

۵- Meld

Meld یک رابط کاربری گرافیکی بسیار سبک وزن و ادغام است. این رابط کاربران را قادر می سازد فایل ها، فایل های دایرکتوری و برنامه های تحت کنترل نسخه را مقایسه کنند. به طور خاص برای توسعه دهندگان ساخته شده است. آن دارای ویژگی های زیر است:
۱٫ مقایسه دو طرفه و سه طرفه فایل ها و دایرکتوری ها
۲٫ به روز رسانی مقایسه فایل به عنوان یک کاربر با انواع کلمات
۳٫ با استفاده از حالت اتوماتیک ادغام و اقدامات در بلوک های تغییر یافته، ادغام راحت تر می شود
۴٫ مقایسه آسان با استفاده از تجسم
۵٫ پشتیبانی از Git، Mercurial، Subversion، Bazaar و موارد دیگر

۶- Diffuse

Diffuse یکی دیگر از ابزارهای محبوب، رایگان، کوچک و ساده رابط کاربری گرافیکی و ادغام است که می توانید در لینوکس استفاده کنید.
در پایتون نوشته شده است، دو ویژگی عمده را ارائه می دهد، یعنی: مقایسه فایل و کنترل نسخه، اجازه ویرایش فایل، ادغام فایل ها و همچنین خروجی تفاوت بین فایل ها.
شما می توانید یک خلاصه مقایسه، خطوط متن را در فایل ها با استفاده از نشانگر ماوس، خطوط بازی در فایل های مجاور و ویرایش فایل های مختلف را مشاهده کنید. ویژگی های دیگر عبارتند از:
۱٫ برجسته سازی Syntax
۲٫ کلید های میانبر برای راحتی
۳٫ پشتیبانی از لغو نامحدود
۴٫ پشتیبانی یونیکد
۵٫ پشتیبانی از Git، CVS، Darcs، Mercurial، RCS، Subversion، SVK و Monotone

۷- XXdiff

XXdiff یک نرم افزار آزاد و قدرتمندی فایل و دایرکتوری است که در یونیکس مانند سیستم عامل های مانند لینوکس، سولاریس، HP / UX، IRIX، DEC Tru64 اجرا می شود. یکی از محدودیت های XXdiff عدم پشتیبانی از فایل های Unicode و ویرایش خطی فایل های diff است.
این نرم افزار ویژگی های زیر دارد:
۱٫ مقایسه ی مقیاس و مقیاس دو، سه یا دو دایرکتوری
۲٫ برجسته کردن تفاوت افقی
۳٫ ترکیب ادغام فایل ها و ذخیره خروجی نتیجه
۴٫ پشتیبانی از ادغام reviews/policing
۵٫ پشتیبانی از ابزارهای خارجی مانند گنو diff، SIG diff، Cleareddiff و بسیاری دیگر
۶٫ استفاده از اسکریپت های قابل استفاده
۷٫ کاملا قابل تنظیم با استفاده از فایل منبع و بسیاری از ویژگی های جزئی دیگر