> For the complete documentation index, see [llms.txt](https://sh.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sh.howtocode.dev/1.0.0.part1intro/1.1.0.basic/1.1.7.filesystem.md).

# লিনাক্স ফাইলসিস্টেম

গত কয়েকটি লেসনে আমরা জেনেছি **cd** কমান্ড দিয়ে কীভাবে ডিরেক্টরিতে ঢুকতে হয়, **ls** কমান্ড দিয়ে কীভাবে ডিরেক্টরির কন্টেন্ট এর লিস্ট দেখতে হয়(কাজের ক্ষেত্রে ls -l বেশি সুবিধাজনক), **file** কমান্ড দিয়ে কীভাবে ফাইল সম্পর্কে গুরুত্বপূর্ণ তথ্য জানতে হয় এবং **less** দিয়ে কিভাবে টেক্সট ফাইলের কন্টেন্ট দেখতে হয়। আপনার উচিৎ এখন বিভিন্ন ডিরেক্টরিতে ঢোকা। ইন্টারেস্টিং ফাইল পেলে তার সম্পর্কে জানা বা less দিয়ে পড়ার চেষ্টা করা। আপনি নির্ভয়ে এটি করতে পারেন। নিশ্চিত থাকতে পারেন কোনো এলিয়েন এসে এই কারনে আপনার পোষা বিড়ালকে হত্যা করবে না! আপনার আগ্রহে উস্কানি দিতে আসুন কিছু গুরুত্বপূর্ণ ডিরেক্টরি সম্পর্কে জানি:

| ডিরেক্টরি          | মন্তব্য                                                                                                                                                                                                                                                                                   |
| ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **/**              | রুট ডিরেক্টরি। এখান থেকেই সবকিছুর শুরু।                                                                                                                                                                                                                                                   |
| **/bin**           | সিস্টেম চালু হতে ও সচল রাখতে দরকারি বাইনারিতে কম্পাইল করা প্রোগ্রামগুলো এখানে থাকে।                                                                                                                                                                                                       |
| **/boot**          | লিনাক্স কার্নেল(**/boot/vmlinuz**), সিস্টেম চালু হতে দরকারি কিছু ড্রাইভার সমেত RAM disk image ও বুট লোডার।                                                                                                                                                                                |
| **/dev**           | এই ডিরেক্টরিতে ডিভাইস নোডগুলো (device nodes) থাকে। অর্থাৎ, সিস্টেমের জানাশোনা সব ডিভাইসের একটি লিস্ট।                                                                                                                                                                                     |
| **/etc**           | সিস্টেমের সকল কনফিগারেশন ফাইল ও কিছু শেলস্ক্রিপ্ট এখানে থাকে সিস্টেম চালু হওয়ার সময় লোড হয়। এই ডিরেক্টরির সবকিছুই মানুষ পড়তে পারে। যেমন  **crontab** ফাইলে কিছু অটোমেটেড কাজের নির্দেশনা থাকে। **fstab** ফাইলে মাউন্টেড ডিভাইস সম্পর্কিত তথ্য থাকে। **passwd** ফাইলে ইউজারদের একটা লিস্ট। |
| **/home**          | প্রত্যেক ইউজারের জন্য একটি করে ফোল্ডার থাকে এইখানে। সাধারণ ইউজার শুধু তার নিজের ডিরেক্টরিতে কাজ করতে পারে।                                                                                                                                                                                |
| **/lib**           | সিস্টেমের ব্যবহৃত লাইব্রেরি ফাইলগুলো এখানে থাকে।                                                                                                                                                                                                                                          |
| **/lost+found**    | লিনাক্স ফাইলসিস্টেম( যেমন ext3, ext4) এ ফরম্যাট করা সব ড্রাইভেই এই ফোল্ডার থাকে। ডাটা করাপশন থেকে রিকভার করা ফাইলগুলো এখানে পাওয়া যেতে পারে। গুরুতর কোনো সমস্যা না থাকলে এই ডিরেক্টরি ফাঁকাই থাকে।                                                                                        |
| **/media**         | আধুনিক লিনাক্স সিস্টেমে ইউএসবি ড্রাইভ, সিডি বা ডিভিডি গুলো অটোমেটিক মাউন্ট হয় ও এই ডিরেক্টরিতে একটি সাবডিরেক্টরি হিসেবে তাদের পাওয়া যায়।                                                                                                                                                  |
| **/mnt**           | যেসব ডিভাইসকে ম্যানুয়ালি মাউন্ট করা হয়, তাদের এখানে পাওয়া যায়।                                                                                                                                                                                                                            |
| **/opt**           | এখানে অপশনাল সফ্টওয়্যার, মূলত কমার্শিয়াল সফ্টওয়্যারগুলো ইন্সটল হয়।                                                                                                                                                                                                                        |
| **/proc**          | এই ডিরেক্টরিটি সরাসরি কার্নেল নিয়ন্ত্রণ করে। কার্নেল সম্পর্কিত বিভিন্ন তথ্য এখানে পাওয়া যাবে যা পড়ার যোগ্য।                                                                                                                                                                               |
| **/root**          | কম্পিউটারের রুট এ্যাকাউন্টের হোম ডিরেক্টরি এটা।                                                                                                                                                                                                                                           |
| **/sbin**          | এখানে সিস্টেম বাইনারি প্রোগ্রামগুলো থাকে। যেগুলো মূলত সুপারইউজারের ব্যবহারের জন্য রাখা হয়।                                                                                                                                                                                                |
| **/tmp**           | বিভিন্ন প্রোগ্রাম তার প্রয়োজনমত টেম্পরারি ফাইল তৈরি করে এখানে। প্রত্যেক রিবুট বা রিস্টার্টে এই ডিরেক্টরির সবকিছু মুছে যায়।                                                                                                                                                                |
| **/usr**           | সাধারন ব্যবহারকারীর সকল সফ্টওয়্যার ও তার সাপোর্ট ফাইলগুলো এখানে থাকে।                                                                                                                                                                                                                     |
| **/usr/bin**       | ইন্সটল করা সফ্টওয়্যারের এক্সিকিউটেবল বাইনারি এখানে থাকে।                                                                                                                                                                                                                                  |
| **/usr/lib**       | /usr/bin এর প্রোগ্রামগুলোর লাইব্রেরি ফাইল এখানে থাকে।                                                                                                                                                                                                                                     |
| **/usr/local**     | ডিস্ট্রিবিউশন যে সফ্টওয়্যারগুলো সরবরাহ করে না যেমন সোর্স থেকে নিজেরা কম্পাইল করা প্রোগ্রামগুলো এখানে থাকে।                                                                                                                                                                                |
| **/usr/sbin**      | কিছু এডমিনিস্ট্রেশন প্রোগ্রাম এখানে থাকে।                                                                                                                                                                                                                                                 |
| **/usr/share**     | /usr/bin এর প্রোগ্রামগুলোর ব্যবহৃত সকল শেয়ারড তথ্য যেমন কনফিগারেশন ফাইং, আইকন, স্ক্রীন ব্যাকগ্রাউন্ড, অডিও ফাইল সব এখানে থাকে।                                                                                                                                                            |
| **/usr/share/doc** | প্রোগ্রাম সম্পর্কিত ডকুমেন্টেশন ফাইলগুলো এখানেপ থাকে।                                                                                                                                                                                                                                     |
| **/var**           | ভেরিয়েবল কন্টেন্ট, যা নিয়মিত চেঞ্জ হয়, সেগুলো এখানে পাওয়া যায়। যেমন, ডাটাবেজ, স্পুল ফাইল, প্যাকেজ ম্যানেজমেন্ট আর্কাইভ।                                                                                                                                                                   |
| **/var/log**       | সিস্টেমের লগ ফাইলগুলো এখানে থাকে।                                                                                                                                                                                                                                                         |
