درود
بسیاری از دوستان با ساختار فایل در لینوکس آشنایی زیادی ندارند و همین مقوله از معظلات در سد راه بسیاری
از کاربران مبتدی در گامهای اولیه مهاجرت از ویندوز به لینوکس می باشد و بنده تصمیم گرفتم که با بیانی
بسیار روانتر برای دوستان و اعضای محترم ادوایزر آموزش دهم .
مسیر فایلهای ( / )
مسیر اصلی یا ریشه (root) ، نقطه آغاز برای ساختار دایرکتوری در لینوکس است.
و جالب است که بدانید که سیستم عامل لینوکس از آن ( / ) شروع میشود و هر فایل و دایرکتوری دیگر ،
بخشی از این مسیر و یا زیردایرکتوری ریشه یا همان 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 برای سوار کردن دستگاهها الزامی نیست و در توزیعهای مختلف ، محلهای
مختلفی برای این دستگاهها در نظر گرفته شده است .
بهعنوان مثال در اوبونتو Ubuntu ، کلیه دستگاه های حافظه به بخش /media منتقل میشوند .
مسیر ( /proc )
این مسیر، مسیر مخصوصی است. ذکر این نکته ضروری است که این دایرکتوری یک دایرکتوری مجازی است،
چون بههیچ عنوان وجود فیزیکی ندارد و در این دایرکتوری اطلاعاتی چون خود هسته وجود دارد .
همچنین تعداد زیادی مدخل شماره دار وجود دارد که نشان دهنده پروسس های در حال اجرای داخل سیستم است
مداخلی که نام دارند برای پیکربندی تنظیمات فعلی سیستم استفاده میشوند و میتوانید بسیاری از این مدخل ها را
باز کنید و داخل آنها را مشاهده کنید .
مسیر /lost+found
وقتی سیستم لینوکس بر اثر یک حادثه ناگهانی از دسترس خارج میشوند، بعد از بازگشت به حالت عادی ،
میتوان فایل هایی که در حال اجرا از بین رفته اند را در این دایرکتوری ها پیدا کرد.
منبع تیم امنیتی ادوایزر
بسیاری از دوستان با ساختار فایل در لینوکس آشنایی زیادی ندارند و همین مقوله از معظلات در سد راه بسیاری
از کاربران مبتدی در گامهای اولیه مهاجرت از ویندوز به لینوکس می باشد و بنده تصمیم گرفتم که با بیانی
بسیار روانتر برای دوستان و اعضای محترم ادوایزر آموزش دهم .
مسیر فایلهای ( / )
مسیر اصلی یا ریشه (root) ، نقطه آغاز برای ساختار دایرکتوری در لینوکس است.
و جالب است که بدانید که سیستم عامل لینوکس از آن ( / ) شروع میشود و هر فایل و دایرکتوری دیگر ،
بخشی از این مسیر و یا زیردایرکتوری ریشه یا همان 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 برای سوار کردن دستگاهها الزامی نیست و در توزیعهای مختلف ، محلهای
مختلفی برای این دستگاهها در نظر گرفته شده است .
بهعنوان مثال در اوبونتو Ubuntu ، کلیه دستگاه های حافظه به بخش /media منتقل میشوند .
مسیر ( /proc )
این مسیر، مسیر مخصوصی است. ذکر این نکته ضروری است که این دایرکتوری یک دایرکتوری مجازی است،
چون بههیچ عنوان وجود فیزیکی ندارد و در این دایرکتوری اطلاعاتی چون خود هسته وجود دارد .
همچنین تعداد زیادی مدخل شماره دار وجود دارد که نشان دهنده پروسس های در حال اجرای داخل سیستم است
مداخلی که نام دارند برای پیکربندی تنظیمات فعلی سیستم استفاده میشوند و میتوانید بسیاری از این مدخل ها را
باز کنید و داخل آنها را مشاهده کنید .
مسیر /lost+found
وقتی سیستم لینوکس بر اثر یک حادثه ناگهانی از دسترس خارج میشوند، بعد از بازگشت به حالت عادی ،
میتوان فایل هایی که در حال اجرا از بین رفته اند را در این دایرکتوری ها پیدا کرد.
منبع تیم امنیتی ادوایزر