درود
بسیاری از دوستان با ساختار فایل در لینوکس آشنایی زیادی ندارند و همین مقوله از معظلات در سد راه بسیاری
از کاربران مبتدی در گامهای اولیه مهاجرت از ویندوز به لینوکس می باشد و بنده تصمیم گرفتم که با بیانی
بسیار روانتر برای دوستان و اعضای محترم ادوایزر آموزش دهم .
مسیر فایلهای ( / )
مسیر اصلی یا ریشه (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
وقتی سیستم لینوکس بر اثر یک حادثه ناگهانی از دسترس خارج میشوند، بعد از بازگشت به حالت عادی ،
میتوان فایل هایی که در حال اجرا از بین رفته اند را در این دایرکتوری ها پیدا کرد.
منبع تیم امنیتی ادوایزر
امیدوارم مفید بوده باشه .