লেখক: রামেশ নাটারাজান
তারিখ: সেপ্টেম্বর ৮, ২০১০
আপনি কি কখনো চিন্তা করেছেন কেন নির্দিষ্ট প্রোগ্রামগুলো /bin, অথবা /sbin, অথবা /usr/bin, অথবা /usr/sbin-এ অবস্থান করে?
উদাহরণস্বরূপ, less কমান্ড /usr/bin ডিরেক্টরিতে অবস্থিত। কেন /bin, অথবা /sbin, অথবা /usr/sbin-এ নয়? এই সব ডিরেক্টরির মধ্যে পার্থক্য কী?
এই আর্টিকেলে, লিনাক্স ফাইল সিস্টেম স্ট্রাকচার রিভিউ করব এবং אינডিভিজুয়াল হাই-লেভেল ডিরেক্টরির অর্থ বুঝব।

১. / – রুট (Root)
- প্রতিটি একক ফাইল এবং ডিরেক্টরি রুট ডিরেক্টরি থেকে শুরু হয়।
- শুধু রুট ইউজারের এই ডিরেক্টরির অধীনে রাইট প্রিভিলেজ রয়েছে।
- দয়া করে লক্ষ্য করুন যে /root হলো রুট ইউজারের হোম ডিরেক্টরি, যা / এর সমান নয়।
২. /bin – ইউজার বাইনারি (User Binaries)
- বাইনারি এক্সিকিউটেবল ধারণ করে।
- সিংগেল-ইউজার মোডে আপনাকে যে সাধারণ লিনাক্স কমান্ডগুলো ব্যবহার করতে হয় সেগুলো এই ডিরেক্টরিতে অবস্থিত।
- সিস্টেমের সব ব্যবহারকারীর দ্বারা ব্যবহৃত কমান্ডগুলো এখানে অবস্থিত।
- উদাহরণ: ps, ls, ping, grep, cp।
৩. /sbin – সিস্টেম বাইনারি (System Binaries)
- /bin-এর মতো, /sbin-ও বাইনারি এক্সিকিউটেবল ধারণ করে।
- কিন্তু, এই ডিরেক্টরির অধীনে থাকা লিনাক্স কমান্ডগুলো সাধারণত সিস্টেম অ্যাডমিনিস্ট্রেটর ব্যবহার করে, সিস্টেম মেইনটেনেন্সের উদ্দেশ্যে।
- উদাহরণ: iptables, reboot, fdisk, ifconfig, swapon
৪. /etc – কনফিগারেশন ফাইলস (Configuration Files)
- সকল প্রোগ্রামের জন্য প্রয়োজনীয় কনফিগারেশন ফাইল ধারণ করে।
- এছাড়া এখানে স্টার্টআপ এবং শাটডাউন শেল স্ক্রিপ্ট থাকে যেগুলো ইনডিভিজুয়াল প্রোগ্রাম স্টার্ট/স্টপ করতে ব্যবহৃত হয়।
- উদাহরণ: /etc/resolv.conf, /etc/logrotate.conf
৫. /dev – ডিভাইস ফাইলস (Device Files)
- ডিভাইস ফাইল ধারণ করে।
- এতে টার্মিনাল ডিভাইস, USB, বা সিস্টেমের সাথে সংযুক্ত যেকোনো ডিভাইস অন্তর্ভুক্ত।
- উদাহরণ: /dev/tty1, /dev/usbmon0
৬. /proc – প্রসেস ইনফরমেশন (Process Information)
- সিস্টেম প্রসেস সম্পর্কে তথ্য ধারণ করে।
- এটি একটি pseudo filesystem যাতে রানিং প্রসেস সম্পর্কে তথ্য থাকে। উদাহরণস্বরূপ: /proc/{pid} ডিরেক্টরি সে নির্দিষ্ট pid-যুক্ত প্রসেসের তথ্য ধারণ করে।
- এটি একটি ভার্চুয়াল ফাইলসিস্টেম টেক্সট ইনফরমেশন সহ সিস্টেম রিসোর্স সম্পর্কে। উদাহরণস্বরূপ: /proc/uptime
৭. /var – ভেরিয়েবল ফাইলস (Variable Files)
- var মানে variable files।
- যে ফাইলগুলোর কন্টেন্ট বড় হওয়ার আশা করা হয় সেগুলো এই ডিরেক্টরির অধীনে পাওয়া যায়।
- এতে شامل — সিস্টেম লগ ফাইল (/var/log); প্যাকেজ এবং ডাটাবেস ফাইল (/var/lib); ইমেইল (/var/mail); প্রিন্ট কিউ (/var/spool); লক ফাইল (/var/lock); রিবুট জুড়ে প্রয়োজনীয় টেম্প ফাইল (/var/tmp);
৮. /tmp – টেম্পোরারি ফাইলস (Temporary Files)
- সিস্টেম এবং ব্যবহারকারীদের দ্বারা তৈরি টেম্পোরারি ফাইল ধারণকারী ডিরেক্টরি।
- এই ডিরেক্টরির অধীনে থাকা ফাইলগুলো সিস্টেম রিবুট হলে ডিলিট হয়ে যায়।
৯. /usr – ইউজার প্রোগ্রামস (User Programs)
- দ্বিতীয় স্তরের প্রোগ্রামের জন্য বাইনারি, লাইব্রেরি, ডকুমেন্টেশন, এবং সোর্স-কোড ধারণ করে।
- /usr/bin ইউজার প্রোগ্রামের জন্য বাইনারি ফাইল ধারণ করে। আপনি যদি /bin-এ কোনো ইউজার বাইনারি না পান, /usr/bin-এ খুঁজুন। উদাহরণ: at, awk, cc, less, scp
- /usr/sbin সিস্টেম অ্যাডমিনিস্ট্রেটরের জন্য বাইনারি ফাইল ধারণ করে। আপনি যদি /sbin-এ কোনো সিস্টেম বাইনারি না পান, /usr/sbin-এ খুঁজুন। উদাহরণ: atd, cron, sshd, useradd, userdel
- /usr/lib /usr/bin এবং /usr/sbin-এর জন্য লাইব্রেরি ধারণ করে
- /usr/local ব্যবহারকারীদের প্রোগ্রাম যা সোর্স থেকে ইনস্টল করেন। উদাহরণস্বরূপ, আপনি আপাচি সোর্স থেকে ইনস্টল করলে, সেটি /usr/local/apache2-এ যাবে
১০. /home – হোম ডিরেক্টরিস (Home Directories)
- সকল ব্যবহারকারীর হোম ডিরেক্টরি যেন তারা তাদের পারসোনাল ফাইল স্টোর করতে পারে।
- উদাহরণ: /home/john, /home/nikita
১১. /boot – বুট লোডার ফাইলস (Boot Loader Files)
- বুট লোডার সংক্রান্ত ফাইল ধারণ করে।
- Kernel initrd, vmlinux, grub ফাইলগুলো /boot-এ অবস্থিত
- উদাহরণ: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
১২. /lib – সিস্টেম লাইব্রেরিস (System Libraries)
- লাইব্রেরি ফাইল ধারণ করে যা /bin এবং /sbin-এ অবস্থিত বাইনারি সাপোর্ট করে
- লাইব্রেরি ফাইলনেম হয় ld* বা lib*.so.*
- উদাহরণ: ld-2.11.1.so, libncurses.so.5.7
১৩. /opt – অপশনাল অ্যড-অন অ্যাপ্লিকেশনস (Optional add-on Applications)
- opt মানে optional।
- একক ভেন্ডর থেকে অ্যড-অন অ্যাপ্লিকেশন ধারণ করে।
- অ্যড-অন অ্যাপ্লিকেশনগুলো /opt/ বা /opt/ সাব-ডিরেক্টরির অধীনে ইনস্টল করা উচিত।
১৪. /mnt – মাউন্ট ডিরেক্টরি (Mount Directory)
- সিস্টেম অ্যাডমিনিস্ট্রেটর যেখানে ফাইলসিস্টেম মাউন্ট করতে পারেন একটি টেম্পোরারি মাউন্ট ডিরেক্টরি।
১৫. /media – রিমুভেবল মিডিয়া ডিভাইস (Removable Media Devices)
- রিমুভেবল ডিভাইসের জন্য একটি টেম্পোরারি মাউন্ট ডিরেক্টরি।
- উদাহরণস্বরূপ, CD-ROM-এর জন্য /media/cdrom; ফ্লপি ড্রাইভের জন্য /media/floppy; CD রাইটারের জন্য /media/cdrecorder
১৬. /srv – সার্ভিস ডেটা (Service Data)
- srv মানে service।
- সার্ভার-স্পেসিফিক সার্ভিস সংক্রান্ত ডেটা ধারণ করে।
- উদাহরণস্বরূপ, /srv/cvs CVS-সংক্রান্ত ডেটা ধারণ করে।