আমাদের কথা খুঁজে নিন

   

লিনাক্স ডিরেক্টরি স্ট্রাকচার

লিনাক্স, উইনডোস, কবিতা

লিনাক্স, গ্রাফিক্স ইউজার ইন্টারফেসে ব্যবহার করতে চাইলে আপনাকে প্রথমেই এর সম্পর্কে ভালভাবে জানতে হবে। আর এটি সম্পর্কে জানতে হলে আপনার কম্পিউটারে অবশ্যই লিনাক্স ইনস্টল থাকতে হবে। যদি ইনস্টল থাকে তো ভাল না থাকলে নিচের লিংক থেকে সাহায্য নিতে পারেন। http://www.linux.org http://www.redhat.com সাধারণত লিনাক্সে ডিরেক্টরি স্ট্রাকচার পরে শিখানো হয়। আমি আগে জানতে বলছি।

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

যদি দেয় তো আমি ঔষধ কিনে দিব। এবার খুশি। লিনাক্সে প্রথম ঢুকেই আপনি একটু থতমত খেয়ে যাবেন। কারণ, আমরা যারা উইনডোজ ব্যবহার করতে অভ্যস্ত - তারা মাই কম্পিউটারে ঢুকেই বেশ কয়েকটি ড্রাইভ দেখতে পাই। সি, ডি, ই, এফ এরকম নামে সাজানো থাকে।

কিন্তু লিনাক্সের ব্যাপারটা একটু ভিন্ন আর একারণেই আমার লিখতে বসা। লিনাক্সে সব ডিরেক্টরি বা ড্রাইভ থাকে রুট (/) ডিরেক্টরির অধীনে। (/) এই চিহ্ন দ্বারা রুট বোঝানো হয়। রুট ডিরেক্টরির অধীনে আরেকটি রুট ফোল্ডার আছে। দয়া করে এ দুটোর মধ্যে প্যাঁচ লাগাবেন না।

রুট (/root) হচ্ছে (/) রুট এর হোম ডিরেক্টরি। ধরুন আপনার নাম যদি হয় নিরা তবে আপনার হোম ডিরেক্টরি হবে নিরা (nira) নামে। ঠিক তেমনি রুট (/) এর হোম ডিরেক্টরি হয়েছে রুট (root) নামে। বুঝলেন? এই হলো ঘটনা। তো এবার আমি রুট (/) এর অধীনে যেসব ডিরেক্টরি আছে সেগুলোর বর্ণনা দিচ্ছি।

লিনাক্সে রুট (/) এর অধীনে কম বেশী ২১টি ডিরেক্টরি বা ফোল্ডার থাকে। এগুলো হচ্ছে / (রুট) /boot /bin /dev /etc /home /lib /lost+found /media /misc /mnt /net /opt /proc /root (রুট এর হোম) /sbin /selinux /srv /sys /tmp /usr /var আমরা ডিরেক্টরির নামগুলো জেনে গেছি। এবার এদের কাজ সম্পর্কে জানবো। তবে এদের সবগুলোর সম্পর্কে না জানলেও হবে। আপাতত আমরা প্রয়োজনীয় কয়েকটি সম্পর্কে জানবো।

বুট (/boot) ডিরেক্টটরির নামই বলে দিচ্ছে এর কি কাজ। এখানে লিনাক্স তার বুটিং এর জন্য বা ষ্টার্ট আপ এর জন্য যা যা ফাইল প্রয়োজন সব রেখে দেয়। এর ফাইলগুলো যদি আপনি দেখেন তো দেখবেন যে এর ভিতর vmlinuz নামে একটা ফাইল আছে যা আসলে লিনাক্স এর কার্ণেল। এই ডিরেক্টরিতে grub নামে আরেকটি ডিরেক্টরি আছে যাতে grub.conf নামের একটি মজার ফাইল আছে। এ সম্পর্কে আমরা পরে জানবো।

বিন্‌ (/bin) এই ডিরেক্টরি মূলত সিস্টেম এর জন্য প্রয়োজনীয় প্রোগ্রামসমূহ জমা করে রাখে। আমরা কমান্ড লাইনে যে সমস্ত প্রোগ্রামকে কল করে থাকি যেমন: cd, cp, cal, cat, ls, mount - সাধারণত এই সমস্ত প্রোগ্রাম এই ডিরেক্টরি জমা রাখে। এরকম আরেকটি ডিরেক্টরি হচ্ছে /usr/bin. এই ডিরেক্টরিতে সিস্টেমের ইউজারের জন্য প্রয়োজনীয় প্রোগ্রামগুলো জমা থাকে। আসলে কিছু ক্ষেত্রে /bin এবং /usr/bin এই দুই ডিরেক্টরি বা ফোল্ডার এর মধ্যে যেটাতেই আপনি প্রোগ্রাম রাখেন না কেন তেমন কোন পার্থক্য হয় না। ডেভ (/dev) লিনাক্স এর সাথে যে সমস্ত ডিভাইসগুলো আপনি ব্যবহার করছেন সে সমস্ত ডিভাইসগুলো এই ফোল্ডারে ফাইল আকারে থাকে।

মনে রাখবেন লিনাক্স সমস্ত ডিভাইসগুলোকে ফাইল আকারে রাখে এবং আপনি এগুলো অন্য সব ফাইল এর মতই পড়তে ও লিখতে পারবেন। যেমন: /dev/fd0 হচ্ছে আপনার প্রথম ফ্লপি ড্রাইভ,    /dev/cdrom হচ্ছে প্রথম সিডি রম,    /dev/hda হচ্ছে প্রথম হার্ডডিস্ক বা প্রাইমারি হার্ডডিস্ক। এ কারণে এই /dev ডিরেক্টরির ভেতর হাজার রকমের ফাইল দেখতে পাবেন। ইটিসি (/etc) লিনাক্স সিস্টেম এর কনফিগারেশন ফাইলগুলো থাকে এই ফোল্ডারে। এই ফাইলগুলোর বেশীর ভাগই টেক্সট ফাইল এবং হাতে লিখে অনেক কিছু পরিবর্তন করা যায়।

এখানে বেশ চমকপ্রদ কিছু জিনিস আছে। যেমন:     (/etc/inittab)     এই inittab ফাইলটিতে মূলতঃ লিখা থাকে সিস্টেম চালু হবার সময় এবং সাধারণ কাজকর্ম চলার সময় কি কি প্রোসেস চালু হয় বা চলতে থাকে। এখানে আপনি যদি চান তো বলে দিতে পারবেন সিস্টেম চালু হবার সময় এক্স উইনডো সিস্টেম চালু হবে কি না অথবা ব্যবহারকারী যখন ctrl+Alt+Del চাপবে তখন কি হবে। অর্থ্যাৎ লিনাক্সকে নিয়ন্ত্রন করার সামান্য কিছু ক্ষমতা আপনি এই মাত্র পেলেন। এখান থেকেই আরম্ভ হবে মজা।

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

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

কি ভাই লাগবো নাকি একখান? লাইব (/lib) লিনাক্সে এমন কিছু ফাইল আছে যা বিভিন্ন প্রোগ্রাম শেয়ার করে থাকে। এই ফাইলগুলো এই লাইব ফোল্ডারে থাকে। এগুলোকে লাইব্রেরি ফাইল বলে। এই ফাইলগুলো অনেকটা উইনডোস এর dll file এর মত। > লস্ট এন্ড ফাউন্ড (/lost+found) লিনাক্স সিস্টেম ক্রাশ (!) করলে বা কোন পেনড্রাইভ আনমাউন্ট না করে খুলে ফেললে বা হঠাৎ সিস্টেম বন্ধ হয়ে গেলে যে সমস্ত ফাইলগুলো হারিয়ে যাবার আশংকা থাকে সে সমস্ত ফাইলগুলো লিনাক্স এই ফোল্ডারে সংরক্ষণ করে।

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

মাউন্ট (/mnt) এবার আসল কথায় আসি। এতক্ষণ যে মাউন্ট মাউন্ট করলাম এটা হচ্ছে সেই ডিরেক্টরি। মাউন্ট করা মানে হচ্ছে বিভিন্ন ডিভাইসকে সংযুক্ত করা। যেমন: হার্ডডিস্ক, ফ্লপি, সিডিরম ইত্যাদি। মাউন্ট করতে হলে একটা মাউন্ট পয়েন্ট লাগে।

অর্থ্যাৎ একটা ফোল্ডার তৈরী করতে হবে যেখানে আপনার সংযুক্ত করা ডিভাইসের ফাইলগুলো দেখা যাবে। এই ফোল্ডারগুলো সাধারণত তৈরী করতে হয় এই মাউন্ট ফোল্ডার বা ডিরেক্টরির অধীনে। তবে এর ধরা বাধাঁ কোন নিয়ম নেই। আপনি যেকোন ডিরেক্টরিতে খুশি মাউন্ট করতে পারেন। রুট (/root) রুট হচ্ছে সুপারইউজার এর হোম ডিরেক্টরি।

এ সমস্ত ফোল্ডারগুলো (২১টি) যে রুট (/) এর অধীনে আছে সেই রুট (/) এর হোম ডিরেক্টরি হচ্ছে রুট (/root)| কারণ যার যার হোম ডিরেক্টরি তার তার নামে তৈরী হয়। যেমন আপনার নাম যদি হয় কেয়া তবে আপনার হোম ডিরেক্টরি কেয়া নামেই তৈরী হবে এবং তা থাকবে হোম (/home) ফোল্ডার এর অধীনে। কিন্তু রুট (/) এর হোম ডিরেক্টরি হোম ফোল্ডার এর অধীনে নেই কারণ সে সুপারইউজার। জোর যার মুল্লুক তার। বুঝলেন না ... এস বিন (/sbin) লিনাক্সের বেশির ভাগ সিস্টেম এ্যাডমিনিস্ট্রেশন প্রোগ্রামগুলো এখানে জমা রাখা হয়।

অনেকক্ষেত্রে আপনাকে রুট ইউজার হিসেবে এই প্রোগ্রামগুলো চালাতে হবে। এরকম আরেকটি ডিরেক্টরি হচ্ছে (/usr/sbin). ইউ এস আর (/usr) লিনাক্স ইউজারদের বিভিন্ন ধরণের ফাইল ও প্রোগ্রাম এই ডিরেক্টরিতে থাকে। সোর্স কোড, ছবি, কনফিগারশন ফাইল ও বিভিন্ন ধরণের ডকুমেন্ট এখানে রক্ষিত থাকে। এসব ফাইল আবার বিভিন্ন ফোল্ডারে সাজানো থাকে। > ভার (/var) ভার ফোল্ডারটা মোটামুটি ভারিই বলতে পারেন।

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

বাসায় ভাল করে দেখুন এবং র্চচা করুন। মনে রাখার চেষ্টা করুন। অল্প কয়েক দিনেই আপনি এতটা দক্ষতা অর্জন করবেন যে অন্যকে লিনাক্স শিখাতে পারবেন। ভাল থাকবেন। বিদায়।

   চলবে.....

অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।

প্রাসঙ্গিক আরো কথা
Related contents feature is in beta version.