ساختار فولدرهای لینوکس
ساختار فولدرهای لینوکس
وقتی برای اولین بار سیستمعامل لینوکس را نصب میکنید و وارد بخش مدیریت فایلها میشوید، احتمالاً با یک شوک بزرگ روبرو خواهید شد: “درایو C من کجاست؟ درایو D کجاست؟ این همه پوشه با اسمهای عجیب و غریب مثل etc و var اینجا چه کار میکنند؟”
این سردرگمی کاملاً طبیعی است. معماری فایلها در لینوکس زمین تا آسمان با ویندوز فرق دارد. اگر میخواهید در لینوکس حرفهای شوید، قدم اول این است که بدانید فایلهایتان کجا ذخیره میشوند. درفلسک دولوپر قصد داریم به زبان بسیار ساده بررسی کنیم که دایرکتوری در لینوکس چیست، چه تفاوتی با ویندوز دارد و هر کدام از پوشههای اصلی سیستم چه وظیفهای بر عهده دارند.
دایرکتوری در لینوکس چیست؟
برای درک بهتر، بیایید از پایه شروع کنیم: دایرکتوری (Directory) همان فولدر (Folder) است. در دنیای کامپیوتر، اصطلاح “دایرکتوری” یک واژه فنیتر و قدیمیتر برای اشاره به پوشههاست. دایرکتوری در واقع یک ظرف یا محفظه است که برای دستهبندی و نگهداری فایلها (یا دایرکتوریهای دیگر) استفاده میشود تا اطلاعات در سیستمعامل نظم داشته باشند. پس هر زمان در آموزشهای لینوکسی کلمه “دایرکتوری در لینوکس” را شنیدید، بدانید که منظور همان فولدرهای لینوکس است که در محیط گرافیکی با آیکون یک پوشه زرد رنگ (یا رنگهای دیگر) نمایش داده میشود.
تفاوت اساسی ساختار دایرکتوری در لینوکس با ویندوز
بزرگترین تفاوت لینوکس و ویندوز در نحوه نگاه آنها به هارد دیسک و سختافزار است:
۱. در ویندوز: درایوها پادشاهی میکنند
در ویندوز، بالاترین سطح دستهبندی فایلها درایوها (Drives) هستند. شما درایو C: دارید که ویندوز در آن نصب است، درایو D: برای بازیها و درایو E: برای فیلمها. اگر یک فلش مموری به کامپیوتر وصل کنید، ویندوز یک حرف جدید (مثل F:) به آن اختصاص میدهد. هر درایو ساختار درختی و فولدرهای مستقل خودش را دارد.
۲. در لینوکس: همهچیز یک درخت واحد است (Root)
لینوکس مفهومی به نام درایو C یا D ندارد. در لینوکس، همهچیز یک فایل است و تمام سیستم از یک نقطه واحد به نام رشه یا Root (با علامت /) آغاز میشود. تصور کنید سیستمعامل لینوکس یک درخت غولپیکر است. علامت / تنه اصلی این درخت است و تمام هارد دیسکها، فلشمموریها، برنامهها و فایلهای شخصی شما، شاخهها و برگهای این درخت هستند که همگی به تنه اصلی متصل شدهاند.
اگر یک هارد دوم یا فلش مموری به لینوکس وصل کنید، به جای اینکه درایو جدیدی ساخته شود، آن هارد به عنوان یک فولدر در زیرمجموعه تنه اصلی (/) نمایش داده میشود!
معرفی کامل دایرکتوریهای اصلی (Root) در لینوکس
حالا که تفاوتها را درک کردیم، بیایید وارد تنه اصلی درخت لینوکس (دایرکتوری /) شویم و ببینیم مهمترین فولدرهای لینوکس که در آنجا قرار دارند چه وظیفهای دارند. لینوکس برای نامگذاری این پوشهها از یک استاندارد جهانی به نام FHS (Filesystem Hierarchy Standard) استفاده میکند.
۱. دایرکتوری /bin (مخفف Binaries)
معادل در ویندوز: پوشه System32 (تا حدودی) این دایرکتوری حاوی فایلهای اجرایی و دستورات پایهای سیستم است که همه کاربران به آن دسترسی دارند. وقتی در ترمینال دستوراتی مثل ls (برای لیست کردن فایلها) یا cp (برای کپی کردن) را تایپ میکنید، سیستم در واقع برنامههای کوچکی را از داخل این پوشه اجرا میکند.
۲. دایرکتوری /sbin (مخفف System Binaries)
این پوشه دقیقاً شبیه /bin است، با این تفاوت که برنامهها و دستورات داخل آن مخصوص مدیر سیستم (Root user) است. ابزارهای خطرناک و مهمی که برای تغییرات شبکه، پارتیشنبندی و مدیریت سختافزار استفاده میشوند در اینجا قرار دارند (مثل دستورات fdisk یا iptables).
۳. دایرکتوری /boot (محل استارت سیستم)
همانطور که از نامش پیداست، هر فایلی که لینوکس برای روشن شدن و بالا آمدن (Boot شدن) نیاز دارد در این پوشه است. هسته اصلی لینوکس (Kernel) و منوی انتخاب سیستمعامل (Grub) در این دایرکتوری قرار دارند. مبتدیان هرگز نباید فایلهای این پوشه را دستکاری کنند!
۴. دایرکتوری /dev (مخفف Devices)
مفهوم کلیدی لینوکس: در لینوکس سختافزارها به عنوان یک “فایل” شناخته میشوند! این پوشه حاوی فایلهای خاصی است که نماینده سختافزارهای شما هستند. موس شما، کیبورد، وبکم، و هارد دیسکهای شما همگی به شکل یک فایل متنی در این دایرکتوری حضور دارند.
۵. دایرکتوری /etc (تنظیمات سیستم)
معادل در ویندوز: Registry و Control Panel دایرکتوری /etc (که به آن اِتسی هم میگویند) مغز متفکر پیکربندی و تنظیمات سیستم است. تنظیمات شبکه، پسورد کاربران، کانفیگ وبسرورها و تقریباً تنظیمات هر برنامهای که روی لینوکس نصب میکنید به صورت فایلهای متنی ساده در این پوشه ذخیره میشود.
۶. دایرکتوری /home (خانه کاربران)
معادل در ویندوز: C:\Users اینجا امنترین و آشناترین جا برای شماست! هر کاربری که در سیستم ساخته میشود، یک پوشه اختصاصی در /home دارد. فایلهای شخصی شما، دانلودها، عکسها، موسیقی و اسناد (Documents) همگی در اینجا ذخیره میشوند. شما به عنوان یک کاربر عادی، آزادی عمل کامل دارید تا در این پوشه هر فایلی بسازید یا پاک کنید.
۷. دایرکتوری /root (خانه مدیر سیستم)
این پوشه را با دایرکتوری اصلی که فقط یک اسلش (/) است اشتباه نگیرید! دایرکتوری /root در واقع همان پوشه /home است، اما فقط مخصوص کاربرِ مدیرِ کل (سوپر ادمین). کاربران عادی حتی اجازه دیدن داخل این پوشه را هم ندارند.
۸. دایرکتوری /lib (مخفف Libraries)
معادل در ویندوز: فایلهای .dll برنامههای نصب شده در پوشههای bin/ و sbin/ برای اجرا شدن به یکسری کدهای مشترک نیاز دارند. این کدهای مشترک و پیشنیازها در پوشه /lib ذخیره میشوند تا برنامهها بتوانند به صورت مشترک از آنها استفاده کنند.
۹. دایرکتوری /media و /mnt (محل اتصال حافظههای خارجی)
زمانی که یک فلش مموری، دیویدی رام یا یک هارد اکسترنال را به سیستم متصل میکنید، لینوکس آنها را در پوشه /media باز میکند. پوشه /mnt نیز کارکرد مشابهی دارد اما بیشتر توسط مدیران شبکه برای اتصال (Mount کردن) هارد دیسکهای دائمی شبکه یا پارتیشنهای ثانویه استفاده میشود.
۱۰. دایرکتوری /opt (مخفف Optional)
معادل در ویندوز: C:\Program Files برنامههای جانبی، نرمافزارهای پولی یا ابزارهایی که توسط خود شما به صورت دستی دانلود و نصب میشوند (مثل مرورگر گوگل کروم یا نرمافزارهای دیتابیس) معمولاً در این دایرکتوری نصب میشوند تا از فایلهای هسته سیستم جدا باشند.
۱۱. دایرکتوری /tmp (مخفف Temporary)
این پوشه سطل زباله موقت سیستم است! برنامهها هنگام کار کردن، فایلهای موقتی میسازند که فقط برای چند دقیقه به آنها نیاز دارند و در پوشه /tmp ذخیره میکنند. نکته مهم: با هر بار ریاستارت کردن لینوکس، محتویات این پوشه به صورت خودکار کاملاً پاک میشود.
۱۲. دایرکتوری /usr (مخفف User Programs)
این دایرکتوری یکی از پرحجمترین بخشهای لینوکس است. برنامههایی که کاربران از طریق مخازن لینوکس (مثل apt در اوبونتو) نصب میکنند در این بخش قرار میگیرند. این پوشه در درون خود دارای دایرکتوریهای bin و lib اختصاصی است که مربوط به نرمافزارهای کاربری هستند، نه برنامههای پایه سیستم.
۱۳. دایرکتوری /var (مخفف Variable)
کلمه Variable به معنای متغیر است. این یعنی پوشه /var محل نگهداری فایلهایی است که حجم و محتوای آنها به صورت مداوم در حال تغییر و رشد است. لاگها و خطاهای سیستم (/var/log)، دیتابیسها (/var/lib/mysql) و فایلهای وبسایت شما (/var/www) همگی در این دایرکتوری حساس ذخیره میشوند.
سخن پایانی
درک اینکه دایرکتوری در لینوکس چیست و شناخت ساختار فولدرهای لینوکس، کلید اصلی تبدیل شدن به یک ادمین قدرتمند لینوکس است. دیگر نیازی نیست نگران نبودِ درایو C باشید؛ معماری یکپارچه لینوکس بسیار امنتر، منظمتر و منطقیتر از ویندوز است. برای تمرین، ترمینال خود را باز کنید و با دستور cd / به ریشه سیستم بروید و سپس با دستور ls پوشههایی که امروز یاد گرفتید را با چشمان خودتان ببینید!