PDA

View Full Version : ساختار فایلها در لینوکس



amir_masoud
یک شنبه 21 دی 1382, 23:49 عصر
با سلام خد مت تمامی دوستان

من می خواستم از تمامی دوستان عزیز لینوکس کار خواهش کنم که یه توضیحاتی در مورد آدرس دهی فایلها در لینوکس توضیح بدن یا اگه مقاله ای یا سایتی سراغ دارن بگن .
چون تا اونجایی که من متوجه شدم این ساختار کلآ با ویندوز متفاوته
با تشکر

hosseinzadeh
دوشنبه 22 دی 1382, 19:28 عصر
ساختار فایلها در لینوکس:
مقدمه:
یکی از تفاوتهای اصلی لینوکس با سیستم عامل ویندوز ساختار فایلها و دایرکتوری ها است.در ویندوز شما دایرکتوری ها را به صورت C:\home مشخص می کردید.اما در لینوکس این قضیه کاملا متفاوت است.
به هر حال در لینوکس تمام فایلها در / ذخیره می شوند که اصطلاحا به آن root یا ریشه می گویند.در root تنها دایرکتوری وجود دارد و معمولا هیچ فایلی در آن وجود ندارد.اسم دایرکتوری ها در لینوکس پس از / می آید.مثلا

/home
در هر دایرکتوری می تواند دایرکتوری دیگری نیز وجود داشته باشد.مثلا :

/home/user
در ابتدای مطلب،قبل از معرفی ساختار دایرکتوریها،توضیحات مختصری در مورد پیمایش دایرکتوریها می دهم.
برای حرکت در دایرکتوری ها ،ابتدا باید بفهمیم در کجا هستیم.به دایرکتوری که در آن قرار داریم Parent Dircetory می گویند.برای تشخیص آن از این دستور استفاده می کنیم.

/#>pwd
فرض می کنیم خروجی آن به این صورت است:
/
در این صورت می فهمیم که در root هستیم.برای رفتن به دایرکتوریهای دیگر ،اول باید بدانیم که چه دایرکتوریهایی در دایرکتوری جاری وجود دارند.
برای این کار از دستور زیر استفاده می کنیم:

/#>ls
خروجی آن به این صورت می شود:

cdrom home mnt root setup tmp bin dev lib usr etc proc sbin var
اینها در حقیقت دایرکتوریهای اصلی هستند.که بعدا توضیح خواهم داد.
خب،برای تغییر یک دایرکتوری و رفتن به دایرکتوری دیگر از دستور معروف cd استفاده می کنیم .به این صورت:

/#>cd home
در این حالت اعلان سیستم به این صورت می شود:
/home#>
در اینجا می توانیم برای کسب اطلاع از دایرکتوریهای موجود باز هم از دستور ls استفاده کنیم/
در در آخر برای حرکت به دایرکتوری بالا از .. استفاده می کنیم.فقط گذاشتن فاصله بین cd و دو نقطه را فراموش نکنید.

/home/user#>cd ..
/home#>
دایرکتوریهای اصلی در لینوکس:

/:قبلا توضیح داده شده.

<span dir=ltr>/bin </span>: دستورات مهمی که که قابل دسترسی برای همه است.مانند
date,reboot,shutdown,pwd,cd …

<span dir=ltr>/boot </span>:فایلهای مورد نیاز بوت لودر ها در آن ذخیره می شوند.

<span dir=ltr>/dev </span>:فایلهای مربوط به قطعات مختلف ..از بخشهای مختلفی تشکیل شده که برای مثال چند نمونه را ذکر می کنم.

Floppy devices&#58;/dev/fd*
SCSI-Disks&#58; /dev/sd*
IDE hard disks&#58; /dev/hd*
Consols&#58; /dev/tty*
Serial Ports&#58; /dev/ttyS*
(به جای ستاره عدد قرار می گیرد)

<span dir=ltr>/etc </span>: در اینجا تنظیمات اصلی را پیدا می کنید. مانند فایل پسورد یا لیست کامل کاربران.تمام فایلها به صورت ASCII می باشد و با یک ویرایشگر ساده قابل ویرایش اند.
<span dir=ltr>/home </span>: در اینجا فایلهای کاربران عادی نگه داری می شوند.هر کاربر یک نام عبور یک کلمه رمز و یک دایرکتوری دارد که دایرکتوری کاربر در اینجاست.مثلا فایلهای amir در :
/home/amir
نگه داری می شوند.

<span dir=ltr>/lib </span>: در اینجا کتابخانه های مشترک(shared libraries) نگه داری می شود.

<span dir=ltr>/mnt </span>:سی دی و فلاپی و پارتیشنهای ویندوز در اینجا mount می شود.مثلا:
/mnt/win_c

<span dir=ltr>/opt</span>:برنامه های اختیاری (optional) در اینجا قرار دارند.(مثل NetScape)

<span dir=ltr>/proc</span>:در اینجا یک فایل سیستم مجازی وجود دارد.هر پروسه ای که در لینوکس اجرا می شود به صورت یک دایرکتوری در اینجا اضافه می شوند و همچنین شماره آنها (PID) نیز قابل دسترسی است.این دایرکتوری هیچ اجازه ای برای نوشتن نمی خواهد.

<span dir=ltr>/root</span>:فایلهای کاربر root در اینجا ذخیره می شود.دلیل عدم وجود آن در /home این است که در مواقع اضطراری راحتتر قابل دسترسی است.

<span dir=ltr>/sbin</span>:مانند bin حاوی فایلهای اجرایی مهم است با این تفاوت که این فایلها توسط خود لینوکس یا کاربر root قابل اجراست.و کابران عادی به آن دسترسی ندارند.

<span dir=ltr>/tmp</span>:فایلهای موقتی در اینجا کپی می شوند.معمولا همه برنامه ها در هنگام اجرا فایلهایی را به اینجا می فرستند.مثلا شما با vim در حال ویرایش فایلی هستید.برنامه یک نسخه از آن را به اینجا می فرستد هنگامی که کار شما تمام شد و اجازه نوشتن را در محل ویرایش داشتید،vim آن را به اینجا کپی می کند.توصیه می شود در پارتیشن یا هارد جداگانه ای ایجاد شود تا دچار کمبود فضا نشوید.می توانید در صورت نیاز آن را در رم کپی کنید.

<span dir=ltr>/usr</span>: دایرکتوری بسیار کارآمد که در آن فایلها و برنامه های کاربران نصب می شود.در قسمت bin فایلهای اجرایی وجود دارند و اصولا تفاوتی نمی کند که فایلی در bin باشد با /usr/bin.در دایرکتوری های man و info فایلهای راهنما وجود دارند و در دایرکتوری games بازیها.تمام برنامه ها با تایپ نامشان در خط فرمان فراخوانی می شوند.

<span dir=ltr>/var</span>: در لینوکس تفاوت زیادی بین دایرکتوری ها از نظر اجازه دسترسی وجود دارد.فایلهایی که توسط تمام کاربران قابل خواندن است در /usr و فایلهایی که توسط تمام کاربران قابل نوشتن است در اینجا ذخیره می شوند.مثل ای میلها یا پروسه های بوت.

خب ، اینها تنها مقدمات بود.امید وارم که استفاده کافی را برده باشید.
شاد و خرم باشید

amir_masoud
دوشنبه 22 دی 1382, 23:06 عصر
جناب آقای حسین زاده از جواب سریع و کاملتون ممنون

اگه یه مقاله کاملتر سراغ دارید بفرمایید .

با تشکر

hosseinzadeh
سه شنبه 23 دی 1382, 16:01 عصر
در گوگل سرچ کنید:linux directory structure
:wink:
یک نمونه خوب:
http://www.dynamic-apps.com/linux_directories.jsp

amir_masoud
پنج شنبه 25 دی 1382, 12:16 عصر
ممنون جناب اقای حسین زاده :wink: :wink: :)

hosseinzadeh
جمعه 26 دی 1382, 11:42 صبح
با سلام
یک کتاب خوب در این مورد وجود دارد:
http://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/Linux-Filesystem-Hierarchy.pdf

amir_masoud
جمعه 26 دی 1382, 20:39 عصر
ممنون :) :)

ماکوآنلاین
شنبه 09 مهر 1384, 00:04 صبح
ممنون



_______________________
http://makouonline.com