آشنایی با ساختار فایل‌ها در لینوكس

پنجشنبه 29 بهمن 1388   12:20 ق.ظ


نوع مطلب : آموزش ،لینوکس ،


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

مسیر (/)

مسیر اصلی یا ریشه (root)، نقطه آغازین ساختار دایرکتوری در لینوکس است. اینجا همان جایی است که سیستم لینوکس از آن شروع می‌شود. هر فایل و دایرکتوری دیگر، بخشی از این مسیر و یا زیردایرکتوری آن به‌حساب می‌آید. از آن‌جایی که به‌طور پیش‌فرض تنها زیردایرکتوری در مسیر ریشه وجود دارد، بهترین کار این است که هیچ فایلی را به‌صورت تنها در این مسیر قرار ندهید.

ذکر این نکته ضروری است که نباید دایرکتوری ریشه را با کاربر root اشتباه گرفت.


مسیر (boot/)

همان‌طور که از نام آن بر می‌آید، اینجا محلی است که لینوکس اطلاعات مرتبط با بوت شدن را در آن ذخیره می‌کند. برای مثال، اطلاعات هسته لینوکس در این مسیر قرار می‌گیرد. اگر محتویات مسیر /boot را با دستور ls ببینید، به یک فایل vmlinuz برمی‌خورید. این فایل همان فایل هسته لینوکس است.

مسیر (etc/)

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

* مسیر ( etc/inittab/ ): فایل متنی است که نشان می‌دهد چه پروسه‌‌هایی در زمان بالا آمدن سیستم شروع به‌کار کرده‌اند. برای مثال، می‌توانید تعیین کنید که آیا سیستم X Window در هنگام بوت شدن به‌صورت خودکار فعال شود یا خیر؟ حتی می‌توانید تعیین کنید که وقتی یک کاربر کلیدهای ترکیبی Ctrl+Alt+Del را زد، چه اتفاقی بیافتد.

* مسیر ( etc/fstab/ ): این فایل شامل اطلاعات مرتبط با سیستم‌های فایل مختلف موجود در سیستم است. در این فایل همچنین اطلاعاتی همچون دستگاه‌های شناخته شده، فرمت آنها، سی‌دی‌رام، فلاپی و ... نیز وجود دارد.

* مسیر (etc/passwd/): فایلی است که اطلاعات مرتبط با هر کاربر را در اختیار دارد. در این فایل مشخص می‌شود که چه کاربرانی تعریف شده‌اند.

مسیر ( bin/ )  و ( usr/bin/ )

در این دو دایرکتوری برنامه‌های زیادی قرار می‌گیرند (نام این دایرکتوری هم گویا است). دایرکتوری   bin/  شامل مهم‌ترین برنامه‌هایی است که سیستم برای اجرا به‌آن نیاز دارد، این برنامه‌ها شامل پوسته‌ها، ls، grep‌ و... است. دایرکوتری usr/bin/  شامل برنامه‌هایی است که در فضای کاربری سیستم نصب شده‌اند. هر چند که گاهی اوقات نمی‌توان تفاوتی میان bin/و /usr/bin قائل شد و معمولا تفاوتی نمی‌کند که فایل‌های خود را در چه مسیری بگذارید.

مسیر (usr/ )

این شاخه شامل نرم‌افزارهای کاربردی کاربر و آیتم‌های دیگری چون سورس برنامه‌ها، تصاویر، پرونده‌ها و یا فایل‌های تنظیمات برنامه‌های کاربر است. /usr بزرگترین دایرکتوری یک سیستم لینوکسی است و گاهی اوقات مدیران سیستم این مسیر را روی یک پارتیشن دیگر قرار می‌دهند. برخی از زیرشاخه‌های مهم این دایرکتوری به‌صورت زیر است:

* مسیر (usr/doc/ ): سندهای برنامه‌ها که در فرمت‌های مختلفی وجود دارد.

* مسیر (usr/share/ ): فایل‌های پیکربندی و گرافیکی بیشتر نرم‌افزارهای کاربردی.

* مسیر (usr/src/ ): کدهای منبع نرم‌افزار سیستمی که شامل هسته لینوکس می‌شود.

* مسیر (usr/include/ ): فایل‌های سرآیند‌ (Header) که برای کامپایلر C استفاده می‌شود. این فایل‌های سرآیند ساختارها و ثابت‌هایی که برای ساختن بیشتر برنامه‌های استاندارد لازم است را در خود دارند.

* مسیر (usr/X11R6/ ): سیستم پنجره X و تمام ملزومات آن در این شاخه قرار می‌گیرد. تمامی زیرشاخه‌های این دایرکتوری هم شامل نرم‌افزارهای جانبی سیستم X می‌شوند، همچنین سندهای راهنما، فایل‌های سرآیند، فایل‌های تنظیمات،‌ آیکون‌ها، صداها و دیگر چیزهای لازم برای برنامه‌های گرافیکی در این دایرکتوری قرار می‌گیرند.

* مسیر ( usr/local/ ): در این مسیر نرم‌افزارها و فایل‌های دیگر را روی سیستم محلی نصب می‌کنند. اگر ماشین عضوی از شبکه باشد، در این صورت دایرکتوری usr/  می‌تواند از نظر فیزیکی روی ماشین دیگری غیر از ماشین لینوکس کاربر قرار داشته باشد، اما دایرکتوری usr/local/ تنها شامل چیزهایی می‌شود که قرار نیست روی ماشین‌های زیادی استفاده شوند و برای استفاده محلی در نظر گرفته شده‌اند.

در بیشتر مواقع، ماشین به‌طریقی که توضیح داده شد، عضوی از شبکه نیست، اما این نشان نمی‌دهد که دایرکتوری /usr/local بی‌استفاده باشد. اگر برنامه‌ای پیدا کردید که به‌صورت رسمی عضوی از توزیع شما نبود، در این صورت آن را در شاخه usr/local/  نصب کنید. برای مثال اگر نرم‌افزار به‌صورت عادی به شاخه usr/bin/ می‌رود اما بخشی از توزیع شما نیست، باید آن را در مسیر usr/local/bin/ نصب کنید. وقتی برنامه‌های خودتان را از برنامه‌های سیستمی دور نگاه می‌دارید، در این صورت از عدم تطابق‌ها و گیج‌شدن‌ها جلوگیری خواهید کرد، همچنین همه چیز مرتب و تمیز باقی خواهد ماند.

مسیر (lib/ )

کتابخانه‌های اشتراکی که به‌صورت دینامیک لینک شده‌اند. گفتنی است که کتاب‌خانه‌های اشتراکی در ویندوز با نامه dll معروف هستند.

مسیر (home/ )

اینجا همانجایی است که کاربران فایل‌های شخصی خود را نگاه می‌دارند. هر کاربری یک دایرکوتری به‌نام خود در فولدر home/  دارد و به‌صورت پیش‌فرض، کاربران عادی تنها در این محل است که می‌توانند فایل‌های خود را بنویسند و برای ایجاد فایل در دیگر مسیرها دسترسی ندارند.

می‌توانید سیستم لینوکس را طوری پیکربندی کنید که کاربران عادی حتی از محتویات فایل‌های دیگر دایرکتوری‌ها حتی با خبر هم نشوند. در این صورت می‌توانید برای افراد مختلف یک سیستم حریم خصوصی بیشتری ایجاد کنید.

مسیر (root/ )

شاخه خانه (home) حساب کاربری ریشه (root) با دیگر مسیرها تفاوت دارد و در این مسیر ذخیره می‌شود. این مسیر را با دایرکتوری ریشه اشتباه نگیرید.

مسیر ( var/ )

این مسیر شامل داده‌های متغیرهایی است که به‌طور دائمی در حال تغییر نیسنتد. برخی از زیرشاخه‌های مهم این مسیر به‌صورت زیر است:

* مسیر (var/log/ ): دایرکتوری است که گزارش‌های سیستمی را در خود ذخیره می‌کند. این گزارش‌ها در هنگام اجرای سیستم به‌روز می‌شوند و می‌توانید برای سلامت کارکرد برنامه‌های مختلف سیستمی از آنها استفاده کنید. اگر برنامه‌ای در سیستم شما به‌صورت ناگهانی از کار افتاد، فایل‌های گزارش بهترین محل برای یافتن علت این کار هستند.

* مسیر (var/mail/ ): نامه‌های ورودی و خروجی در این دایرکتوری قرار داده می‌شوند.

* مسیر (var/spool/ ): این دایرکتوری فایل‌هایی که برای پردازش در صف قرار گرفته‌اند را در خود نگه می‌دارید. معروف‌ترین مثال اسپول، کاربرد آن در پرینت کردن است.

مسیر ( tmp/ )

برنامه‌ها می‌توانند داده‌های موقتی خود را در این دایرکتوری قرار دهند.

مسیر (dev/ )

دستگاه‌های موجود در سیستم لینوکسی در این بخش قرار می‌گیرند. به‌یاد داشته باشید که در لینوکس با فایل‌ها هم مشابه فایل‌ها رفتار می‌شود. برای مثال، dev/fd0/  اولین درایو فلاپی شماست،  dev/cdrom/  درایو سی‌دی شما و dev/hda/  اولین دیسک سخت IDE شماست و به‌همین ترتیب. تمام دستگاه‌هایی که توسط هسته لینوکس قابل شناسایی است در مسیر dev/ ذخیره می‌شود، به‌همین دلیل، این دایرکتوری معمولا بسیار شلوغ است.

مسیر (  mnt/ )

این دایرکتوری برای نقاط سوارشدن (Mount Point) استفاده می‌شود. به‌عنوان مثال، دیسک سخت، سی‌دی‌رام، فلاپی‌ها و ... در صورتی که برای استفاده آماده شوند، باید ابتدا سوار(mount) شوند، و مسیری که برای دسترسی درایوهای سوارشده قرار می‌گیرد، نقطه سوارشدن است. نقاط سوارشدن دستگاه‌های مختلف به‌صورت زیردایرکتوری در این دایرکتوری قرار می‌گیرند.

استفاده از دایرکتوری   mnt/  برای سوار کردن دستگاه‌ها الزامی نیست و در توزیع‌های مختلف، محل‌های مختلفی برای این دستگاه‌ها در نظر گرفته شده است. به‌عنوان مثال در اوبونتو، کلیه دستگاه‌های حافظه به بخش media/ منتقل می‌شوند.

مسیر ( proc/ )

این مسیر، مسیر مخصوصی است. ذکر این نکته ضروری است که این دایرکتوری یک دایرکتوری مجازی است، چون به‌هیچ عنوان وجود فیزیکی ندارد. در این دایرکتوری اطلاعاتی چون خود هسته وجود دارد. همچنین تعداد زیادی مدخل شماره‌دار وجود دارد که نشان‌دهنده پروسس‌های در حال اجرای داخل سیستم است. مداخلی که نام دارند برای پیکربندی تنظیمات فعلی سیستم استفاده می‌شوند. می‌توانید بسیاری از این مدخل‌ها را باز کرده و داخل آنها را مشاهده کنید.

مسیر lost+found/

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



نوشته شده توسط : jybenz jybenz

 

نمایش لینکهای شما در لینک من
ساخت وبلاگ در میهن بلاگ

شبکه اجتماعی فارسی کلوب | اخبار کامپیوتر، فناوری اطلاعات و سلامتی مجله علم و فن | ساخت وبلاگ صوتی صدالاگ | سوال و جواب و پاسخ | رسانه فروردین، تبلیغات اینترنتی، رپرتاژ، بنر، سئو