Bash দ্রুত এবং শক্তিশালী হলেও, নতুনদের জন্য এটি শিখতে কঠিন। আপনি যদি লিনাক্সে Bash বা Terminal-এ নতুন হয়ে শুরু করেন, নিশ্চিত হন এই এসেনশিয়াল কমান্ডগুলো জানেন যাতে 길을 হারাবেন না এবং কিছু ভাঙবেন না।
সম্পর্কিত:
- নতুন ইউজারদের জন্য ৬টি সবচেয়ে উপযোগী লিনাক্স কমান্ড
- টার্মিনালে রান করার জন্য ১৭টি মজার লিনাক্স কমান্ড
- ৫টি দুর্দান্ত লিনাক্স কমান্ড যা আপনাকে কখনো রান করবেন না
- কম্যান্ড লাইনে টেক্সট নিয়ে কাজ করার ১৩টি উপযোগী টুল
Bash-এ নেভিগেশন
cd
আপনি এই কমান্ডটি প্রথম cd লিখে এবং তারপর একটি ডিরেক্টরির পাথ লিখে ব্যবহার করবেন। একটি পাথ হলো একটি ফাইল ফোল্ডারের রুট, যেখানে আপনাকে যেতে হবে সকল ফোল্ডার দেখানো থাকে। ফোল্ডারগুলো ফরওয়ার্ড স্ল্যাশ (/) দিয়ে বিভক্ত থাকে। স্পেসवाले পাথের জন্য, আপনি হয় পুরো পাথকে কোটেশনে বাঙ্শ করতে পারেন অথবা স্পেসের আগে ব্যাকস্ল্যাশ () যোগ করতে পারেন।
cd path/to/follow
সকল পাথ আপনার প্রেজেন্ট ওয়ার্কিং ডিরেক্টরি থেকে ইন্টারপ্রেট হয়। একটি পাথ নির্দিষ্ট করতে যেটি আপনার প্রেজেন্ট ওয়ার্কিং ডিরেক্টরিতে নেই, আপনাকে হয় সেই পাথের পেরেন্ট ফোল্ডারে নেভিগেট করতে হবে অথবা একটি ফুলি কোয়ালিফাইড পাথ ব্যবহার করতে হবে। একটি ফুলি কোয়ালিফাইড পাথ হলো আপনার সিস্টেমে একটি ফাইলের "পূর্ণ ঠিকানা", যা রুট ড্রাইভ ( / সিম্বলাইজ করে) থেকে শুরু হয় এবং টার্গেট ডিরেক্টরি বা ফাইলে শেষ হয়।
cd ডিরেক্টরি দ্রুত নেভিগেট করার জন্য অনেক শর্টহ্যান্ড ব্যবহার করে। উদাহরণস্বরূপ, একটি সিঙ্গেল ফরওয়ার্ড স্ল্যাশ (/) নির্দেশ করে "রুট" ডিরেক্টরি, যা আপনার সিস্টেমের বুট ড্রাইভ। যেমন আগে বলা হয়েছে, টিল্ডা (~) বর্তমান ইউজারের হোম ডিরেক্টরি নির্দেশ করে। একটি সিঙ্গেল পিরিয়ড (.) বর্তমান ফোল্ডার নির্দেশ করে, এবং দুটি পিরিয়ড (..) বর্তমান ওয়ার্কিং ডিরেক্টরির পেরেন্ট ফোল্ডার নির্দেশ করে। পেরেন্ট ফোল্ডার হলো ওয়ার্কিং ডিরেক্টরিকে ধারণকারী ফোল্ডার।
ব্যাকস্ল্যাশ () খুব স্পেশাল। এটাকে "এস্কেপ ক্যারেক্টার" বলা হয় এবং এর পরে যা আসে সেটি স্পেশ্যালি হ্যান্ডল করা উচিত বোঝায়। এই কেসে, এটা বোঝায় যে স্পেসটি ফাইল পাথের অংশ, দুটি ভিন্ন কমান্ড বা আর্গুমেন্টের মাঝখানের স্পেস নয়।
ls
একটি ডিরেক্টরির কন্টেন্ট देखने ls ব্যবহার করুন, যা "list" এর শর্টফর্ম। কমান্ডটি আপনার বর্তমান ডিরেক্টরির সব ফাইল এবং ডিরেক্টরি লিস্ট করে। এর সবচেয়ে উপযোগী ফিচারগুলো অ্যাক্সেস করা যায় "ফ্ল্যাগস" দিয়ে, যেগুলো ছোট অডিশনাল কমান্ড যা আপনি একটি প্রাইমারি কমান্ডের সাথে আটকে দেন অপশন পরিবর্তন বা ফাংশনালিটি এক্সটেন্ড করতে। এগুলো এক বা দুই ড্যাশ (-) দিয়ে শুরু হয় এবং সাধারণত এক অক্ষর।
ls
ls-র জন্য আরও অনেক উপযোগী ফ্ল্যাগস আছে। পছন্দগুলো হলো:
-aহিডেন ফাইল এবং ডটফাইলস ( . দিয়ে শুরু হওয়া ফাইল) দেখায়-hফাইল সাইজ মানব-পাঠযোগ্য ইউনিটে দেখায়-Sফাইল সাইজ অনুযায়ী সর্ট করে, সবচেয়ে বড়টি প্রথমে (বড় S মনে রাখুন)-tমডিফিকেশন টাইম অনুযায়ী সর্ট করে, নতুনটা প্রথমে
আপনি যদি একাধিক ফ্ল্যাগ ব্যবহার করতে চান, সেগুলো একসাথে স্ট্রিং করুন। উদাহরণস্বরূপ, আপনি যদি একটি ফোল্ডারের হিডেন ফাইলগুলো লং ফরম্যাটে, মানব-পাঠযোগ্য ফাইল সাইজসহ দেখতে চান, আপনি ls -lah রান করতে পারেন।
pwd
এই কমান্ড কোনো আর্গুমেন্ট নেয় না, তাই অবিলম্বে Enter চাপুন এটি রান করতে। pwd কমান্ড present working directory-এর ফুলি-কোয়ালিফাইড পাথ দেখায়, তাই এই সংক্ষেপ।
pwd
আপনি যে কোনো কমান্ড এক্সিকিউট করবেন সেটি আটোমেটিক্যালি প্রেজেন্ট ওয়ার্কিং ডিরেক্টরির মধ্যে এক্সিকিউট হবে। উদাহরণস্বরূপ, mkdir কমান্ড আপনার প্রেজেন্ট ওয়ার্কিং ডিরেক্টরির ভিতরে একটি ডিরেক্টরি তৈরি করবে। অন্যথায়, আপনাকে একটি ফুলি কোয়ালিফাইড পাথ ব্যবহার করতে হবে, যা / দিয়ে শুরু হয় সিস্টেম রুট ডিরেক্টরি নির্দেশ করতে।
man
man command
নির্দিষ্ট কমান্ডের জন্য ম্যানুয়াল পেজ, বা man পেজ ওপেন করে। উদাহরণস্বরূপ, man chmod আপনার টার্মিনাল উইন্ডোতে "chmod" কমান্ডের man পেজ দেখাবে। এই এন্ট্রিগুলো ইউজেজ ইনফরমেশন, ফ্ল্যাগস এবং উদাহরণ দেখায়। আপনি যদি কোনো কমান্ড কী করে বা কী অপশনগুলো উপলব্ধ সেটি জানতে চান, সর্বদা সেটির man পেজ পড়া থেকে শুরু করুন।
cat
cat file
যেকোনো ফাইল টাইপের জন্য ইউনিভার্সাল রিডার। একটা টেক্সট ফাইলে রান করলে কনসোলে ফাইলটির কন্টেন্টস দেখাবে। cat প্রায় সব ফাইলের কন্টেন্টস দেখাবে, কিন্তু আউটপुट সবসময় মানব-পাঠযোগ্য বা আপনার জন্য অর্থবহ নাও হতে পারে। যেহেতু, ইউনিক্স প্রোগুলো কম ব্যবহার করে, কিন্তু নতুনদের এটি সহায়ক লাগে যখন তারা তাদের ফাইল সিস্টেমে বিভ্রান্ত হয়ে পড়ে।
ফাইল এবং ডিরেক্টরি নিয়ে কাজ
cp
"filename.doc" ফাইলটির একটি কপি তৈরি করে "path/to/directory/newfilename.doc"-এ। আপনি এটাকে কপি এবং পেস্ট অ্যাকশন হিসেবে চিন্তা করতে পারেন। ফাইলনেম যদি ইতিমধ্যে বিদ্যমান থাকে, কপি অপারেশন সম্পন্ন হবena।
cp filename.doc path/to/directory/newfilename.doc
mv
"foo.txt"-কে "bar.txt"-এ সরায়। আপনি এই কমান্ডকে কাটা এবং পেস্ট অ্যাকশন হিসেবে চিন্তা করতে পারেন। আমরা mv ফাইল রিনেম করার জন্যও ব্যবহার করি, কারণ আমরা অ্যাসেনশিয়ালি সেগুলো "নামের সাথে সরিয়ে" দিচ্ছি। মনে রাখুন mv কমান্ড রাইট অপারেশন কমপ্লিট হওয়ার পর অরিজিনাল ভার্সন ডিলিট করে।
mv foo.txt /path/to/bar.txt
rm
ডিরেক্টরি কন্টেন্টস এবং সার্ভার ফাইলগুলো রিমুভ করে। -r ফ্ল্যাগ rm-কে, বা রিমুভ-কে রিকার্সিভলি অপারেট করায়, যখন -f ফ্ল্যাগ যেকোনো কনফার্মেশন ডায়লগ বন্ধ করে। এই কমান্ডটির আরও শক্তিশালী ভার্সন, sudo rm -rf, অত্যন্ত সতর্কতার সাথে ব্যবহার করা উচিত। এটি সতর্কতা বা আপত্তি ছাড়া আপনার বুট ড্রাইভ মুছে ফেলতে পারে, তাই সতর্কতা অবলম্বন করুন।
rm -rf contents/
touch
নির্দিষ্ট নামে ফাইল যদি ইতিমধ্যে থাকে, মডিফিকেশন টাইম বর্তমান সময়ে পরিবর্তন হয়। ফাইল যদি না থাকে, সেই নামে একটি খালি ফাইল তৎক্ষণাৎ তৈরি হয়।
touch file
mkdir
ওয়ার্কিং ডিরেক্টরির ভিতরে নির্দিষ্ট নামে একটি ডিরেক্টরি তৈরি করে। পেরেন্ট ডিরেক্টরি প্রয়োজন অনুযায়ী তৈরি করতে -p ফ্ল্যাগ ব্যবহার করুন। এটি আপনার কমান্ড পূরণের জন্য সমস্ত প্রয়োজনীয় পেরেন্ট ডিরেক্টরি তৈরি করবে, যদি অন্য কোনো এরর না থাকে, আপনাকে এক লাইনে মাল্টি-লেভেল ডিরেক্টরি হায়ারার্কি তৈরি করতে দিয়ে।
mkdir directory
rmdir
নির্দিষ্ট পাথে ডিরেক্টরি রিমুভ করে।
rmdir directory
কমান্ড মডিফায়ার
মডিফায়ারগুলো বিদ্যমান কমান্ডগুলোর সমন্বয় করুন যাতে সেগুলো আরও কিছু করুন বা আলাদাভাবে করুন যা সেগুলো সাধারণত করত।
sudo command
sudo মানে "super user do", এবং এটি নিজে কিছু করে না। বরং এটি পরবর্তী কমান্ডকে সুপারপাওয়ার দেয়। আপনি যখন একটি কমান্ডের আগে sudo লিখেন, আপনি অস্থায়ীভাবে রুট ইউজারের পারমিশন পান, যা আপনাকে وہ کار করতে দেয় যা আপনি সাধারণত করবেন না।
কিন্তু সুপারইউজার পাওয়ারের সাথে সুপারইউজার দায়িত্বও আসে। এটিআপনাকে খুব খারাপভাবে কিছু ভাঙতে দেয়, তাই শেখার সময় সতর্ক থাকুন। আপনি যে কমান্ড এক্সিকিউট করছেন তার প্রতিটি অংশ আপনি সম্পূর্ণ বুঝতে পারেন, বিশেষ করে যদি কমান্ডটি অনলাইন থেকে পাওয়া হয়।
sudo ব্যবহার করার পর, আপনাকে আপনার অ্যাডমিনিস্টরেটর পাসওয়ার্ড লিখতে হবে। আপনি লিখলে ইনপুট কার্সর মুভ করবে না, কিন্তু কীস্ট্রোকস ক্যাপচার হবে। শেষে Enter চাপুন কমান্ড এক্সিকিউট করতে।
sudo !!
গত কমান্ডটি আবার রান করুন, কিন্তু এবার অ্যাডমিনিস্ট্রেটর প্রিভিলেজসহ।所謂 "bang bang" কমান্ড (!!) পिछল কমান্ড রিপিট করার শর্টকাট।
>
"রিডাইরেক্ট" বলা হয়, কোরেট আপনার কমান্ডের টেক্সট-ভিত্তিক আউটপুট একটি ফাইলে পাঠায়। উদাহরণস্বরূপ, ls > filelist.txt ls-এর আউটপুট "filelist.txt"-এ পাঠাবে। টার্গেটেড ফাইল না থাকলে, সেটি তৈরি হবে।
|
এটাকে "পাইপ" বলা হয়, এই সিম্বলটি রিডাইরেক্টের মত কিন্তু শুধু কমান্ডের জন্য। এটি একটি কমান্ডের আউটপুট অন্য একটি কমান্ডের ইনপুটে পাঠায়।
পারমিশন মডিফাই করা
পারমিশন নির্ধারণ করে কোন ইউজাররা নির্দিষ্ট ফাইল ভিউ, এডিট এবং এক্সিকিউট করতে পারবে। ফাইল এবং ফোল্ডারের একটি অোনার থাকে, যা সাধারণত সেটি তৈরি করেছেন, এবং মোডস থাকে, যা নিয়ন্ত্রণ করে কোন ইউজাররা ফাইল অ্যাক্সেস করতে পারবে এবং সেগুলোর সাথে কী করতে পারবে।
এই কমান্ডগুলো প্রথম কমান্ডগুলো যেগুলোর সাথে আমরা sudo ব্যবহার করব। মনে রাখুন sudo আমাদের সুপারইউজার এ লেভেট করে, আমাদের অস্থায়ী অ্যাডমিনিস্টরেটর পাওয়ার দেয়। ফাইল পারমিশন নিয়ে কাজ করার সময় এটি প্রায়শই জরুরি, যেহেতু প্রতিটি ফাইল আপনার বর্তমান ইউজারের দখলে নয়।
chmod মানে "change mode", এবং ফাইল ও ফোল্ডারের জন্য পারমিশন এডজাস্ট করে। chown-এর মতো, এটি একটি সিঙ্গেল ফাইলে রান করা যায় বা -R ফ্ল্যাগ দিয়ে ডিরেক্টরি কন্টেন্টসে রিকার্সিভলি।
sudo chmod 775 file
ফাইল পারমিশন কিছুভাবে রিপ্রেজেন্ট করা যায়, কিন্তু উপরে ব্যবহৃত "নামেরিক মোড" (775) সবচেয়ে সাধারণ।
sudo chown -R sarah foo/bar
দেওয়া ডিরেক্টরির প্রতিটি ফাইলের অোনার "sarah" ইউজারে পরিবর্তন করুন। -R ফ্ল্যাগ কমান্ডকে রিকার্সিভ করে, কিন্তু এটি ফ্ল্যাগ ছাড়াও একটি সিঙ্গেল ফাইলে রান করা যায়। আপনার প্রেজেন্ট ওয়ার্কিং ডিরেক্টরিতে রান করতে পিরিয়ড (.) foo/bar-এর জায়গায় ব্যবহার করুন।
উপসংহার
এই কমান্ডগুলো দ্রুত শিখতে, Bash এবং Terminal ব্যবহার করুন حتی তখনও যখন আপনাকে দরকার নেই। ড্র্যাগ-অ্যান্ড-ড্রপ দিয়ে একটি ডিরেক্টরি সরানোর বদলে mv কমান্ড ব্যবহার করে দেখুন। আপনি যত বেশি কমান্ডগুলো আসলে ব্যবহার করবেন, তত দ্রুত আপনার স্কিল বাড়বে।