مشاهده تفاوت دو فایل در خط فرمان لینوکس
به نام خدا
سلام خدمت شما دوستان عزیز.
در این مطلب هم با یک ابزار بسیار جذاب لینوکسی در خدمتتون هستم. امیدوارم که ازش لذت ببرید.
ممکنه براتون پیش اومده باشه که بخواید فرق بین دو تا فایل رو ببینید. برای این کار ابزارهای مختلفی هست که میشه از اون ها استفاده کرد. بسیاری از ابزارها دارای رابط کاربری گرافیکی هستن و شما میتونید به راحتی با استفاده از رابط کاربری تفاوت بین فایل ها رو مقایسه کنید. از جملهی این ابزارها میشه به ابزار معروف Meld اشاره کرد که طرفدارهای زیادی داره.
اما در این مطلب کاری به این ابزارهای گرافیکی نداریم و میخوایم در مورد یک ابزار تحت خط فرمان صحبت کنیم.
این ابزار برای وقتی به درد میخوره که مثلاً ما میخوایم در داخل یک سرور تفاوت بین دو فایل رو ببینیم و در سرور دیگه دسکتاپ گرافیکی وجود نداره و ما نمیتونیم از ابزارهایی مثل Meld روی اونجا استفاده کنیم. به همین دلیل ابزارهای تحت خط فرمان خیلی به کارمون میاد. البته روی کامپیوتر شخصی خودمون هم میتونیم از این ابزارهای تحت فرمان استفاده کنیم.
حالا در ادامه ابزار diff رو بهتون معرفی میکنم که به صورت پیشفرض روی اکثر سیستمهای لینوکسی نصبه و میتونید ازش به راحتی استفاده کنید.
فرض کنیم که دو تا فایل داریم به اسم file1.cpp و file2.cpp که میخوایم تفاوت بین این دو فایل رو از طریق خط فرمان در بیاریم.
محتویات file1.cpp اینه:
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
std::cout << "I'm from first file." << std::endl;
return 0;
}
محتویات file2.cpp هم اینه:
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
std::cout << "I'm from second file." << std::endl;
return 0;
}
حالا میخوایم با استفاده از ابزار diff تفاوت بین این دو تا فایل رو پیدا کنیم.
برای پیدا کردن تفاوت بین این دو فایل به راحتی میتونیم از دستور زیر استفاده کنیم:
diff ./file1.cpp ./file2.cpp
در تصویر زیر، خروجی این دستور رو مشاهده میکنیم:
همونطور که میبینیم تفاوت بین دو فایل مشخص شده.خط قرمز یعنی خطی که حذف شده و خط سبز یعنی خطی که اضافه شده. ابزار diff گزینههای بیشتری هم داره که میشه از اونها استفاده کرد. مثلاً برای اینکه تفاوت فایل ها رو به صورت یکپارچه ببینیم، میتونیم از آپشن -u
استفاده کنیم. مثل تصویر زیر:
همونطور که در تصویر میبینید تفاوت فایلها در زیر هم نشون داده شده و دیگه جدا نیست. یک گزینهی دیگه هم که وجود داره، گزینهی -y
هست. با استفاده از این گزینه میشه فایل ها رو در کنار هم مقایسه کرد. در تصویر زیر خروجی این گزینه رو هم مشاهده میکنید:
در تصویر بالا میبینیم که فایل ها در کنار هم قرار داده شدن و با استفاده از علامت پایپ، قسمتی که تغییر کرده مشخص شده.
همونطور که دیدیم ابزار diff در عین سادگی، بسیار قدرتمند هست و میتونه به روشهای مختلفی به ما کمک کنه. برای اطلاعات بیشتر در مورد دستورات diff میتونید از دستور diff --help
استفاده کنید.
امیدوارم که از این مطلب لذت برده باشد.