লিনাক্স অপারেটিং সিস্টেমের অন্যতম গুরুত্বপূর্ণ অংশ হলো এর ফাইল সিস্টেম। ফাইল সিস্টেম হলো একটি পদ্ধতি যা ডেটা সংরক্ষণ, সংগঠিত এবং অ্যাক্সেস করার জন্য ব্যবহৃত হয়। লিনাক্স ফাইল সিস্টেমের গঠন, বৈশিষ্ট্য এবং কার্যকারিতা উইন্ডোজ বা ম্যাকওএসের থেকে আলাদা। এই আর্টিকেলে আমরা লিনাক্স ফাইল সিস্টেমের বিভিন্ন দিক নিয়ে আলোচনা করব।
লিনাক্স ফাইল সিস্টেমের গঠন
লিনাক্স ফাইল সিস্টেম একটি ট্রি-স্ট্রাকচার বা গাছের মতো গঠন অনুসরণ করে। এটির মূল ডিরেক্টরি হলো **রুট (/)**, যা সমস্ত ফাইল এবং ডিরেক্টরির শীর্ষে অবস্থিত। রুট ডিরেক্টরির নিচে বিভিন্ন সাব-ডিরেক্টরি থাকে, যেগুলো নির্দিষ্ট ধরনের ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। নিচে লিনাক্স ফাইল সিস্টেমের কিছু গুরুত্বপূর্ণ ডিরেক্টরি এবং তাদের কাজ সম্পর্কে আলোচনা করা হলো:
1. /bin: এটি বাইনারি ফাইল সংরক্ষণের জন্য ব্যবহৃত হয়। এখানে সবচেয়ে প্রয়োজনীয় কমান্ড এবং প্রোগ্রাম থাকে, যেমন `ls`, `cp`, `mv` ইত্যাদি।
2. /etc: সিস্টেম কনফিগারেশন ফাইল এখানে সংরক্ষিত হয়। উদাহরণস্বরূপ, নেটওয়ার্ক সেটিংস, ব্যবহারকারী অ্যাকাউন্ট তথ্য ইত্যাদি।
3. /home: প্রতিটি ব্যবহারকারীর ব্যক্তিগত ফাইল এবং ডিরেক্টরি এখানে সংরক্ষিত হয়। প্রতিটি ব্যবহারকারীর জন্য আলাদা সাব-ডিরেক্টরি থাকে।
4. /var: ভেরিয়েবল ডেটা যেমন লগ ফাইল, ডাটাবেস, ইমেল এবং অন্যান্য ডায়নামিক ডেটা এখানে সংরক্ষিত হয়।
5. /usr: ইউজার-সম্পর্কিত প্রোগ্রাম এবং ডেটা এখানে থাকে। এটি সাধারণত সফটওয়্যার ইনস্টলেশনের জন্য ব্যবহৃত হয়।
6. /tmp: অস্থায়ী ফাইল সংরক্ষণের জন্য এই ডিরেক্টরি ব্যবহৃত হয়। সিস্টেম রিবুট হলে এই ফাইলগুলি সাধারণত মুছে যায়।
7. /dev: ডিভাইস ফাইল এখানে থাকে। লিনাক্সে প্রতিটি হার্ডওয়্যার ডিভাইসকে একটি ফাইল হিসেবে বিবেচনা করা হয়।
8. /proc: এটি একটি ভার্চুয়াল ফাইল সিস্টেম যা সিস্টেম এবং প্রসেস সম্পর্কিত তথ্য প্রদান করে।
9. /boot: বুট লোডার এবং কার্নেল ফাইল এখানে সংরক্ষিত হয়। সিস্টেম বুট করার জন্য প্রয়োজনীয় ফাইলগুলি এই ডিরেক্টরিতে থাকে।
10. /lib: সিস্টেম লাইব্রেরি ফাইল এখানে সংরক্ষিত হয়। এই লাইব্রেরিগুলো বিভিন্ন প্রোগ্রাম এবং কমান্ডের জন্য প্রয়োজনীয়।

লিনাক্স ফাইল সিস্টেমের ধরন
লিনাক্সে বিভিন্ন ধরনের ফাইল সিস্টেম ব্যবহার করা হয়। প্রতিটি ফাইল সিস্টেমের নিজস্ব বৈশিষ্ট্য এবং ব্যবহারের ক্ষেত্র রয়েছে। কিছু জনপ্রিয় ফাইল সিস্টেম হলো:
1. Ext4 (Fourth Extended File System): এটি লিনাক্সে সবচেয়ে বেশি ব্যবহৃত ফাইল সিস্টেম। এটি Ext3 এর উন্নত সংস্করণ এবং বড় ফাইল ও ডিরেক্টরি সমর্থন করে।
2. XF: এটি উচ্চ পারফরম্যান্সের জন্য ডিজাইন করা হয়েছে এবং বড় ডেটা সেটের জন্য উপযুক্ত।
3. Btrfs (B-Tree File System): এটি একটি আধুনিক ফাইল সিস্টেম যা স্ন্যাপশট, ডেটা ডুপ্লিকেশন এবং ডিস্ক কুয়োটার মতো উন্নত বৈশিষ্ট্য সরবরাহ করে।
4. ZFS: যদিও এটি মূলত সোলারিসের জন্য ডিজাইন করা হয়েছে, তবে লিনাক্সেও এটি ব্যবহার করা যায়। এটি ডেটা ইন্টিগ্রিটি এবং স্ন্যাপশটের জন্য পরিচিত।
লিনাক্স ফাইল সিস্টেমের বৈশিষ্ট্য
1. কেস-সেনসিটিভ: লিনাক্স ফাইল সিস্টেম কেস-সেনসিটিভ, অর্থাৎ `file.txt` এবং `File.txt` দুটি আলাদা ফাইল হিসেবে বিবেচিত হয়।
2. ইনোড (Inode): লিনাক্সে প্রতিটি ফাইল এবং ডিরেক্টরির একটি অনন্য ইনোড নম্বর থাকে। ইনোডে ফাইলের মেটাডেটা (যেমন পারমিশন, মালিকানা, সাইজ ইত্যাদি) সংরক্ষিত হয়।
3. লিঙ্ক (Link): লিনাক্সে হার্ড লিঙ্ক এবং সিম্বলিক লিঙ্ক ব্যবহার করা যায়। হার্ড লিঙ্ক একই ইনোডের সাথে সংযুক্ত থাকে, অন্যদিকে সিম্বলিক লিঙ্ক একটি ফাইলের পথ নির্দেশ করে।
4. জার্নালিং: অনেক লিনাক্স ফাইল সিস্টেম জার্নালিং সমর্থন করে, যা ডেটা লস হওয়া থেকে রক্ষা করে। জার্নালিং ফাইল সিস্টেমে পরিবর্তনগুলি লগ করা হয়, যাতে সিস্টেম ক্র্যাশ হলে ডেটা পুনরুদ্ধার করা যায়।
লিনাক্স ফাইল সিস্টেম ম্যানেজমেন্ট
লিনাক্সে ফাইল সিস্টেম ম্যানেজমেন্টের জন্য বিভিন্ন কমান্ড এবং টুল ব্যবহার করা হয়। কিছু গুরুত্বপূর্ণ কমান্ড হলো:
– `ls`: ডিরেক্টরির বিষয়বস্তু তালিকা দেখায়।
– `cd`: ডিরেক্টরি পরিবর্তন করে।
– `mkdir`: নতুন ডিরেক্টরি তৈরি করে।
– `rm`: ফাইল বা ডিরেক্টরি মুছে ফেলে।
– `cp`: ফাইল বা ডিরেক্টরি কপি করে।
– `mv`: ফাইল বা ডিরেক্টরি সরানো বা নাম পরিবর্তন করে।
– `chmod`: ফাইলের পারমিশন পরিবর্তন করে।
– `df`: ডিস্ক স্পেস ব্যবহার দেখায়।
– `mount`: ফাইল সিস্টেম মাউন্ট করে।
সবশেষ
লিনাক্স ফাইল সিস্টেম একটি শক্তিশালী এবং নমনীয় সিস্টেম যা ব্যবহারকারীদের ডেটা সংরক্ষণ এবং ব্যবস্থাপনার জন্য বিভিন্ন সুবিধা প্রদান করে। এর গঠন, বৈশিষ্ট্য এবং ম্যানেজমেন্ট টুলস লিনাক্সকে একটি নির্ভরযোগ্য এবং দক্ষ অপারেটিং সিস্টেম হিসেবে প্রতিষ্ঠিত করেছে। লিনাক্স ফাইল সিস্টেম সম্পর্কে ভালোভাবে বুঝতে পারলে আপনি সিস্টেমটি আরও কার্যকরভাবে ব্যবহার করতে পারবেন।
লেখকঃ সামিউল হক সুমন, নেটওয়ার্ক প্রকৌশলী, আমেরিকান ইন্টারন্যাশনাল ইউনিভার্সিটি – বাংলাদেশ