مشاهده تفاوت دو فایل در خط فرمان لینوکس

به نام خدا

سلام خدمت شما دوستان عزیز.

 

در این مطلب هم با یک ابزار بسیار جذاب لینوکسی در خدمتتون هستم. امیدوارم که ازش لذت ببرید.

 

ممکنه براتون پیش اومده باشه که بخواید فرق بین دو تا فایل رو ببینید. برای این کار ابزارهای مختلفی هست که میشه از اون ها استفاده کرد. بسیاری از ابزارها دارای رابط کاربری گرافیکی هستن و شما میتونید به راحتی با استفاده از رابط کاربری تفاوت بین فایل ها رو مقایسه کنید. از جمله‌ی این ابزارها میشه به ابزار معروف 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 استفاده کنید.

 

امیدوارم که از این مطلب لذت برده باشد.

چاپ

استفاده از دستورات لینوکس را به راحتی به یاد بیاورید

سلام خدمت دوستان عزیز، امیدوارم که حالتون خوب باشه.

امروز در این مطلب میخوام یه ترفند لینوکسی بسیار جذاب رو بهتون یاد بدم.

 

شاید براتون پیش اومده باشه که وقتی میخواید در خط فرمان لینوکس از یه سری از دستورات استفاده کنید، یادتون بره که پارامترهایی که باید بهش میدادید چطوری بودن و یا به چه ترتیبی بودن.

مثلاً فرض کنید که میخوایم از دستور tar در خط فرمان لینوکس استفاده کنیم، اما یادمون بره که چطوری باید ازش استفاده کنیم!

 

یه راهی که میتونیم بریم سراغش اینه که بریم فایلهای راهنمایی رو بخونیم و یه راه دیگه هم اینه که بریم توی اینترنت سرچ کنیم.

 

اما یه راه ساده تر که میخوام بهتون بگم اینه که میتونیم از یک وبسایتی به اسم cheat.sh استفاده کنیم تا با استفاده از اون، خیلی سریع و بدون نیاز به هیچ برنامه ای در همون خط فرمان بتونیم چندتا مثال ساده با توضیح از دستور مورد نظرمون ببینیم.

برای دریافت اطلاعات هم میتونیم از ابزاری مثل curl استفاده کنیم که در اکثر سیستم‌های لینوکسی موجوده.

برای مثال، برای اینکه چندتا مثال ساده با توضیح از دستور tar در لینوکس ببینیم، میتونیم دستور زیر رو در خط فرمان وارد کنیم:

curl cheat.sh/tar

همونطور که میبینید استفاده از این روش خیلی راحته و میتونه در وقت ما خیلی صرفه‌جویی کنه.

از این روش برای هر دستوری میتونید استفاده کنید، در تصویر زیر میبینیم که من این روش رو برای دیدن چندتا مثال از دستور scp به کار بردم:

امیدوارم که این مطلب براتون کاربردی بوده باشه و ازش لذت برده باشید.

موفق و پیروز باشید

چاپ