آشنایی کامل با ساختار فایل سیستم لینوکس

ساختار فایل سیستم لینوکس

برای مدیریت و نظارت بر فرآیندها و سرویس‌ها در لینوکس آشنایی با ساختار فایل سیستم لینوکس یکی از پیشنیازهای اصلی است که در اینجا ما قصد داریم ساختار فایل سیستم لینوکس را همراه با مثال‌های کاربردی به شما ارائه دهیم. در این بخش، هر دایرکتوری نه تنها معرفی می‌شود، بلکه مثال‌های کاربردی از موارد استفاده آن نیز بیان می‌شود.

معرفی ساختار فایل سیستم لینوکس

دایرکتوری یا مسیر / (Root)

اولین دایرکتوری در ساختار فایل سیستم لینوکس ” /” یا ریشه است که همه چیز از آن آغاز می‌شود. هر فایل و دایرکتوری دیگر در ساختار فایل سیستم لینوکس زیرمجموعه‌ای از این ریشه است.
برای تغییرات گسترده در سیستم، مثل mount کردن پارتیشن‌ها یا مدیریت سرویس‌ها، لازم است دستورات از سطح ریشه یا همان “/” اجرا شوند.
مثال:

cd /
ls

این دستور شما را به دایرکتوری ریشه می‌برد و محتوای آن را نمایش می‌دهد.

دایرکتوری یا مسیر /bin

دایرکتوری /bin در ساختار فایل سیستم لینوکس شامل باینری‌های ضروری و ابزارهای سیستمی است که برای کارکرد اصلی سیستم نیاز هستند.
ابزارهای ضروری مثل ls (لیست دایرکتوری‌ها)، cp (کپی فایل‌ها)، و mv (انتقال فایل‌ها) در این دایرکتوری قرار دارند.
مثال:

/bin/ls /bin

لیست تمام باینری‌های موجود در دایرکتوری /bin را نشان می‌دهد.

دایرکتوری یا مسیر /boot

این دایرکتوری حاوی فایل‌های مربوط به راه‌اندازی سیستم عامل مثل کرنل (Kernel) و فایل‌های پیکربندی Grub (بوت‌لودر).
وقتی سیستم راه‌اندازی می‌شود، کرنل از این دایرکتوری بارگذاری می‌شود.
مثال:

ls /boot

این دستور محتوای دایرکتوری /boot، شامل کرنل سیستم و فایل‌های مرتبط با بوت را نمایش می‌دهد.

دایرکتوری یا مسیر /dev

دایرکتوری /dev در ساختار فایل سیستم لینوکس شامل فایل‌های دستگاه‌ها (Device Files) است. این فایل‌ها به دستگاه‌های فیزیکی و مجازی سیستم اشاره دارند.
وقتی یک دیسک یا USB به سیستم وصل می‌شود، آن دیسک یا USB در /dev ظاهر می‌شود.
مثال:

ls /dev

این دستور لیست دستگاه‌های متصل به سیستم، مثل دیسک‌ها و پورت‌های USB را نمایش می‌دهد. مثلاً دیسک‌ها به شکل /dev/sda ظاهر می‌شوند.

دایرکتوری یا مسیر /etc

دایرکتوری /etc شامل فایل‌های پیکربندی سیستم است. اکثر تنظیمات سیستمی و سرویس‌ها در این دایرکتوری ذخیره می‌شوند.
تنظیمات شبکه، کاربران، و بسیاری از سرویس‌ها از این دایرکتوری مدیریت می‌شود.
مثالا برای نمایش تنظیمات شبکه میتوانید از دستور زیر استفاده کنید.

cat /etc/network/interface

نمایش تنظیمات کاربران سیستم:

cat /etc/passwd

دایرکتوری یا مسیر /home

مسیر /home دایرکتوری کاربران عادی است. هر کاربر یک دایرکتوری مجزا در /home دارد. فایل‌های شخصی کاربران و تنظیمات محلی آن‌ها در این دایرکتوری ذخیره می‌شود.
مثالا برای مشاهده محتوای دایرکتوری خانگی یک کاربر از دستور زیر میتوانید استفاده کنید:

ls /home/username

یا برای تغییر مسیر به دایرکتوری خانگی یک کاربر میتوانید از دستور زیر استفاده کنید:

cd /home/username

دایرکتوری یا مسیر /lib

دایرکتوری یا مسیر /lib شامل کتابخانه‌های سیستمی ضروری برای اجرای برنامه‌ها و باینری‌های موجود در /bin و /sbin. برای اجرای باینری‌ها و برنامه‌ها، سیستم به کتابخانه‌های موجود در این دایرکتوری نیاز دارد.
مثال:

ls /lib

دایرکتوری یا مسیر /mnt و /media

این دایرکتوری‌ها در ساختار فایل سیستم لینوکس برای mount کردن سیستم‌های فایل خارجی مثل دیسک‌های خارجی یا USBها استفاده می‌شوند. برای دسترسی به محتویات یک پارتیشن خارجی یا USB از این دایرکتوری‌ها استفاده می‌شود.
مثالا برای Mount کردن یک پارتیشن میتوانید از دستور زیر استفاده کنید:

sudo mount /dev/sdb1 /mnt

یا برای مشاهده فایل‌های mount شده میتوانید از دستور زیر استفاده کنید:

ls /mnt

مسیر یا دایرکتوری /opt

از این دایرکتوری برای نصب نرم‌افزارهای اختیاری و تجاری استفاده می‌شود. این نرم‌افزارها به صورت پیش‌فرض بخشی از سیستم نیستند.
وقتی نرم‌افزارهایی مثل برنامه‌های شخص ثالث یا بسته‌های اختصاصی را نصب می‌کنید، معمولاً در این دایرکتوری قرار می‌گیرند.
مثال:

ls /opt

دایرکتوری یا مسیر /proc

این دایرکتوری مجازی است و شامل اطلاعات سیستمی و فرآیندهای جاری است. برای دسترسی به اطلاعات سیستمی، مثل حافظه، CPU و فرآیندهای فعال از این دایرکتوری استفاده می‌شود.
مثالا برای مشاهده اطلاعات CPU میتوانید از دستور زیر استفاده کنید:

cat /proc/cpuinfo

یا برای مشاهده اطلاعات حافظه میتوانید از دستور زیر استفاده کنید:

cat /proc/meminfo

دایرکتوری یا مسیر /root

دایرکتوری یا مسیر /root دایرکتوری خانگی کاربر root است. این دایرکتوری هم مشابه /home برای کاربران عادی، /root به عنوان دایرکتوری خانه‌ی مدیر سیستم (root) استفاده می‌شود.
مثال:

ls /root

دایرکتوری یا مسیر /sbin

این دایرکتوری شامل باینری‌های سیستمی ضروری برای مدیریت و پیکربندی سیستم، مثل shutdown، reboot. برنامه‌های مدیریتی که توسط کاربر root اجرا می‌شوند، در این دایرکتوری قرار دارند.
مثالا برای ری‌استارت کردن سیستم میتوانید از دستور زیر استفاده کنید:

/sbin/reboot

دایرکتوری یا مسیر /srv

دایرکتوری یا مسیر /srv در ساختار فایل سیستم لینوکس محلی برای داده‌های مربوط به سرویس‌های شبکه‌ای، مثل وب سرورها یا FTP. داده‌های سرویس‌هایی مانند وب‌سرور آپاچی ممکن است در این دایرکتوری قرار گیرد.
مثال:

ls /srv

دایرکتوری یا مسیر /tmp

این یک دایرکتوری موقتی است که برای ذخیره فایل‌های موقتی استفاده می‌شود. این فایل‌ها معمولاً پس از راه‌اندازی مجدد سیستم حذف می‌شوند. برنامه‌ها از این دایرکتوری برای ذخیره فایل‌های موقت خود استفاده می‌کنند.
برای مشاهده محتوایات آن میتوانید از دستور زیر استفاده کنید:

ls /tmp

دایرکتوری یا مسیر /usr

این دایرکتوری یکی از بزرگترین دایرکتوری‌های سیستم است که شامل برنامه‌ها و ابزارهای مورد استفاده همه کاربران است. نرم‌افزارها و فایل‌هایی که برای همه کاربران سیستم در دسترس هستند، در اینجا قرار می‌گیرند.
برای مشاهده محتویات این دایرکتوری میتوانید از دستور زیر استفاده کنید:

ls /usr

دایرکتوری یا مسیر /var

دایرکتوری یا مسیر /var شامل فایل‌هایی است که مرتباً تغییر می‌کنند، مثل فایل‌های لاگ، کش، و ایمیل‌ها. فایل‌های لاگ و سایر فایل‌های پویا و متغیر در این دایرکتوری قرار دارند.
مثالا برای مشاهده لاگ‌ها میتوانید از دستور زیر استفاده کنید:

ls /var/log

این ساختار فایل سیستم لینوکس، سیستمی منظم و کارآمد برای مدیریت فایل‌ها، برنامه‌ها، و تنظیمات سیستم ارائه می‌دهد. هر دایرکتوری نقش خاصی در عملکرد سیستم دارد و دانستن محل و کاربرد آن‌ها به شما امکان مدیریت بهتر سیستم و رفع مشکلات احتمالی را می‌دهد.