FHS در لینوکس
ساختار دایرکتوری استاندارد
فایل سیستم در GNU/Linux بر اساس یک ساختار سلسله مراتبی سازماندهی شده است.
اگر شما با محیط و سیستم عامل ویندوز شرکت مایکروسافت کار کرده باشد و بخواهید با لینوکس کار کنید شاید اولین تفاوتی که در استفاده از این دو سیستم عامل متوجه شوید
همین متفاوت بودن ساختار File System است.
بر خلاف سیستم عامل ویندوز که برای هر پارتیشن یک سلسله مراتب با Hierarchy متفاوت در نظر می گیرد در سیستم عامل های تابع GNU/Linux همگی پارتیشن ها در نهایت از یک ساختار سلسله مراتبی واحد پیروی می کنند.
بالاترین سطح در فایل سیستم لینوکس دایرکتوری ریشه یا root directory می باشد که به شکل یک علامت اسلش یا / شناسایی می شود
.سایر دایرکتوری های موجود در لینوکس زیرمجموعه این پوشه می باشند.
استانداردِ سلسلهمراتب سیستم فایل (FHS)، ساختار و محتوای دایرکتوری در سیستمعاملهای شبهیونیکسی را معین میکند.
برای هر فردی که دانش صحیح از سیستم عامل لینوکس و سیستم فایل لینوکس ندارد ،استفاده از فایلها و محل آنها ممکن است دشوار باشد و یک کاربر تازه وارد ممکن است خراب کاری کند.
این مقاله با هدف ارائه اطلاعات در مورد سیستم فایل لینوکس، برخی از فایل های مهم، قابلیت استفاده و محل آن است.
ساختار دایرکتوری استاندارد توزیع های لینوکس به صورت زیر است.
هر یک از فهرست بالا (که در وهله اول یک فایل است) حاوی اطلاعات مهمی است که برای بوت شدن به درایور دستگاه، پرونده های پیکربندی و غیره مورد نیاز است.
فلش کارت های fhs موجود است می توانید به آن دسترسی داشته باشین
به طور خلاصه، هدف هر دایرکتوری را نشان میدهد
bin/ :
همه برنامه های باینری اجرایی (فایل) مورد نیاز در هنگام بوت شدن، تعمیر، فایل های مورد نیاز برای اجرا به حالت تک کاربر و سایر دستورات مهم ، مانند: cat، du، df، tar، rpm، wc، history ، و غیره.
boot/ :
فایلهای مهمی را در طول فرایند بوت شدن، از جمله هسته لینوکس نگهداری می کند.
dev/ :
شامل فایل های دستگاه، برای تمام دستگاه های سخت افزاری مانند cdrom، cpu و غیره است
etc/ :
شامل فایل های پیکربندی برنامه، راه اندازی، خاموش کردن، شروع، توقف اسکریپت برای هر برنامه فردی.
home/ :
دایرکتوری خانگی کاربران. هر بار که یک کاربر جدید ایجاد می شود، یک پوشه به نام کاربر در پوشه خانه ایجاد می شود که حاوی دایرکتوری های دیگر مانند دسکتاپ، دانلودها، اسناد و … است.
lib/ :
دایرکتوری Lib شامل ماژول های هسته ای و تصاویر کتابخانه ای مشترک مورد نیاز برای راه اندازی سیستم و اجرای دستورات در سیستم فایل ریشه است.
lost + found/ :
این دایرکتوری در هنگام نصب لینوکس نصب شده است،برای بازیابی فایلهایی که ممکن است به علت خاموش بودن غیر منتظره خراب شود ، مفید است.
media/ :
دایرکتوری موقت برای دستگاه های با قابلیت جابجایی مانند media / cdrom ایجاد می شود.
mnt/ :
دایرکتوری موقت برای نصب و بارگذاری سیستم فایل.
opt/ :
اختیاری و شامل نرم افزارهای شخص ثالث ، نرم افزارهایی که جدا از کرنل نصب میشود. VIZ، جاوا و غیره
proc/ :
سیستم مجازی و شبه فایل که حاوی اطلاعاتی در مورد فرآیند در حال اجرا با Process-id ، pid است.
root/ :
این دایرکتوری خانه کاربر root است و هرگز نباید با ‘/’ اشتباه گرفته شود.
sbin/ :
حاوی برنامه های اجرایی باینری، مورد نیاز توسط مدیر سیستم یا روت، برای تعمیر و نگهداری. viz. iptables fdisk ifconfig swapon راه اندازی مجدد و غیره
tmp/ :
دایرکتوری موقت سیستم، قابل دسترسی توسط همه ی کاربران. فایل های موقت را تا بوت بعدی سیستم ذخیره می کند.
usr/ :
حاوی دو شاخه اجرایی، مستندات، کد منبع، کتابخانه ها برای برنامه سطح دوم است.
var/ :
مخفف متغیر است انتظار می رود که محتویات این فایل رشد کند. این پوشه حاوی پروندههای ورودی، قفل، کانولا، پست و temp است
بررسی فایل مهم، موقعیت آنها و قابلیت استفاده آنها
لینوکس یک سیستم پیچیده است که نیاز به یک راه پیچیده تر و کارآمد برای شروع، متوقف کردن، نگهداری و راه اندازی مجدد سیستم بر خلاف ویندوز دارد.
فایل های پیکربندی، فایل های دوتایی، صفحات man، فایل های اطلاعات و غیره برای هر پردازش در لینوکس وجود دارد و به خوبی تعریف شده است.
boot / vmlinuz/ :
فایل کرنل لینوکس.
dev / hda/ :
فایل دستگاه برای اولین IDE HDD (هارد دیسک)
dev / hdc/ :
معمولا فایل معمولی برای IDE Cdrom
dev / null/ :
دستگاه pseudo است که وجود ندارد در برخی موارد خروج زباله بهdev / null/ هدایت می شود، به طوری که برای همیشه از بین می رود.
etc / bashrc/ :
حاوی پیش فرض های سیستم و نامهای مستعار استفاده شده توسط شل bash.
etc / crontab/ :
یک اسکریپت پوسته برای اجرای دستورات مشخص در یک زمان از پیش تعریف شده.
etc / exports/ :
اطلاعات سیستم فایل موجود در شبکه.
etc / fstab/ :
اطلاعات دیسک درایو و نقطه اتصال آنها، برای بارگذاری دایمی دیسک ها استفاده می شود.
etc / group/ :
اطلاعات امنیتی هر گروه.
etc/grub.conf/ :
فایل پیکربندی boot loader گراب.
/etc/init.d/ :
اسکریپت سرویس start up سیستم.
etc/lilo.conf/ :
پرونده پیکربندی bootloader لای لو.
etc / hosts/ :
اطلاعات آدرس آی پی و نام میزبان مربوطه مانند فایل lmhost در ویندوز.
etc/hosts.allow/ :
لیستی از میزبان ها مجاز به دسترسی به خدمات در دستگاه محلی .
etc/host.deny/ :
لیستی از میزبانهایی کهمجاز دسترسی به خدمات در دستگاه محلی نیستند.
etc / inittab/ :
روند INIT (فرایند آغازین سیستم)و تعامل آنها در سطوح مختلف اجرا.
etc / issue/ :
اجازه می دهد تا پیام های ” پیش از ورود”یا pre-login را ویرایش کنید.
etc/modules.conf/ :
فایل های پیکربندی برای ماژول های سیستم.
etc / motd or /motd/ :
مخفف Message Of The Day یا پیام روز است، کاربران پیام را پس از ورود به سیستم مشاهده می کنند.
etc / mtab/ :
در حال حاضر اطلاعات فایل سیستم های بارگذاری شده را نشان میدهد.
etc / passwd/ :
حاوی رمز عبور از کاربران سیستم در یک فایل shadow ، یک پیاده سازی امنیتی است.
etc / printcap/ :
اطلاعات چاپگر
etc / profile/ :
مقادیر پیش فرض شل بش( Bash shell defaults)
/etc/profile.d/ :
اسکریپت های کاربردی، اجرا شده پس از ورود.
/etc/rc.d/ :
اطلاعات در مورد اسکریپت های هر یک از سطوح مختلف سیستم (runlevel) .
/etc/rc.d/init.d/ :
اسکریپت های آغازین هر یک از سطوح مختلف سیستم(runlevel).
etc/resolv.conf/ :
سرورهای نام دامنه (DNS) که توسط سیستم استفاده می شود.
/etc / skel/ :
این دایرکتوری حاوی زیر دایرکتوری های مشخص و از پیش تعریف شده برای کاربران جدید است.
هر بار که یک کاربر جدید ایجاد میشود محتویات این دایرکتوری عینا در home آن یوزر کپی میشود
etc / termcap/ :
یک فایل ASCII که رفتار ترمینال، کنسول و چاپگر را تعریف می کند.
etc / X11/ :
فایل های پیکربندی سیستم X-window.
usr / bin/ :
دستورات اجرایی کاربر نرمال.
usr / bin / X11/ :
driver های پنجره X سیستم.
usr / include/ :
شامل فایل هایی است که توسط برنامه به زبان C استفاده می شود.
usr / share/ :
دایرکتوری های به اشتراک گذاشته شده از فایل های man ، فایل های اطلاعات و غیره
usr / lib/ :
فایلهای کتابخانه ای که در طول تدوین برنامه مورد نیاز هستند.
usr / sbin/ :
دستورات سوپر کاربر برای مدیریت سیستم.
proc / cpuinfo/ :
اطلاعات CPU
proc / filesystems/ :
اطلاعات سیستم فایل هایی که در حال حاضر ، در حال استفاده است
proc / interrupts/ :
اطلاعاتی در مورد وقفه های فعلی که در حال حاضر مورد استفاده قرار می گیرند.
proc / ioports/ :
شامل تمام آدرس های ورودی / خروجی مورد استفاده توسط دستگاه ها در سرور است.
proc / meminfo/ :
اطلاعات استفاده از حافظه.
proc / modules/ :
ماژول هایی که در هسته بارگذاری شده اند .
proc / mount/ :
اطلاعات فایل سیستم های بارگذاری شده
proc / stat/ :
آمار دقیقی از سیستم کنونی.
proc / swaps/ :
اطلاعات حافظه swap.
var / log / lastlog/ :
گزارش آخرین ورود و یا بوت سیستم.
var / log / messages/ :
پیام هایی که توسط سرویس syslog هنگام بوت شدن تولید می شود .
var / log / wtmp/ :
لیست زمان ورود و مدت زمانی که هر کاربر در سیستم بوده را نشان میدهد