লিনাক্সে শেল ধারণা এবং জনপ্রিয় BASH শেল এর সাথে আপনাকে পরিচয় করিয়ে দেওয়ার জন্য একটি উদাহরণমূলক গাইড
একটি 'শেল' হল একটি 'ইন্টারেক্টিভ ইউটিলিটি' যা লিনাক্স সিস্টেম দ্বারা সরবরাহ করা হয়। যখনই আমরা লিনাক্স বা ইউনিক্স পরিবেশে কমান্ড লাইনের কথা বলি তখনই আমরা 'শেল'-এর কথা উল্লেখ করি। এটি ব্যবহারকারী এবং সিস্টেমের মধ্যে মিড-ম্যান হিসাবে কাজ করে যা ব্যবহারকারীর কাছ থেকে ইনপুট নেয় এবং সেই ইনপুটটি সিস্টেমে ফিড করে।
লিনাক্স শেল ব্যবহারকারীদের জন্য প্রোগ্রামগুলি শুরু করার বা লিনাক্স সিস্টেমে যে কোনও ডেটা পরিচালনা এবং ম্যানিপুলেট করার একটি উপায় সরবরাহ করে। শেল ব্যবহারকারীকে কমান্ডের মাধ্যমে সিস্টেমের সাথে ইন্টারঅ্যাক্ট করার জন্য একটি মাধ্যম হিসাবে সুবিধা দেয়।
কমান্ড প্রম্পট হল লিনাক্স এবং ইউনিক্স সিস্টেমে শেলের সবচেয়ে মৌলিক এবং মূল অংশ। $ অক্ষর হল বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনের ডিফল্ট প্রম্পট এবং আরো বিশেষভাবে বর্ন শেল ব্যবহার করে এমন ডিস্ট্রিবিউশনে। কমান্ড প্রম্পট একটি ইন্টারফেস হিসাবে কাজ করে যেখানে আপনি কমান্ড লিখতে পারেন। এই কমান্ডগুলিকে আবার ব্যাখ্যা করা হয় কার্নেলে কার্যকর করা হয়। শেল কমান্ড হল প্রথম প্রোগ্রাম যা আপনি যখন প্রথম একটি টার্মিনাল উইন্ডো চালু করেন তখন চালানো হয়।
এই সংক্ষিপ্ত প্রবন্ধে, আপনি লিনাক্সের শেল সম্পর্কে কিছু মৌলিক তথ্য শিখবেন এবং লিনাক্সে ডিফল্ট শেল সম্পর্কে প্রশ্নটিও সম্বোধন করা হবে।
শেল প্রকার
লিনাক্সে, দুটি প্রধান ধরণের শেল রয়েছে- বোর্ন শেল এবং সি-টাইপ শেল। উভয় ধরনের শেলের কিছু সুবিধা এবং অসুবিধাও রয়েছে।
আসুন আমরা নিম্নলিখিত বিভাগে এই উভয় প্রকারের বৈশিষ্ট্যগুলি দেখি।
বোর্ন শেল
বোর্ন শেল স্টিফেন বোর্ন লিখেছিলেন AT&T বেল ল্যাবসে। বোর্ন শেল (শ
) লিনাক্স সিস্টেমে প্রথম চালু করা হয়েছিল। আপনি এই শেল হিসাবে ইনস্টল করা খুঁজে পেতে পারেন /bin/sh
বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনে।
যদিও তখন বোর্ন শেল বেশ জনপ্রিয় এবং পছন্দের ছিল কিন্তু এর কিছু ত্রুটি ছিল। এই শেলটিতে পূর্ববর্তী কমান্ডগুলি স্মরণ করার ক্ষমতা অনুপস্থিত ছিল। শ
উপনামের মতো অনেক আধুনিক ক্ষমতার অভাব ছিল এবং তাই এটিকে কম কার্যকর করেছে।
- হিসাবে চিহ্নিত করা হয়েছে
শ
- দ্য
$
অক্ষর হল ডিফল্ট প্রম্পট।
Bourne Shell-এর উপশ্রেণিগুলো নিচে দেওয়া হল।
- বোর্ন শেল (
শ
) - কর্ন শেল (
ksh
) - বোর্ন আবার শেল (
বাশ
) - পসিক্স শেল (
শ
)
সি-টাইপ শেল
বিল জয় দ্বারা সি-প্রোগ্রামিং ভাষা ব্যবহার করে সি-টাইপ শেল তৈরি করা হয়েছিল। সি-শেল বা 'csh
'কে বোর্ন শেল (শ
). csh
কমান্ড ইতিহাস এবং উপনামের মতো অনেকগুলি নতুন বৈশিষ্ট্য চালু করেছে যা বোর্ন শেলে অনুপস্থিত ছিল।
- হিসাবে চিহ্নিত করা হয়েছে
csh
- দ্য
%
অক্ষর হল ডিফল্ট প্রম্পট।
যদিও এটি বোর্ন শেলের উপরে একটি আপগ্রেড ছিল, এটিতে কয়েকটি চ্যালেঞ্জ ছিল। এছাড়াও একটি বিশিষ্ট সমস্যা সঙ্গে csh
এটি ছিল যে ব্যবহারকারীর সি-প্রোগ্রামিং ভাষা সম্পর্কে পূর্ব জ্ঞান থাকা প্রয়োজন কারণ এটি সি-ভাষার ভিত্তিতে তৈরি করা হয়েছিল।
নিচে সি-টাইপ শেলগুলির উপশ্রেণিগুলি রয়েছে৷
- সি শেল (
csh
) - TENEX/TOPS C শেল (
tcsh
)
লিনাক্স সিস্টেমে, আপনি ব্যবহার করে আপনার সিস্টেমে উপলব্ধ বিভিন্ন শেল খুঁজে পেতে পারেন বিড়াল
আদেশ খোলস সম্পর্কে তথ্য এখানে অবস্থিত /etc/shells
ডিরেক্টরি শেল সম্পর্কে বিস্তারিত জানতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন।
cat /etc/shells
আউটপুট:
gaurav@ubuntu:~$ cat /etc/shells # /etc/shells: বৈধ লগইন শেল /bin/sh /bin/dash /bin/bash /bin/rbash gaurav@ubuntu:~$
লিনাক্সে ডিফল্ট শেল
"লিনাক্সে ডিফল্ট শেল কোনটি?" প্রশ্নের উত্তর দিতে, সবচেয়ে উপযুক্ত উত্তর হবে 'BASH
' (বোর্ন এগেন শেল)। BASH
সবচেয়ে জনপ্রিয় শেল এবং তাই বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনে ডিফল্ট শেল হিসাবে পাওয়া যায়।
লিনাক্সে আপনার ডিফল্ট শেল পরীক্ষা করতে, আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।
প্রতিধ্বনি $SHELL
আউটপুট:
/বিন/বাশ
এর মানে হল যে শেলটি বর্তমানে আমার সিস্টেমে ব্যবহার করা হচ্ছে BASH
শেল
আপনি বর্তমান সংস্করণ পরীক্ষা করতে পারেন BASH
নিম্নলিখিত কমান্ড ব্যবহার করে আপনার লিনাক্স সিস্টেমে:
bash -- সংস্করণ
BASH শেলের বৈশিষ্ট্য
BASH
বোর্ন শেলের সাথে পিছনের দিকে সামঞ্জস্যপূর্ণ (শ
) BASH এর মধ্যে রয়েছে কর্ন শেল থেকে অনেক বিশিষ্ট বৈশিষ্ট্য (ksh
) পাশাপাশি সি-শেল (csh
).
BASH অনেক নতুন বৈশিষ্ট্য অফার করে যা এর পূর্বসূরিগুলিতে অনুপস্থিত ছিল। এবং এটি নিঃসন্দেহে BASH শেলকে তার পূর্বসূরীদের তুলনায় একটি চমৎকার উন্নতি করে তোলে। অনেক নতুন বৈশিষ্ট্য যেমন ওয়াইল্ডকার্ডিং, পাইপিং, ট্যাব-সম্পূর্ণতা হল উল্লেখযোগ্য উন্নতি যা বেশিরভাগ লিনাক্স ডিস্ট্রিবিউশনের জন্য ডিফল্ট হিসাবে BASH কে পছন্দের শেল করে তোলে।
আসুন আমরা ব্যাশ শেলের কিছু উল্লেখযোগ্য বৈশিষ্ট্য দেখি।
কমান্ড ইতিহাস: এই সাধারণ কমান্ডটি একটি দীর্ঘ কমান্ড পুনরায় টাইপ করার জন্য আপনার প্রচেষ্টা বাঁচাতে পারে। কমান্ড ইতিহাস বৈশিষ্ট্যটি পূর্বে প্রবেশ করা কমান্ডগুলিকে স্মরণ করে যা তীর কী দ্বারা টার্মিনালের মাধ্যমে নেভিগেট করা যেতে পারে।
কমান্ড-লাইন সম্পাদনা: এই বৈশিষ্ট্যটি BASH-এর সাথে নতুনভাবে চালু করা হয়েছে। এটি ব্যবহারকারীকে অবাধে কমান্ড লাইনে বাম থেকে ডানে এবং ডান থেকে বামে যেতে দেয়। টার্মিনালে এই নেভিগেশনটি এখন স্বাভাবিক বলে মনে হতে পারে তবে এটি তার পূর্বসূরীদের তুলনায় একটি খুব উল্লেখযোগ্য উন্নতি ছিল।
উপনাম: এটি সি-শেল থেকে প্রাপ্ত একটি বৈশিষ্ট্য। এটি ব্যবহারকারীদের শুধুমাত্র সংক্ষিপ্ত নাম বা কমান্ড টাইপ করার অনুমতি দেয়। শেল তারপর এই সংক্ষিপ্ত কমান্ডটিকে লং কমান্ডে অনুবাদ করে।
এক মাত্রিক অ্যারে: BASH-এ 1-D অ্যারেগুলি ডেটার সহজ রেফারেন্সিংয়ের অনুমতি দেয়। তথ্যের তালিকার হেরফেরও সম্ভব হয়ে ওঠে।
স্টার্টআপ ফাইল: স্টার্টআপ ফাইলগুলি হল সেই স্ক্রিপ্ট যা ব্যাশ চালু করার সময় পড়ে এবং চালায়। প্রতিটি ফাইল একটি নির্দিষ্ট কাজের জন্য বরাদ্দ করা হয়.
পরিবেশ নিরাপত্তা: BASH আপনাকে 'সীমাবদ্ধ মোড'-এর একটি অসাধারণ বৈশিষ্ট্য অফার করে। ক BASH
নাম দিয়ে শুরু rbash
শেলকে সীমাবদ্ধ মোডে কাজ করার অনুমতি দেয়।
এই সমস্ত উল্লেখযোগ্য বৈশিষ্ট্যগুলির কারণে, ব্যাশ শেল লিনাক্স এবং ইউনিক্স-এর মতো সিস্টেমে একটি ব্যাপকভাবে পছন্দের শেল। এটি একই কারণে যে এটি বেশিরভাগ লিনাক্স বিতরণের জন্য ডিফল্ট শেল হিসাবে গৃহীত হয়।
BASH শেলের সাথে উপলব্ধ কমান্ড
BASH
শেল আপনাকে আপনার কাজকে অনায়াসে করতে এবং আপনার কমান্ড লাইন থেকেই আপনার সিস্টেমের সমস্ত ক্রিয়া নিয়ন্ত্রণ করতে আপনাকে প্রচুর কমান্ড সরবরাহ করে। নিম্নে কিছু মৌলিক আদেশ দেওয়া হল BASH
লিনাক্স ডিস্ট্রিবিউশনে শেল অফার করে।
বিঃদ্রঃ: BASH শেলে উপলব্ধ কমান্ডের তালিকা শুধুমাত্র এই টেবিলের মধ্যে সীমাবদ্ধ নয়। এগুলি হল কিছু মৌলিক আদেশ যা দৃষ্টান্তমূলক উদ্দেশ্যে ব্যবহৃত হয়।
আদেশ | বর্ণনা |
rm | একটি ফাইল মুছে ফেলার জন্য ব্যবহৃত কমান্ড |
cp | একটি ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য ব্যবহৃত কমান্ড |
স্পর্শ | একটি খালি ফাইল তৈরি করতে কমান্ড |
mkdir | একটি নতুন ডিরেক্টরি তৈরি করতে কমান্ড |
pwd | বর্তমান কাজের ডিরেক্টরির নাম প্রিন্ট করার জন্য কমান্ড |
সিডি | নির্দেশিকা পরিবর্তন করার জন্য কমান্ড |
উপসংহার
BASH শেলের সমস্ত মৌলিক এবং গুরুত্বপূর্ণ বৈশিষ্ট্যগুলি দেখার পরে, আমরা এই সিদ্ধান্তে পৌঁছাতে পারি যে BASH শেলটি তার শক্তিশালী প্রকৃতি, ব্যবহারকারী-বান্ধব বৈশিষ্ট্য এবং কমান্ডের একটি বিশাল ঝুড়ির কারণে উপলব্ধ বিকল্পগুলির মধ্যে জনপ্রিয় শেল যা ব্যবহারকারীর অভিজ্ঞতা তৈরি করে। অনায়াসে এছাড়াও, আমরা নিরাপদে বলতে পারি যে BASH হল Linux ডিস্ট্রিবিউশনের ডিফল্ট শেল।