Product SiteDocumentation Site

B.2. سازماندهی سلسله‌مراتب فایل‌سیستم

B.2.1. دایرکتوری ریشه

سیستم دبیان بر اساس استاندارد سلسله‌مراتب فایل‌سیستم یا FHS سازماندهی شده است. این استاندارد هدف از هر دایرکتوری را تعریف می‌کند. برای نمونه، دایرکتوری‌های اصلی سیستم به صورت زیر تعریف می‌شوند:
  • /bin/: برنامه‌های پایه;
  • /boot/: فایل‌های کرنل و سایر فایل‌هایی که برای راه‌اندازی اولیه سیستم لازم هستند;
  • /dev/: فایل‌های مربوط به دستگاه‌ها;
  • /etc/: فایل‌های پیکربندی و تنظیمات;
  • /home/: فایل‌های شخصی کاربران;
  • /lib/: کتابخانه‌های پایه;
  • /media/*: نقاط اتصالی برای دستگاه‌هایی با قابلیت جابجایی (سی‌دی‌رام، یو‌اس‌بی و ...);
  • /mnt/: نقطه اتصال موقتی;
  • /opt/: نرم‌افزاهای ثالثی که توسط شرکت‌های دیگر توسعه یافته‌اند;
  • /root/: فایل‌های شخصی مدیر اولیه سیستم;
  • /run/: volatile runtime data that does not persist across reboots;
  • /sbin/: برنامه‌های سیستمی;
  • /srv/: داده‌هایی که توسط سرورهای موجود روی سیستم استفاده می‌شوند;
  • /tmp/: فایل‌های موقتی؛ این دایرکتوری معمولا در زمان راه‌اندازی سیستم خالی است;
  • /usr/: برنامه‌های کاربردی؛ این دایرکتوری معمولا به زیرمجموعه‌های دیگری مانند bin و lib و sbin تقسیم می‌شود که بر اساس همان منطق دایرکتوری ریشه عمل می‌کنند. به علاوه، /usr/share/ شامل داده‌های جدای از معماری رایانه است. /usr/local به عنوان مکانی جهت نصب برنامه‌های توسط مدیر سیستم به صورت دستی استفاده می‌شود که با مدیر برنامه روی سییستم هیچ دخالتی ندارد.;
  • /var/: داده‌های متغیری که توسط دیمن‌ها مدیریت می‌شوند مانند فایل‌های لاگ، صف‌، اسپول مانند ایمیل و پرینتر و ...
  • /proc/ و /sys/ مختص به کرنل لینوکس هستند (و نه قسمتی از FHS). این فایل‌ها توسط کرنل استفاده می‌شوند تا داده‌های فضای کاربر مورد دسترسی قرار گیرند ( قسمت B.3.4, “فضای کاربری” و قسمت B.5, “فضای کاربری” را مشاهده کنید).
Note that many modern distributions, Debian included, are shipping /bin, /sbin and /lib as symlinks to the corresponding directories below /usr so that all programs and libraries are available in a single tree. It makes it easier to protect the integrity of the system files, and to share those system files among multiple containers, etc.

B.2.2. دایرکتوری خانه کاربر

محتوای داخل دایرکتوری خانه کاربر شامل استاندارد خاصی نمی‌شود، اما برخی قواعد حائز اهمیت وجود دارند. یکی از آن‌ها این است که برای دسترسی به این مسیر می‌توان از (“~”) استفاده کرد. این عمل بسیار مفید است چرا که مفسرهای دستور به صورت خودکار این کاراکتر را بار دایرکتوری صحیح آن تعویض می‌کنند (معمولا /home/user/).
بر اساس یک رسم قدیمی، فایل‌های پیکربندی برنامه‌ها معمولاً به صورت مستقیم در دایرکتوری خانه کاربر ذخیره می‌شوند، اما نامشان با یک نقطه آغاز می‌گردد (برای نمونه، نرم‌افزار ایمیل‌خوان mutt تنظیماتش را درون ~/.muttrc نگاه می‌دارد). نکته اینکه فایل‌هایی که با نقطه آغاز می‌شوند یه صورت پیش‌فرض مخفی هستند؛ و دستور ls تنها در صورتی آن‌ها را نمایش می‌دهد که از گزینه -a استفاده شود و مدیر فایل‌های گرافیکی نیز تنظیماتی برای نمایش آن‌ها دارند.
Some programs also use multiple configuration files organized in one directory (for instance, ~/.ssh/). Some applications also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
These configuration files stored directly in a user's home directory, often collectively referred to as dotfiles, have long proliferated to the point that these directories can be quite cluttered with them. Fortunately, an effort led collectively under the FreeDesktop.org umbrella has resulted in the “XDG Base Directory Specification”, a convention that aims at cleaning up these files and directories. This specification states that configuration files should be stored under ~/.config/, cache files under ~/.cache/, and application data files under ~/.local/ (or subdirectories thereof). This convention is slowly gaining traction, and several applications (especially graphical ones) have started following it.
Graphical desktops usually display the contents of the ~/Desktop/ directory (or whatever the appropriate translation is for systems not configured in English) on the desktop (i.e. what is visible on screen once all applications are closed or iconized).
در نهایت، سیستم ایمیل گاهی اوقات پیام‌های دریافتی را داخل دایرکتوری ~/Mail/ نگاه می‌دارد.