প্রারম্ভিক লিনাক্স ব্যবহারকারীদের শেখার জন্য তথ্যের বিশাল পাহাড়ের সাথে দেখা হয়। এই টার্মিনাল জিনিস কি? আমি কিভাবে সফ্টওয়্যার আপডেট চালাব? আমি কোন ডিস্ট্রো নির্বাচন করব? এই সব সাধারণ প্রশ্ন. যাইহোক, এমন একটি প্রশ্ন রয়েছে যা এখনও অনেক অভিজ্ঞ লিনাক্স ব্যবহারকারীদের জর্জরিত করে:লিনাক্স ভার্চুয়াল ডিরেক্টরি সিস্টেমের প্রতিটি ডিরেক্টরিতে কী রয়েছে? এখানে আমরা লিনাক্স ভার্চুয়াল ডিরেক্টরি সিস্টেমের জন্য আমাদের গাইডে “/” থেকে “/boot” পর্যন্ত সবকিছু কভার করি।
লিনাক্স ভার্চুয়াল ডিরেক্টরি সিস্টেম কি?
একটি ভার্চুয়াল ডিরেক্টরি সিস্টেম একটি কম্পিউটার অপারেটিং সিস্টেমে ফাইল এবং ডিরেক্টরি সংগঠিত করার একটি উপায়। এটিকে "ভার্চুয়াল" বলার কারণ হল যে কোনও প্রকৃত শারীরিক উপাদান নেই - উইন্ডোতে, আপনার "সি:" ড্রাইভ, "ডি:" ড্রাইভ এবং আরও অনেক কিছু রয়েছে। লিনাক্সে, সমস্ত ফিজিক্যাল ডিস্ক আপনার ভার্চুয়াল ডিরেক্টরি সিস্টেমে ফাইল হিসাবে বিবেচিত হয়। এখানেই "সবকিছুই একটি ফাইল" বাক্যাংশটি এসেছে। এমনকি আপনার সিস্টেমে যে ডিস্কটি আপনি আপনার অপারেটিং সিস্টেমের জন্য কাজ করছেন সেটিকে একটি ফাইল হিসাবে বিবেচনা করা হয়৷
ভার্চুয়াল ডিরেক্টরি সিস্টেম বোঝা
রুট ডিরেক্টরি:/
একেবারে শুরু দিয়ে শুরু করা যাক। "/" (বা "রুট") ডিরেক্টরি হল যা সিস্টেমের সবকিছু ধারণ করে। cd /
চালানোর মাধ্যমে কমান্ড, আপনি আপনার সিস্টেমে যতটা সম্ভব জুম আউট করছেন। “/” ডিরেক্টরিতে পরিবর্তন করুন এবং ls
চালান আদেশ আপনি আমি কি বলতে চাচ্ছি তা দেখতে শুরু করবেন। "নথিপত্র," "ডাউনলোড" বা "ছবি" এর পরিবর্তে আপনি "বিন," "দেব" এবং "হোম" এর মতো জিনিসগুলি পান৷ এটি আপনার ডিস্ট্রোর উপর নির্ভর করে কিছুটা আলাদা হবে, তবে কিছু মূল ডিরেক্টরি রয়েছে যা সর্বদা সেখানে থাকবে। এখান থেকে সমস্ত ডিরেক্টরির শুরুতে "/" থাকবে কারণ এটিই সবকিছুর মূল - তাই নাম "রুট।"
বাইনারি ডিরেক্টরি:/bin
"/bin" ডিরেক্টরিটি আপনার সিস্টেমের সমস্ত বাইনারি প্রোগ্রাম ধারণ করে। আপনি যদি সেখানে তাকান, আপনি cd
এর মত সাধারণ কমান্ড দেখতে পাবেন এবং ls
যা আমরা ইতিমধ্যে ব্যবহার করেছি। আপনি which cd
চালিয়ে তাদের খুঁজে পেতে পারেন অথবা which ls
আদেশ আধুনিক ডিস্ট্রোতে বেশিরভাগ সময়, "/bin" ডিরেক্টরিটি "/usr/bin" ডিরেক্টরির সাথে সংযুক্ত থাকে। "/usr" ডিরেক্টরিটি পরে কভার করা হয়েছে, কিন্তু সংক্ষেপে, তারা "/bin" ডিরেক্টরিতে সিস্টেম এবং প্রশাসকদের জন্য এবং "/usr/bin"-এ সিস্টেম ব্যবহারকারীদের জন্য আলাদা বাইনারি ব্যবহার করা হয়৷
বুট ডিরেক্টরি:/boot
"/boot" ডিরেক্টরিতে আপনার সিস্টেম শুরু করার জন্য প্রয়োজনীয় সমস্ত মৌলিক তথ্য ধারণ করে। আপনার সিস্টেমে আপনার ইনস্টল করা সমস্ত কার্নেল, সেই কার্নেলের জন্য সমস্ত কনফিগার ফাইল, গ্রুবের জন্য তথ্য - এই সবই। এটি একটি অত্যন্ত গুরুত্বপূর্ণ ডিরেক্টরি, এবং এটি আপনার সিস্টেম থেকে আলাদা একটি EFI সিস্টেম পার্টিশন হিসাবে বিবেচিত হয়। সেজন্য আপনি যখন ম্যানুয়াল পার্টিশন তৈরি করেন, তখন আপনাকে কমপক্ষে “/” এবং “/বুট” আলাদাভাবে তৈরি করতে হবে।
ডিভাইস ডিরেক্টরি:/dev
"/dev" ডিরেক্টরিটি সিস্টেমের সমস্ত ডিভাইস ফাইলগুলিকে ধারণ করে, যেগুলি আপনার সিস্টেমের সমস্ত হার্ডওয়্যার উপাদান (পাশাপাশি কিছু অন্যান্য গুরুত্বপূর্ণ ভার্চুয়াল ডিভাইস যেমন "নাল" এবং "র্যান্ডম।") এটির দিকে তাকালে আপনি বুঝতে পারবেন "cpu," "sda," "tty," "stderr," "stdin," এবং "stdout" এর মতো জিনিসগুলি লক্ষ্য করুন৷ এগুলি হল সমস্ত গুরুত্বপূর্ণ ডিভাইস ফাইল যার সাথে আপনি প্রতিদিন ইন্টারঅ্যাক্ট করবেন।
ইত্যাদি ডিরেক্টরি:/etc
এই র্যান্ডম জিনিস জন্য. Etsy-এর মতো উচ্চারিত "/etc" ডিরেক্টরি, যেখানে আপনি আপনার সিস্টেমের বেশিরভাগ জিনিসের জন্য প্রচুর কনফিগারেশন ফাইল পাবেন। এসএসএইচ, পাইপওয়্যার, সিস্টেমডি এবং ফায়ারফক্সের মতো জিনিসগুলিরই এখানে কনফিগারেশন ফাইল রয়েছে। এটি ভার্চুয়াল ডিরেক্টরি সিস্টেমের জাঙ্ক ড্রয়ারের মতো - অত্যন্ত গুরুত্বপূর্ণ কিন্তু জিনিসগুলি খুঁজে পাওয়া একটু কষ্টকর৷
হোম ডিরেক্টরি:/home
"/হোম" ডিরেক্টরিতে ব্যবহারকারীদের জন্য সমস্ত ব্যক্তিগত ফাইল রয়েছে। যখন একজন ব্যবহারকারী তৈরি করা হয়, তখন তাদের সাধারণত একটি "/home" ডিরেক্টরি এবং তাদের "/home" ডিরেক্টরির ফাইলগুলি সম্পাদনা করার অনুমতি দেওয়া হয়। কিছু ব্যবহারকারীকে প্রশাসক অধিকারও দেওয়া হয়, যা sudo
আপনাকে নেট করে, কিন্তু এটি শুধুমাত্র রুট ব্যবহারকারীর অধিকার ধরে নেওয়া। আপনি যদি whoami
চালান এবং sudo whoami
পর্যায়ক্রমে, আপনি এটি দেখতে শুরু করবেন। এটি এমন একটি ডিরেক্টরি যা আপনি সম্ভবত সবচেয়ে বেশি পরিচিত৷
লাইব্রেরি ডিরেক্টরি:/lib, /lib32, এবং /lib64
"/lib" ডিরেক্টরিগুলির মধ্যে সমস্ত নির্দিষ্ট লাইব্রেরি রয়েছে যা "/bin" বা "/sbin" (পরে আচ্ছাদিত) এর প্রোগ্রামগুলি ব্যবহার করবে। কার্নেলের বিভিন্ন অংশ এবং কার্নেল মডিউল ইনস্টল করার জন্য অন্যান্য লাইব্রেরির সাথে ফার্মওয়্যার এখানেই সংরক্ষণ করা হয়। বোন ডিরেক্টরি "/lib32" এবং "/lib64" শুধুমাত্র 32-বিট এবং 64-বিট অপারেটিং সিস্টেমের সংস্করণ ধারণ করে এবং বেস "/lib" ডিরেক্টরির সাথে প্রায় অভিন্ন৷
মিডিয়া ডিরেক্টরি:/media এবং /mnt
আমি এগুলিকে একসাথে গোষ্ঠীবদ্ধ করছি কারণ তারা প্রায়শই একই উদ্দেশ্য পরিবেশন করে। "/media" ডিরেক্টরি হল যেখানে সিডি, ডিভিডি বা অন্যান্য অপসারণযোগ্য মিডিয়ার বিষয়বস্তু সংরক্ষণ করা হয়। যদি আমি একটি USB ড্রাইভে প্লাগ ইন করি, আপনি এটি বেশিরভাগ সিস্টেমে "/media"-এ পপ আপ দেখতে পাবেন।
"/mnt" ডিরেক্টরিটি দীর্ঘমেয়াদী মাউন্টের জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ, যদি আমি আমার সিস্টেমে অন্য একটি SSD যোগ করতে চাই, আমি এটির জন্য "/mnt" ডিরেক্টরিতে একটি স্থায়ী মাউন্ট পয়েন্ট সেট আপ করতে পারি। অথবা, যদি আমার বাড়িতে একটি NAS থাকে, আমি সেই তথ্যটিকে “/mnt” ডিরেক্টরিতেও মাউন্ট করতে পারি।
/opt
"/opt" ডিরেক্টরিতে ব্যবহারকারীর ব্যবহারের জন্য অতিরিক্ত সফ্টওয়্যার প্যাকেজ রয়েছে। এটি আপনার ধারণার চেয়ে অনেক ছোট - আমার শুধুমাত্র সাহসী, গুগল ক্রোম এবং সাবলাইম টেক্সটের জন্য ফাইল রয়েছে৷ আপনি যদি সফ্টওয়্যারের একটি অংশের জন্য একটি সংগ্রহস্থল যোগ করেন, তাহলে আপনি সম্ভবত "/opt" এ এটি পাবেন৷
/proc
"/proc" ডিরেক্টরিতে হার্ডওয়্যার তথ্য এবং চলমান প্রক্রিয়ার তথ্য রয়েছে। হার্ডওয়্যার ল্যান্ডস্কেপটি কেমন তা সিস্টেমটি বের করে, এটি "/proc" ডিরেক্টরিতে সংরক্ষণ করা হবে। উদাহরণস্বরূপ, আপনি যদি cat /proc/cpuinfo
কমান্ডটি চালান , আপনি আপনার CPU সম্বন্ধে যতটা জানতে চেয়েছিলেন তার চেয়ে বেশি শিখবেন।
/রুট
এটি শুধুমাত্র একটি "/home" ডিরেক্টরির রুট ব্যবহারকারীর সংস্করণ। আপনি যদি রুট ব্যবহারকারী হিসাবে অনেক কাজ করেন, আপনি সেখানে জিনিসপত্র খুঁজে পাবেন।
/চালান
"/ রান" ডিরেক্টরিটি কিছুটা "/ proc" এর অনুরূপ - হার্ডওয়্যারের পরিবর্তে, "/ রান" সফ্টওয়্যারের উপর ফোকাস করে। উভয়ই সঞ্চয় করে যাকে "অস্থির রানটাইম ডেটা" বলা হয়, যার অর্থ এই ডিরেক্টরিগুলি আপনি যখনই সিস্টেমটি রিবুট করেন তখন মোটামুটিভাবে সাফ হয়ে যায়, তবে তারা সহায়ক জিনিসগুলি সঞ্চয় করে কারণ OS আপনার সিস্টেম এবং আপনি এটি কিসের জন্য ব্যবহার করছেন সে সম্পর্কে আরও শিখে৷
/sbin
"/sbin" ডিরেক্টরিতে বাইনারি প্রোগ্রাম রয়েছে যা শুধুমাত্র রুট ব্যবহারকারীর জন্য উপলব্ধ করা উচিত। উদাহরণস্বরূপ, বাইনারি প্রোগ্রাম যা আপনার সিস্টেমকে বন্ধ করে দেয় (poweroff
) সম্ভবত “/sbin” এ থাকা উচিত।
/srv
আপনি যে ওয়েব-অ্যাক্সেসযোগ্য পরিষেবাগুলি চালাচ্ছেন তার উপর ভিত্তি করে এই ডিরেক্টরিটি সাইট-নির্দিষ্ট ডেটা ধারণ করে। FTP এবং HTTP-এর মতো জিনিসগুলির নির্দিষ্ট তথ্য এখানে সংরক্ষিত থাকবে। আমি কোনো চালাচ্ছি না, তাই আমার "/srv" ডিরেক্টরি খালি৷
৷/sys
"/sys" ডিরেক্টরিতে সিস্টেমের মূল ডিভাইসের তথ্য থাকে। আমার মধ্যে, আপনি "/sys/dev," "/sys/firmware," এবং "/sys/kernel" এর মতো জিনিস দেখতে পাবেন। এটি "/dev" ডিরেক্টরিতে অত্যন্ত গুরুত্বপূর্ণ হার্ডওয়্যার ডিভাইসগুলির একটি চেরি-পিকিং৷
/tmp
"/tmp" ডিরেক্টরিটি আপনার সিস্টেমে বিভিন্ন প্রোগ্রাম থেকে অস্থায়ী তথ্য সংরক্ষণ করতে ব্যবহৃত হয়। রিবুট ছাড়াই মাত্র কয়েক দিনের জন্য এখানে তথ্য সংরক্ষণ করা হয়, তাই অন্যান্য সঞ্চয়স্থান খালি রাখার জন্য এটি তথ্যের উপর অস্থায়ী লক। "/tmp" ডিরেক্টরির সাথে বেশির ভাগ ব্যবহারকারীদেরই কিছু করতে হবে না৷
৷/usr
"/usr" ডিরেক্টরিটি আরও বেশি বেশি সাধারণভাবে স্পর্শ করা হচ্ছে। এখন, "/bin," "/lib," এবং "/sbin" এর মতো ডিরেক্টরিগুলি "/usr"-এ সেই ডিরেক্টরিগুলির সংস্করণগুলির সাথে লিঙ্ক করা হয়েছে৷ আমি যখন ll
চালাব তখন আপনি দেখতে পাবেন আমার সিস্টেমে কমান্ড।
এগুলি নরম লিঙ্ক, তাই সেগুলি লিঙ্কমুক্ত করা যেতে পারে, তবে সিস্টেমটি "/usr/bin" বা "/usr/sbin" ডিরেক্টরিগুলি থেকে পড়া শেষ করে, "/bin" বা "/sbin" ডিরেক্টরিগুলির পরিবর্তে। এই সব করা হয় বর্তমান শ্রেণিবিন্যাসকে সরল করার জন্য এবং এই প্রোগ্রামগুলি খুঁজে পাওয়া সহজ করতে। এটি একটি চমৎকার মানের-জীবনের জিনিস যা লিনাক্স থেকে ইউনিক্সে স্যুইচ করা বা বিভিন্ন বাইনারিতে নির্দিষ্ট অবস্থান না থাকা সহজ করে তোলে।
/var
"/ var" ডিরেক্টরিটি "/tmp" ডিরেক্টরির অনুরূপ, তবে এটি একটু বেশি সময় ধরে ডেটা রাখে। এটি লগ ফাইল এবং KVM ভার্চুয়াল মেশিন ডিস্ক ইমেজের মতো জিনিসও সংরক্ষণ করে।
আপনি দেখতে পাচ্ছেন, লিনাক্স ভার্চুয়াল ডিরেক্টরি সিস্টেমটি আপনার সিস্টেম ব্যবহার করবে এমন ফাইলগুলিকে সংগঠিত করার জন্য এবং আপনার সিস্টেমকে পরিচালনা ও পরিচালনা করা সহজ করে তোলার উদ্দেশ্যে। স্পষ্টতই, আপনি এই সিস্টেমের সাথে আপনি যা চান তা করতে পারেন (এটি লিনাক্সের সৌন্দর্য), তবে জিনিসগুলিকে যেভাবে আছে সেভাবে ছেড়ে দেওয়া বেশিরভাগ ডেস্কটপ ব্যবহারকারীদের জন্য সূক্ষ্ম এবং ড্যান্ডি। 2021 সালে লিনাক্সের জন্য কোন ফাইলসিস্টেমটি সবচেয়ে ভালো তাও আপনি খুঁজে বের করতে চাইতে পারেন।