লিনাক্স ডিফ কমান্ড

Linaksa Dipha Kamanda



পার্থক্যটি এমন একটি ধারণা বা অনুভূতি হওয়ার সম্ভাবনা বেশি যা একটি জিনিসকে অন্যটি থেকে আলাদা করতে পারে। 'diff' কমান্ডটি ভিন্নতা বোঝায়। লাইন দ্বারা নথি বিশ্লেষণ করে, এই টুল ফাইলগুলির মধ্যে পার্থক্য প্রদর্শন করে। এটি আমাদের জানায় যে একটি নথির কোন বিভাগগুলিকে একই রকমের নথি তৈরি করতে পরিবর্তন করতে হবে, এর সহযোগী উপাদান cmp এবং com থেকে ভিন্ন৷ মনে রাখা গুরুত্বপূর্ণ দিক হল যে নথিগুলি একই রকম হওয়ার জন্য, diff নির্দিষ্ট বিশেষ চিহ্ন এবং কমান্ড ব্যবহার করে। প্রথম নথিটি কীভাবে সংশোধন করতে হয় সে বিষয়ে আপনাকে নির্দেশাবলী দেওয়া হয়েছে যাতে এটি অন্য নথির সাথে সামঞ্জস্যপূর্ণ হয়। এই গাইডের মধ্যে, আমরা লিনাক্স টার্মিনাল ব্যবহার করে উবুন্টু 20.04 এ 'ডিফ' কমান্ডের ব্যবহার নিয়ে আলোচনা করব।

আমরা আমাদের সিস্টেমের ওয়ার্কিং ফোল্ডারে দুটি টেক্সট ফাইল তৈরি করছি।









উভয় ফাইল বিষয়বস্তুর মধ্যে পার্থক্য প্রদর্শন করার জন্য একটি ক্যোয়ারী এলাকায় 'ডিফ' নির্দেশনা ব্যবহার করার সময় এসেছে। আমরা একটি ক্রমানুসারে উভয় ফাইলের নামের সাথে এই 'ডিফ' নির্দেশটি চেষ্টা করি, যেমন প্রথমে one.txt এবং তারপর two.txt ফাইল৷ 'ডিফ' কমান্ড এক্সিকিউশন আমাদের উভয় ফাইলের মধ্যে পার্থক্য দেখায় যেমন:



  • প্রথম টেক্সট ফাইল অনুযায়ী লাইন সংখ্যা।
  • পরিবর্তন, যোগ, মুছে ফেলার মত পার্থক্য সম্পর্কে আমাদের জানাতে বিশেষ অক্ষর/চিহ্ন।
  • দ্বিতীয় টেক্সট ফাইল অনুযায়ী লাইন সংখ্যা।

আমাদের প্রথম দৃষ্টান্তে, আমরা 'diff' কমান্ড আউটপুটের লাইন সংখ্যাগুলির মধ্যে 'a' চিহ্নটি বিস্তারিতভাবে বর্ণনা করি; 'এ' 'অ্যাড' এর সংক্ষিপ্ত রূপ হিসাবে ব্যবহৃত হয়। ক্যোয়ারী এলাকায় উভয় ফাইলের নামের সাথে 'বিড়াল' নির্দেশের ব্যবহার প্রতিটি টেক্সট ফাইলের ভিতরের বিষয়বস্তুকে আলাদাভাবে প্রদর্শন করে, যেমন one.txt এবং two.txt। প্রথম ফাইলটিতে আমাদের মোট 4টি লাইন রয়েছে যখন দ্বিতীয় ফাইলটিতে 5টি লাইন রয়েছে। লাইন 1 অতিরিক্ত।





তারপর, আমরা টার্মিনাল ক্যোয়ারী এরিয়াতে 'ডিফ' নির্দেশনাটি চেষ্টা করি যার পরে ফাইলের নাম - one.txt এবং two.txt। এই নির্দেশের বাস্তবায়ন দ্বিতীয় ফাইল থেকে লাইন 1 এর সাথে আউটপুট হিসাবে '0a1' দেখায় যা দ্বিতীয় ফাইলের একটি অতিরিক্ত লাইন। সাংখ্যিক মান '0' প্রথম ফাইলের লাইন 0 বা লাইন 1 এর আগে ব্যবহার করা হয়, যেমন one.txt। প্রতীক 'a' মানে 'যোগ'। অবশেষে, সংখ্যাসূচক মান '1' মানে দ্বিতীয় ফাইলের প্রথম লাইন। মিক্স আউটপুট '0d1' এর অর্থ হল দ্বিতীয় ফাইল 'two.txt' এর প্রথম লাইন 1 প্রথম ফাইল 'one.txt' এর শীর্ষে যোগ করা উচিত প্রথম লাইন দুইটি উভয় ফাইলকে একই করার আগে।



এখন, আমরা অন্য একটি চিত্র দেখতে উভয় ফাইল আপডেট করি। প্রথম ফাইল “one.txt”-এ 4 লাইন রয়েছে এবং দ্বিতীয় ফাইল “two.txt”-এ মাত্র 3 লাইন রয়েছে। এই ফাইলগুলির জন্য শুধুমাত্র পার্থক্য হল প্রথম ফাইলে একটি অতিরিক্ত লাইন ব্যবহার করা, যেমন লাইন 1 = 'সোমবার' যা দ্বিতীয় ফাইলে নেই। আপডেট করা টেক্সট ফাইলগুলির জন্য 'ডিফ' নির্দেশ চেষ্টা করার পরে, আমরা আউটপুট হিসাবে '1d0' পাই। এবং প্রথম ফাইল থেকে প্রথম লাইন প্রদর্শিত হয়। “1d0”-এ, 1 এর অর্থ হল “one.txt” ফাইলের প্রথম লাইনটি মুছে ফেলা উচিত (প্রতীক “d” অনুসারে), এবং 0 মানে দ্বিতীয় ফাইলটি কোন আপডেট পায়নি। শেষ পর্যন্ত, স্পষ্ট পার্থক্যের জন্য প্রথম ফাইল “one.txt” থেকে লাইন 1 প্রদর্শিত হয়।

একইভাবে, 'diff' কমান্ড দুটি ফাইলের লাইনের মধ্যে পার্থক্য প্রদর্শন করতে পারে। অতএব, আমরা আবার উভয় পাঠ্য ফাইল আপডেট করি। এইবার, প্রথম ফাইলটিতে 5টি লাইন রয়েছে যখন দ্বিতীয় ফাইলটিতে মাত্র 4টি রয়েছে। একমাত্র পার্থক্য হল one.txt-এ একটি অতিরিক্ত লাইন ব্যবহার করা যা লাইন 3। টার্মিনালে উভয় ফাইলে ব্যবহৃত ডিফ কমান্ডটি একটি প্রদর্শন করে প্রথম ফাইল 'one.txt' থেকে লাইন 3 সহ '3d2' আউটপুট করুন। এই আউটপুটটি দেখায় যে প্রথম ফাইল 'one.txt' থেকে লাইন 3 মুছে ফেলা উচিত যাতে আমরা দ্বিতীয় ফাইলের 2 লাইনে উভয় ফাইলই সিঙ্ক করতে পারি। ভিন্ন লাইন '3' প্রদর্শিত হয় যাতে আমরা পার্থক্য সম্পর্কে একটি পরিষ্কার ধারণা পেতে পারি।

আসুন আউটপুটটি একটি পরিষ্কার এবং গভীরভাবে দেখুন। নিম্নলিখিত চিত্র থেকে 1,5c1,2 আউটপুট দেখায় যে প্রথম ফাইলের (one.txt) লাইন 1 থেকে 5টি দ্বিতীয় ফাইলের (two.txt) 1 থেকে 2 লাইনের সাথে পরিবর্তন করা উচিত। এর মানে হল one.txt ফাইলের প্রথম 5 লাইন (1 থেকে 5) পরিবর্তন করতে হবে এবং দ্বিতীয় ফাইল 'two.txt' এর প্রথম দুটি লাইন (1, 2) দিয়ে প্রতিস্থাপিত করতে হবে। শেষ পর্যন্ত, প্রথম ফাইলের সমস্ত 5টি লাইন প্রদর্শিত হয় যা দ্বিতীয় ফাইলের প্রদর্শিত 2 লাইনের সাথে প্রতিস্থাপন করা উচিত। এইভাবে প্রতীক 'c' দুটি ফাইলের মধ্যে পার্থক্য বলে – উভয় ফাইলে কোনো লাইন একই নয়।

'diff' কমান্ড আপনাকে একটি প্রসঙ্গ আকারে এর আউটপুট পেতে দেয়। কল্পনা করুন যে আপনার কাছে এই ফাইলগুলিতে নিম্নলিখিত ডেটা সহ একই দুটি ফাইল রয়েছে। আউটপুটের চারপাশে প্রসঙ্গটি নিম্নলিখিত ছবিতে দেখানো মোট সাধারণ ফাইলগুলির মধ্যে প্রধান পার্থক্য প্রদর্শন করা হবে। এখন, আমাদের প্রথম ফাইল “one.txt”-এ 5 লাইন এবং দ্বিতীয় ফাইল “two.txt”-এ 4 লাইন রয়েছে।

'diff' নির্দেশের প্রসঙ্গ-ভিত্তিক আউটপুট পেতে, আমাদের 'diff' কমান্ডের মধ্যে '-c' বিকল্পটি ব্যবহার করতে হবে। এই 'ডিফ' কমান্ডে পূর্বে-আপডেট করা ফাইলগুলি ব্যবহার করে, আমরা নিম্নলিখিত আউটপুট পাই - তারিখ, দিন, ফাইলগুলির মধ্যে পাঠ্য তৈরি সংক্রান্ত অতিরিক্ত তথ্য সহ। one.txt ফাইল থেকে 5 লাইন প্রদর্শিত হয়. বিশেষ করে, এটির তৃতীয় লাইনটি অন্য ফাইলে যোগ করার জন্য '-' অক্ষর ব্যবহার করে হাইলাইট করা হয়েছে।

উপসংহার

আমরা 'পার্থক্য' নির্দেশ সম্পর্কে সংক্ষিপ্তভাবে সবকিছু ব্যাখ্যা করার চেষ্টা করেছি। এর জন্য, আমরা প্রতিবার আমাদের টেক্সট ফাইলগুলি আপডেট করেছি এবং একটি ফাইলে ডেটা যোগ, অপসারণ এবং পরিবর্তন করার জন্য একটি আপডেট আউটপুট পেয়েছি। ভূমিকাটি লিনাক্সে 'ডিফ' কমান্ড ব্যবহার করার উদ্দেশ্য এবং লিনাক্সের জন্য কীভাবে এটি ব্যবহার করতে হয় তা ব্যাখ্যা করেছে।