কিভাবে লিনাক্সে একাধিক কমান্ড চালানো যায়

How Run Multiple Commands Linux



লিনাক্সে টার্মিনাল থেকে চালানোর জন্য বিভিন্ন ধরনের কমান্ড প্রয়োজন। কখনও কখনও আমাদের এমন সময়ে একাধিক কমান্ড চালাতে হয় যেখানে কমান্ডগুলি একে অপরের উপর নির্ভর করতে পারে বা নাও করতে পারে। একবারে একাধিক কমান্ড চালানোকে কমান্ড চেইন বলা হয়। বিভিন্ন ধরনের অপারেটর বিভিন্ন কাজে কমান্ড চেইনের জন্য ব্যবহার করা যেতে পারে। সর্বাধিক ব্যবহৃত অপারেটর ব্যবহার করে আপনি কিভাবে দুই বা ততোধিক কমান্ড চালাতে পারেন তা এই টিউটোরিয়ালে দেখানো হয়েছে।

পাইপ (|) অপারেটর একটি সময়ে দুই বা ততোধিক সম্পর্কিত কমান্ড চালানোর জন্য ব্যবহৃত হয়। পরবর্তী কমান্ডের ইনপুট হবে আগের কমান্ডের আউটপুট। সুতরাং, প্রতিটি কমান্ডের সাফল্য প্রথম কমান্ড ছাড়াই আগের কমান্ডের সাফল্যের উপর নির্ভর করে। নিম্নলিখিত কমান্ডে, প্রথম কমান্ড, ls বর্তমান অবস্থানের ফাইল এবং ফোল্ডারগুলির তালিকা খুঁজে বের করবে এবং দ্বিতীয় কমান্ডের জন্য ইনপুট হিসাবে আউটপুট পাঠাবে, wc । এটি ইনপুট ডেটার উপর ভিত্তি করে লাইন, শব্দ এবং অক্ষরের মোট সংখ্যা মুদ্রণ করবে।







$ls -দ্য | wc ভাগ্যক্রমে



সেমিকোলন (;) অপারেটর

সেমিকোলন (;) অপারেটর এক সময়ে দুই বা ততোধিক সম্পর্কহীন কমান্ড চালাতে অভ্যস্ত। এর মানে হল যে প্রতিটি কমান্ডের আউটপুট অন্যান্য কমান্ডের উপর নির্ভরশীল নয়। নিম্নলিখিত উদাহরণে, তিন ধরনের কমান্ড একসাথে মিলিত হয় এবং প্রতিটি কমান্ডের ব্যর্থতা অন্যান্য কমান্ডের আউটপুটে প্রভাব সৃষ্টি করবে না। প্রথম কমান্ড একটি ফাইলের বিষয়বস্তু মুদ্রণ করবে, দ্বিতীয় কমান্ড একটি ডিরেক্টরি তৈরি করবে এবং তৃতীয় কমান্ড বর্তমান ডিরেক্টরি পরিবর্তন করবে।



$বিড়ালmyfile.txt;mkdirnewdir;সিডিডেস্কটপ





লজিক্যাল এবং (&&) অপারেটর

লজিক্যাল এবং (&&) দ্বারা পরিচালিত কমান্ডগুলি একে অপরের সাথে পাইপ (|) কমান্ডের মতো সম্পর্কিত। সুতরাং, যদি পূর্ববর্তী কমান্ড সফলভাবে কার্যকর না হয় তবে পরবর্তী কমান্ডগুলি কাজ করবে না। নিম্নলিখিত উদাহরণে, দুটি কমান্ড, mkdir, এবং rmdir && অপারেটরদের দ্বারা মিলিত। সুতরাং, এটি mkdir কমান্ড সফলভাবে চালাতে ব্যর্থ হয়েছে তাহলে rmdir কমান্ড কার্যকর হবে না। Ls কমান্ডের আউটপুট অনুযায়ী, myDir ডিরেক্টরি ইতিমধ্যেই বর্তমান অবস্থানে বিদ্যমান। সুতরাং প্রথম কমান্ডটি কার্যকর হবে না এবং এই দ্বিতীয় কমান্ডটিও কার্যকর হবে না।

$ls
$mkdirmyDir&& rmdirতাপমাত্রা
$ls



লজিক্যাল বা (||) অপারেটর

লজিক্যাল OR (||) অপারেটর হল লজিক্যাল AND (&&) অপারেটরের বিপরীত। পূর্ববর্তী কমান্ড কার্যকর করতে ব্যর্থ হলে পরবর্তী কমান্ডটি কার্যকর হবে। নিম্নলিখিত উদাহরণে তিনটি বিড়াল কমান্ড OR (||) অপারেটরের সাথে মিলিত হয়। যখন আপনি কমান্ডটি চালাবেন, সর্বপ্রথম, এটি cat.txt ফাইলের বিষয়বস্তু প্রদর্শন করার চেষ্টা করবে। যদি বর্তমান অবস্থানে এমন কোন ফাইল না থাকে তবে এটি পরবর্তী কমান্ডটি চালানোর চেষ্টা করবে। আউটপুট অনুযায়ী, bird.txt ফাইল বর্তমান অবস্থানে বিদ্যমান এবং এই ফাইলের বিষয়বস্তু প্রদর্শিত হয়।

$ cat cat.txt || cat dog.txt || বিড়াল পাখি

একাধিক অপারেটরের সাথে একাধিক কমান্ড

আপনি একবারে একাধিক কমান্ড চালানোর জন্য একাধিক অপারেটর ব্যবহার করতে পারেন। নিম্নলিখিত উদাহরণে, তিনটি কমান্ড OR (||) এবং AND (&&) অপারেটরদের সাথে মিলিত হয়। কমান্ডটি চালানোর পরে, প্রথমত, যদি ডিরেক্টরিটি বিদ্যমান থাকে তবে এটি বর্তমান ডিরেক্টরিটি নতুনডিরে পরিবর্তন করবে। যদি এই কমান্ডটি ব্যর্থ হয় তবে এটি দ্বিতীয় কমান্ডটি সম্পাদন করে ডিরেক্টরি তৈরি করবে এবং বার্তাটি মুদ্রণ করবে, ডিরেক্টরি তৈরি হবে। আউটপুট অনুযায়ী, newdir ডিরেক্টরি বর্তমান অবস্থানে নেই। সুতরাং, ত্রুটি বার্তা প্রদর্শিত হয় এবং ডিরেক্টরি পরে তৈরি করা হয়।

$সিডিnewdir|| mkdirnewdir&& বের করে দিল 'ডিরেক্টরি তৈরি করা হয়েছে'

কম্বিনেশন অপারেটর {}

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

$[ -ডিতাপমাত্রা] || { mkdirতাপমাত্রা;বের করে দিলtemp ডিরেক্টরি এখন তৈরি করা হয়েছে।} && ls

অগ্রাধিকার অপারেটর ()

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

$(সিডিতাপমাত্রা&& ls-প্রতি) || (mkdirতাপমাত্রা&& ls)

উপসংহার

এই টিউটোরিয়ালটি লিনাক্সে একাধিক কমান্ড চালানোর জন্য সর্বাধিক ব্যবহৃত অপারেটরদের ব্যাখ্যা করেছে। কিন্তু ব্যাশে আরও অনেক অপারেটর আছে যা একসাথে দুই বা ততোধিক কমান্ড চালানোর জন্য ব্যবহৃত হয়। এগুলি হল এমপারস্যান্ড (&), পুনireনির্দেশ (, >>), লজিক্যাল নট (!), কম্বিনেশন ({}) ইত্যাদি।