آموزش علوم کامپیوتر

سیستم فایل (File System): درک ساختار پوشه‌ها و دایرکتوری‌ها.

سیستم فایل در لینوکس، سنگ‌بنای درک این سیستم عامل است. برخلاف ویندوز که درایوهای جداگانه (مانند C:, D:) دارد، لینوکس همه چیز را در یک ساختار درختی واحد سازماندهی می‌کند. این ساختار از یک نقطه شروع واحد به نام دایرکتوری ریشه (root directory) که با علامت / نمایش داده می‌شود، آغاز می‌شود. تمام فایل‌ها و دایرکتوری‌ها، از جمله دستگاه‌های سخت‌افزاری، در زیر این ریشه قرار می‌گیرند.

این فلسفه، مدیریت فایل‌ها و دسترسی به آن‌ها را به شکلی یکپارچه و منطقی امکان‌پذیر می‌سازد و به همین دلیل درک آن برای هر کاربری ضروری است.

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

دایرکتوری‌های اصلی و کاربرد جامع آن‌ها

در اینجا به معرفی مهم‌ترین دایرکتوری‌های سطح بالا و کاربرد دقیق‌تر آن‌ها می‌پردازیم:

  • (Root)/: این دایرکتوری بالاترین سطح در سلسله‌مراتب سیستم فایل است. همه چیز از اینجا آغاز می‌شود. هیچ‌گاه نباید بدون آگاهی کامل، فایل یا دایرکتوری در این مکان ایجاد کنید.
  • bin (Binaries)/: این دایرکتوری شامل فایل‌های اجرایی (دستورات) ضروری و اساسی است که هم برای کاربران عادی و هم برای مدیر سیستم در دسترس هستند. دستوراتی مانند ls, cat, mv و cp که برای کارهای روزمره استفاده می‌شوند، در اینجا قرار دارند. این دستورات برای راه‌اندازی و عملکرد اولیه سیستم حیاتی هستند.
  • etc (Et cetera)/: این دایرکتوری قلب پیکربندی سیستم است. تمام فایل‌های متنی که تنظیمات سیستم، سرویس‌ها و برنامه‌های نصب‌شده را مدیریت می‌کنند، در اینجا قرار می‌گیرند. تغییر یک فایل در etc/ می‌تواند رفتار کل سیستم یا یک برنامه خاص را تغییر دهد. برای مثال، فایل passwd که اطلاعات کاربران را نگهداری می‌کند و فایل hosts که DNS محلی را مدیریت می‌کند، در این دایرکتوری قرار دارند.
  • home/: دایرکتوری شخصی کاربران سیستم. هر کاربر یک دایرکتوری اختصاصی در اینجا دارد که با نام کاربری‌اش (مثلاً home/username/) مشخص می‌شود. تمام فایل‌های شخصی، تنظیمات برنامه‌ها و دایرکتوری‌های کاربر مانند Documents, Downloads و Pictures در این مکان قرار دارند.
  • opt (Optional)/: این دایرکتوری برای نگهداری نرم‌افزارهای شخص ثالث (third-party software) است که معمولاً خارج از سیستم مدیریت پکیج نصب می‌شوند. این رویکرد به جلوگیری از تداخل برنامه‌های اضافی با فایل‌های اصلی سیستم کمک می‌کند.
  • var (Variable)/: این دایرکتوری برای فایل‌هایی است که به طور متغیر و مداوم توسط سیستم یا برنامه‌ها نوشته یا تغییر داده می‌شوند. مثال‌های کلیدی شامل:
    • var/log/: محل نگهداری فایل‌های log یا گزارش‌های سیستم. این فایل‌ها برای عیب‌یابی و نظارت بر عملکرد سیستم ضروری هستند.
    • var/www/: در سیستم‌های وب‌سرور، این دایرکتوری معمولاً محل نگهداری فایل‌های وب‌سایت‌ها است.
  • tmp (Temporary)/: این دایرکتوری برای فایل‌های موقت است که برنامه‌ها برای ذخیره داده‌های کوتاه‌مدت از آن استفاده می‌کنند. هر کسی می‌تواند در این دایرکتوری فایل ایجاد کند، اما سیستم عامل محتوای آن را در هنگام راه‌اندازی مجدد پاک می‌کند.
  • dev (Devices)/: این دایرکتوری شامل فایل‌های ویژه‌ای است که سخت‌افزار سیستم را نشان می‌دهند. هر دستگاهی مانند هارد دیسک، وب‌کم یا پورت USB، یک فایل متناظر در اینجا دارد. با دسترسی به این فایل‌ها، می‌توان با سخت‌افزار ارتباط برقرار کرد.

چرا این ساختار مهم است؟

درک این ساختار به شما کمک می‌کند تا:

  1. مشکلات را عیب‌یابی کنید: می‌دانید که برای یافتن گزارش‌های سیستم باید به var/log/ بروید.
  2. تنظیمات را تغییر دهید: می‌دانید که فایل‌های پیکربندی در etc/ قرار دارند.
  3. فایل‌ها را سازماندهی کنید: می‌توانید فایل‌های شخصی خود را در home/ نگهداری کرده و از فایل‌های سیستمی دور باشید.

این ساختار منطقی، مدیریت سیستم لینوکس را برای کاربران و مدیران سیستم بسیار کارآمدتر می‌کند.

پیمایش به بالا