কম্পিউটার টিউটোরিয়াল

লিনাক্স ফাইল সিস্টেম মাস্টার করুন: /bin, /usr/bin, /sbin এবং আরও বুঝুন

লেখক: রামেশ নাটারাজান

তারিখ: সেপ্টেম্বর ৮, ২০১০

আপনি কি কখনো চিন্তা করেছেন কেন নির্দিষ্ট প্রোগ্রামগুলো /bin, অথবা /sbin, অথবা /usr/bin, অথবা /usr/sbin-এ অবস্থান করে?

উদাহরণস্বরূপ, less কমান্ড /usr/bin ডিরেক্টরিতে অবস্থিত। কেন /bin, অথবা /sbin, অথবা /usr/sbin-এ নয়? এই সব ডিরেক্টরির মধ্যে পার্থক্য কী?

এই আর্টিকেলে, লিনাক্স ফাইল সিস্টেম স্ট্রাকচার রিভিউ করব এবং אינডিভিজুয়াল হাই-লেভেল ডিরেক্টরির অর্থ বুঝব।

লিনাক্স ফাইল সিস্টেম মাস্টার করুন: /bin, /usr/bin, /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-সংক্রান্ত ডেটা ধারণ করে।

এই আর্টিকেলটি আপনার ভালো লাগলে, আপনি এইগুলিও পছন্দ করতে পারেন..

  1. অ্যান্ড্রয়েডে ArrayList-এ থেকে সব এলিমেন্ট মুছে ListView আপডেট করার পদ্ধতি

  2. C ভাষায় কনস্ট্যান্ট টাইপ কুয়ালিফায়ার (Constant Type Qualifier) ব্যাখ্যা

  3. হায়ারার্কিক্যাল ডাটাবেস মডেল

  4. HTML ফর্মে সব ইনপুট ক্লিয়ার (Clear) করা