Friday, April 23, 2021

[167-2] জেনে নিন লিনাক্স টার্মিনালের কয়েকটি কমান্ড ও তাদের ব্যবহার –help, touch, mkdir, mv, cp, rmdir, rm। (পর্ব -২)

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

[167-1] আসুন পরিচিত হই লিনাক্স টার্মিনালের সাথে। সাথে জেনে নিন কয়েকটি কমান্ড ও তাদের ব্যবহার। (পর্ব -১)

এই পর্ব শেষে আমরা যেসব কমান্ড জানতে পারবঃ
১. –help
২. touch
৩. mkdir
৪. mv
৫. cp
৬. rmdir
৭ . rm

চলুন শুরু করা যাক।

১ . –help

গত পর্বে man কমান্ড নিয়ে আলোচনা করেছিলাম। –help কমান্ডটিও man কমান্ডের মতোই। তবে man কমান্ড এর সাথে এর মৌলিক পার্থক্য হলো man কমান্ডের নতুন একটি পেইজ ওপেন হয় যেখান অতি সুন্দরভাবে কমান্ড বা প্রোগ্রামটির বর্ণনা আর ব্যবহারবিধি দেয়া থাকে। man, UNIX সিস্টেমের অনেক পুরনো একটি পদ্ধতি। অন্যদিকে –help হলো bash শেল এর একটি বিল্টইন ফিচার। দুটোতেই প্রায় একই তথ্য প্রকাশিত হয়। তবে man পেইজে টেস্কট ফরম্যাটিং থাকলেও bash ভিত্তিক –help প্রকাশিত হয় প্লেইন টেস্কট ফরম্যাটে। আবার অনেক GNU/Linux সিস্টেমে man বিল্টইন থাকে না। তবে সব ব্যাশ শেলেই –help থাকে।

আপনি চাইলে man অথবা –help এর যেকোনোটি আপনার প্রয়োজন মতো ব্যবহার করতে পারেন। man কিভাবে ব্যবহার করতে হয় তা আগের পর্বে দেখিয়েছি।

যেকোনো কমান্ড বা প্রোগ্রামের help সেকশন দেখতে হলে আপনাকে টার্মিনালে প্রথমে কমান্ড বা প্রোগ্রামটির নাম লিখতে হবে তারপর –help লিখতে হবে। যেমন আমি যদি ls এর help দেখতে চাই তবে টার্মিনালে লিখতে হবে
ls –help

২ . touch

touch কমান্ডটি ব্যবহার করা হয় ফাইল তৈরি করার জন্য। touch এর মাধ্যমে আপনি যে কোনো ধরণের ফাইল আপনার টার্মিনালেই তৈরি করতে পারবেন। চলুন উদাহরণ দেখা যাক। প্রথমেই চলুন টার্মিনালে একটি ফাঁকা ডিরেক্টরিতে যাওয়া যাক যাতে আপনাদের বুঝতে সুবিধা হয়।

আমি আমার Desktop ডিরেক্টরিতে আসলাম যেটা সবসময় ফাঁকাই থাকে। আপনারা আপনাদের পছন্দমতো ফোল্ডারে যেতে পারেন। এবার আমরা touch কমান্ড দিয়ে একটি .txt ফাইল তৈরি করব। তো এজন্য আমাকে টাইপ করে হবে touch <file name>
ধরুন আমি test1 নামে একটি txt ফরম্যাট ফাইল তৈরি করতে চাই তবে আমাকে লিখতে হবে
touch test1.txt

এবার ls করে দেখা যাক ফাইলটি তৈরি হয়েছে কি না।

দেখুন আমার Desktop ফোল্ডারে test1.txt নামে একটি ফাইল তৈরি হয়ে গেছে।

>> যদি আমি এক সাথে অনেকগুলো ফাইল তৈরি করতে চাই তবে কি করতে হবে ভাই?
— একসাথে দুই বা ততোধিক ফাইল তৈরি করতে হলে touch কমান্ডের পরে স্পেস দিয়ে প্রথম ফাইলটির নাম লিখতে হবে তারপর আবার স্পেস দিয়ে দ্বিতীয় ফাইলটির নাম লিখতে হবে তারপর আবার স্পেস দিয়ে তৃতীয় ফাইল এভাবে অসংখ্য ফাইল তৈরি করতে পারবেন।
অর্থাৎ একের অধিক ফাইল তৈরি করার জন্য টার্মিনালে কমান্ড ফরম্যাট হবে
touch <first file name> <second file name> <third file name> <fourth file name>

এখন আমার Desktop ডিরেক্টরিতে যদি আমি text2.txt ও test3.txt নামে আরও দুটো ফাইল একসাথে তৈরি করতে চাই তবে আমাকে টার্মিনালে লিখতে হবে
touch text2.txt test3.txt

এবার যদি ls করি

তবে দেখতে পাচ্ছেন আমার Desktop ডিরেক্টরিতে text2.txt আর text3.txt নামে আরও দুটি ফাইল তৈরি হয়েছে। এভাবে আপনারা একসাথে এক বা একাধিক ফাইল তৈরি করতে পারবেন।

>> এভাবে কি শুধু .txt ফাইলই তৈরি করা যাবে?

— না ভাই। আপনি .txt ছাড়াও যেকোনো ফরম্যাটের ফাইল তৈরি করতে পারবেন। যেমন আমি যদি একটি index.html ফাইল তৈরি করতে চাই তবে আমাকে টার্মিনালে টাইপ করতে হবে
touch index.html

দেখুন আমার ফাইলটি তৈরি হয়ে গেছে। এখানে একটি কথা জানিয়ে রাখি, আপনি যদি এমন একটি ফাইল তৈরি করতে চান যার নামের মাঝে স্পেস আছে তবে সেই নামকে দুটি ‘ অথবা দুটি ” (উধৃতি চিহ্ন) এর মাঝে রাখতে হবে।
এর ফরম্যাট হবে
touch ‘<file name>’ অথবা touch “<file name>”
যেমন আমি যদি trick bd.txt নামে একটি ফাইল তৈরি করতে চাই তবে আমাকে টাইপ করতে হবে
touch ‘trick bd.txt’

যদি এভাবে একাধিক ফাইল তৈরি করতে চান তবে আগের মতোই ফাইলের নামের পরে স্পেস দিতে হবে
যেমনঃ
touch ‘trick bd1.txt’ ‘trick bd2.txt’

 

৩ . rm

>> ফাইল তো তৈরি হল এবার ডিলেট বা রিমুভ করবো কিভাবে?

— ফাইল রিমুভ করার জন্য রয়েছে rm কমান্ড (rm = remove)। এর ফরম্যাট হলো
rm <file name>
আবার একাধিক ফাইলের জন্য এর ফরম্যাট হলো
rm <first file name> <second file name> <third file name> <fourth file name>
ফাইল নেম এর মধ্য যদি স্পেস থাকে তবে touch কমান্ডে আমরা যেরকম উধৃতি চিহ্ন দিয়েছিলাম তেমন দিতে হবে
rm ‘<file name>’ অথবা rm “<file name>”
একাধিক ফাইলের জন্য এর ফরম্যাট হলো
rm ‘<first file name>’ ‘<second file name>’ ‘<third file name>’ ‘<fourth file name>’

আমার Desktop ডিরেক্টরি থেকে আমি যদি index.html ফাইলটি ডিলেট বা রিমুভ করতে চাই তবে আমাকে লিখতে হবে
rm index.txt

আবার আমি যদি trick bd.txt, trick bd1.txt, trick bd2.txt একসাথে ডিলেট করতে চাই তবে লিখতে হবে
rm ‘trick bd.txt’ ‘trick bd1.txt’ ‘trick bd2.txt’

৪ . mkdir

>> ফাইলতো তৈরি হলো আবার ডিলেটও হলো এখন ফোল্ডার নিয়ে কিছু কথা বলেন?

– ফোল্ডার তৈরির জন্য আমরা ব্যবহার করব mkdir কমান্ড (mkdir = make directory)।
এই কমান্ডের ফরম্যাট হলো
mkdir <folder name>
ধরুন আমি যদি আমর Desktop ডিরেক্টরির মধ্যে circle নামে একটি ফোল্ডার তৈরি করতে চাই তবে আমাকে টাইপ করতে হবে
mkdir circle

আবার যদি আমি একের অধিক ফোল্ডার তৈরি করতে চাই তবে আগের touch কমান্ডের মতোই প্রতিটি ফাইলের পরে স্পেস দিতে হবে। যেমন
mkdir circle1 circle2 circle3 circle4

আপনি যদি এমন ফোল্ডার তৈরি করতে চান যার নামের মধ্যে স্পেস আছে তবে আগের মতোই আপনাকে ফোল্ডারটির নামের আগে ও পরে উধৃতি চিহ্ন দিতে হবে। ফরম্যাট
mkdir ‘<folder name>’ অথবা mkdir “<folder name>”
একাধিক ফোল্ডারের জন্য এর ফরম্যাট হলো
mkdir ‘<first folder name>’ ‘<second folder name>’ ‘<third folder name>’

৫ . rmdir

>> বুঝলাম এবার ফোল্ডার রিমুভ করব কীভাবে?

— ফোল্ডার রিমুভ করার জন্য রয়েছে rmdir কমান্ড (rmdir = remove directory)।
এই কমান্ডের ফরম্যাট হলো
rmdir <folder name>

ধরুন আমি যদি আমার Desktop ডিরেক্টরিতে থাকা circle1 ফোল্ডারটি ডিলেট করতে চাই তবে আমাকে টার্মিনালে টাইপ করতে হবে
rmdir circle1

দেখুন circle1 ফোল্ডারটি গায়েব হয়ে গেছে। আবার অনেকগুলো ফোল্ডার একসাথে রিমুভ করতে হলে আমাদের প্রতিটি ফোল্ডারের নামের পর স্পেস দিতে হবে।
rmdir circle2 circle3 circle4

আপনি যদি এমন ফোল্ডার ডিলেট করতে চান যার নামের মধ্যে স্পেস আছে তবে আগের মতোই আপনাকে ফোল্ডারটির নামের আগে ও পরে উধৃতি চিহ্ন দিতে হবে। ফরম্যাট
rmdir ‘<folder name>’ অথবা rmdir “<folder name>”
একাধিক ফোল্ডারের জন্য এর ফরম্যাট হলো
rmdir ‘<first folder name>’ ‘<second folder name>’ ‘<third folder name>’

তবে মনে রাখবেন এই কমান্ডের মাধ্যমে আপনি শুধু ফাঁকা ফোল্ডার অর্থাৎ যে ফোল্ডারের ভেতরে কোনো ধরণের কোনো ফাইল এমনকি হিডেন ফাইলও নেই, সেসব ফোল্ডার ডিলেট করতে পারবেন। যদি ফোল্ডারে কোনো ধরণের ফাইল থাকে তবে তা ডিলেট হবে না!

>> ভাই তাহলে ফাইলওয়ালা ফোল্ডার ডিলেট করতে পারব না?

— পারবেন ভাই পারবেন। তবে এ বিষয়ে একটু পরে আলোকপাত করতেছি। আগে চলুন দেখে নেয়া যাক এক ফোল্ডার থেকে অন্য ফোল্ডারে ফাইল মুভ করবেন কিভাবে।

৬ . mv

এই কাজটির জন্য আমরা ব্যবহার করব mv কমান্ডটি (mv = move)। এর ফরম্যাট হলো
mv <file name> <folder name>

ধরুন আমি আমার Desktop ফোল্ডারে থাকা test1.txt ফাইলটিকে circle ফোল্ডারে মুভ করবো। এটা করার জন্য আমাকে টাইপ করতে হবে
mv test1.txt circle

দেখুন আমার Desktop ফোল্ডারে test1.txt ফাইলটি আর নেই। এবার আমরা circle ফোল্ডারে যাব কারণ ওখানেই আমরা ফাইলটি মুভ করেছি।
cd circle

এখানে যদি আমরা ls করি

তবে দেখতে পাব এখানে test1.txt ফাইলটি রয়েছে। চলুন আবার আমরা Desktop ফোল্ডারে ফিরে যাই। এজন্য আমরা লিখতে পারি
cd ~/Desktop/
(এখানে ~ হলো আমাদের হোম ফোল্ডারের সংক্ষিপ্ত রূপ)

তবে আমরা যেহেতু একটা ফোল্ডার উপরে/আগে যেতে চাইছি তাই আমরা cd ~/Desktop/ না লিখে লিখতে পারি
cd ..
(cd স্পেস ডাবল পিরিয়ড বা ফুলস্টপ)

এবার যদি আমরা ls করি তবে দেখতে পাব

এখান থেকে যদি test3.txt আর text2.txt একসাথে circle ফোল্ডারে মুভ করতে চাই তবে লিখতে হবে
mv test3.txt text2.txt circle

দেখুন ফাইল দুটো মুভ হয়ে গেছে।
অর্থাৎ একাধিক ফাইল মুভ করার ফরম্যাট হলো
mv <first file name> <second file name> <third file name> <folder name>

আপনার ফাইলনেম এর মধ্য যদি স্পেস থাকে তবে ফরম্যাট হলো
mv ‘<file name>’ ‘<folder name>’ অথবা mv “<file name>” “<folder name>”
একাধিক ফাইল হলে
mv ‘<first file name>’ ‘<second file name>’ ‘<third file name>’ ‘<folder name>’

এবার আসুন দেখা যাক ফাইল কপি করবেন কিভাবে।

৭ . cp

ফাইল কপি করার জন্য আমরা cp কমান্ডটি ব্যবহার করব (cp = copy)।
এই কমান্ডটির ব্যবহার mv এর মতোই। শুধু আমরা মুভ করার সময় mv লিখেছিলাম এবার লিখবো cp
তো চলুন আবার circle ফোল্ডারে ফিরে যাওয়া যাক।
cd circle

এখানে circle ফোল্ডারে রয়েছে আমাদের আগে তৈরি করা

test1.txt, test3.txt আর text2.txt ফাইল তিনটি। এবার আমরা এই তিনটি ফাইলকে আমাদের Desktop ফোল্ডারে কপি করবো। এজন্য লিখতে হবে
cp test1.txt test3.txt text2.txt ~/Desktop/

(লক্ষ করুন mv কমান্ডটি ব্যবহার করার সময় আমরা কমান্ডে ডিরেক্ট circle ফোল্ডার লিখেছিলাম তবে cp এর বেলায় আমরা Desktop এর সামনে ~/ দিয়েছি। এর কারণ হলো মুভ করার সময় circle ফোল্ডারটি Desktop ফোল্ডারের ভেতরে ছিল। কিন্তু যখন আমরা কপি করলাম তখন Desktop ফোল্ডারটি circle এর ভেতরে ছিল না বরং এক ফোল্ডার আগে ছিল। তাই আমরা Desktop ফোল্ডারটির ফুল পাথ লিখেছি। )

দেখুন এবার আমাদের circle ফোল্ডারের ভেতর তিনটি ফাইল রয়ে গেছে। এবার আমরা Desktop ফোল্ডারে গিয়ে দেখি ফাইলগুলো কপি হয়েছে কি না।
cd ..

ls

দেখুন আমাদের ফাইলগুলো কপি হয়েছে।

একটু আগে বলেছিলাম আমি দেখাবো যে কিভাবে ফাইলওয়ালা ফোল্ডার ডিলেট করবেন। এখন সময় এসেছে সেটা দেখানোর।

আমরা এখন জানি যে আমাদের circle ফোল্ডারে ৩ টি ফাইল আছে। এখন আমরা এই ফোল্ডারটি ডিলেট করব। এজন্য আমরা যদি rmdir কমান্ডটি ব্যবহার করি তবে নিচের মতো দেখতে পাব
rmdir circle

এখানে দেখাচ্ছে কমান্ডটি ফোল্ডারটি ডিলেট করতে ব্যর্থ হয়েছে কারণ ফোল্ডারটি খালি নয়।

তাই আমরা এবার ব্যবহার করব rm কমান্ডটি
rm circle

তবে আমরা এবারো একটি এরর দেখতে পাচ্ছি। rm কমান্ডটি মূলত ব্যবহার করা হয় ফাইল ডিলিটের ক্ষেত্রে তাই এটি নরমালি ফোল্ডার ডিলেট করতে পারে না। তবে আমরা rm এর সাথে একটা ফ্ল্যাগ -r যুক্ত করে ( -r = recursive) ফোল্ডারটি ডিলেট করতে পারব।
rm -r circle

দেখুন এবার কিন্তু ফোল্ডারটি সম্পূর্ণরূপে ডিলেট হয়ে গেছে। rm -r কমান্ডটি দিয়ে আপনি যে কোন ফোল্ডার ডিলেট করতে পারবেন। এক্ষেত্রে মনে রাখবেন এই কমান্ডটি দিয়ে যদি কোন ফোল্ডার ডিলেট করেন তবে কিন্তু তা আর ফিরে আসবেনা। ফোল্ডারটির মধ্য থাকা সকল ফাইল ও ফোল্ডার ডিলেট হয়ে যাবে। তাই এই কমান্ডটি ব্যবহারের পূর্বে শিওর হয়ে নিবেন যে আপনি সত্যি ফোল্ডারটি ডিলেট করতে চান কিনা।

কিছু কথাঃ
গত পর্বের শেষে একটি কমান্ডের কথা বলেছিলাম। কমান্ডটি ছিল
rm -rf /
আজকের এই আলোচনা থেকে নিশ্চয় বুঝতে পেরেছেন যে কেন এই কমান্ডটি ভয়ানক।
কারণ হলো এখানে rm -r ফ্ল্যাগ দিয়ে একটি ফোল্ডার ডিলেট করতে বলা হচ্ছে, তারপর f দিয়ে বোঝানো হচ্ছে (force) বা জবরদস্তি ডিলিট করে দিতে হবে। অর্থাৎ সিস্টেম যদি কমান্ডটিকে বাধা দেয় তবুও কমান্ডটি কারও বাধা মানবে না। আর শেষে / দ্বারা বুঝাচ্ছে আমাদের রুট ফাইলসিস্টেম। অর্থাৎ এই কমান্ডটি আমাদের ফাইলসিস্টেম জবরদস্তি ধ্বংস করে দেবে। অর্থাৎ আমাদের কম্পিউটারে থাকা সবকিছু মুছে দেবে। তাই আপনার এই কমান্ডটি কখনই টার্মিনালে রান করা তো দূরের কথা লেখাও উচিত নয়।

আশা করি বুঝাতে পেরেছি।
আজকের পর্ব এই পর্যন্তই।
পোস্টটি পড়ার জন্য ধন্যবাদ।
সুস্থ থাকুন।
নামাজ কায়েম করুন।
শান্তি বজায় রাখুন।
আল্লাহ হাফেজ।

The post [167-2] জেনে নিন লিনাক্স টার্মিনালের কয়েকটি কমান্ড ও তাদের ব্যবহার –help, touch, mkdir, mv, cp, rmdir, rm। (পর্ব -২) appeared first on Trickbd.com.


Previous Post
Next Post
Related Posts

0 comments: