Linux
Linux
فایل سیستمها نحوه دسته بندي و سازماندهی فایلهـا را بصـورت یـک سـاختمان
سلسـله مراتبی و منطقـی بـر روي دیسـک مـدیریت میکننـد کـه شـامل
دایرکتوریهـا ،لینکهـا ،فایلهـا و اقسام دیگر اطالعات نیز میشود .پس از فرمت
کردن پارتیشنها و نصب سیستم عامل لینوکس بـر روي هـارد دیسـک سـاختار
درختی فایل سیستم براي پارتیشنهایی از هارد دیسک که در اختیار سیستم
عامل لینـوکس هستند ایجاد میشود .سیستم عامل لینوکس حداقل یک فایل
سیستم روي هـارد دیسـک دارد .ایـن فایـل سیسـتم rootنام دارد و با /نمایش
داده میشود .این فایل سیستم شامل برنامـه هـا و دایرکتوریهـایی است کـه
توسـط خـود سیسـتم عامـل ایجـاد میشـود و جهـت مـدیریت سیسـتم عامـل
مـورد استفاده قرار میگیرد .ساختار درختی فایل سیستم براي پارتیشن
)(/rootبه شکل زیر است.
بخشهاي مختلف درخت سيستم فایل
اکنون به بررسی تک تک شاخه هاي سیستم فایل می پـردازیم .توجـه داشـته باشـید کـه دسترسی به اکثر این شاخه ها فقط توسط کاربر rootامکان پذیر است.
شاخه : binدر این شاخه ،دستورات سیستم عامـل کـه بـراي تمـام کـاربران قابـل دسـتیابی هسـتند و برخی دستورات مدیریتی سیستم قرار میگیرند.
شاخه :bootاین شاخه که می تواند در یک پارتیشن جداگانه بوده و به پوشه bootمتصـل شـده باشـد ،حاوي برنامه راه انداز بوت سیستم عامل میباشد.
شاخه : devدر سیستم عامل لینوکس عالوه بر داده هایی کـه در حافظـه هـاي جـانبی ذخیـره میشـوند کلیه داده هایی که به قسمتهاي مختلـف کـامپیوتر مثـل
خروجـی هـا ارسـال میشـوند و یـا از ورودیها دریافت میگردند و در داخل کامپیوتر منتقل میشوند در قالب فایل هستند چه ایـن داده ها سیگنالهاي کنترلی باشند چه
اطالعات واقعی .این شاخه محل قرارگیري نقطه دسترسی به ابزارهـاي سـخت افـزاري اسـت .مـثال تمـام پورتها ،پارتیشن ها و ....براي مثال fd/devنشان دهنده
فالپی درایو سیستم است .به عبارت دیگر کلیه فایلهایی که داده هاي نقل و انتقال یافته بین قسمتهاي مختلـف را نگـه میدارند در این شاخه قرار دارند .برنامه هاي
کاربردي از این فایلهاي دسترسی براي خوانـدن و نوشتن داده ها بر روي ابزار مورد نظرشان استفاده میکنند .این برنامه هـا ایـن فایلهـا را بـاز کرده و در آن می نویسند
شاخه : homeدر این شاخه دایرکتوري هاي خانگی کاربران سیستم و اطالعات آنها قرار می گیرد .به ازاي هر کاربر یک فولدر جداگانه وجود دارد .بهتر است ایـن
شـاخه در یـک پارتیشـن جداگانـه قـرار گیرد ،این کار حفاظت از داده هاي کاربران را باالتر خواهد برد .ضمنا در صورت نیاز بـه فرمـت و نصب مجدد سیستم ،اطالعات
کاربران دست نخورده باقی مانده و پس از نصب مجـدد ،کلیـه تنظیمات شخصی و اطالعات آنها بدون تغییر باقی خواهند ماند.
شاخه libا :ین شاخه همانطور که از نام آن پیداست ،محـل قرارگیـري فایـل هـاي کتابخانـه برنامـه هـا است .این کتابخانه ها توسط برنامه هاي کاربردي و ابزارهاي
شاخه :mntایـن شـاخه معمـوال داراي زیرشـاخه هـایی ماننـد cdromو floppyبـوده و محـل اتصـال (( mountدرایوهاي فالپی و ROM -CDمی باشد
.همچنین پارتیشن ها دیگـر دیسـک سـخت که غیر لینوکسی است را نیز می توانید در این شاخه متصل نمایید ( mount (.البته اجباري به این کار وجود ندارد .مثال
در سیستم هاي مبتنی بر دبیان ،درایوهاي فالپی و ROM-CDدر شـاخه هـاي Floppy ،Rom-CDکـه در زیـر ریشـه قـرار دارنـد ،متصـل مـی شـوند .اتصـال و
برداشتن اتصال پارتیشن ها و درایوها با استفاده ازدستور mountصورت می گیرد .اشتراکات شبکه را نیز میتوانید در این شاخه متصل نمایید.
شاخه :procاین شاخه یک سیستم فایل مجازي است که برخی اطالعات مربوط به سیسـتم و هسـته از آن قابـل دسـتیابی مـی باشـد مـثال فایـل versionدر ایـن
شـاخه حـاوي اطالعـات هسـته سیستم عامل مانند نسخه آن و ...می باشد.
شاخه : sbinدستورات و برنامه هاي مدیریتی سیستم در ایـن شـاخه قـرار میگیرنـد کـه مخصـوص کـاربر Rootاست.
شاخه :tmpمحل قرارگیري برخی فایلهاي موقتی برنامه هاي کاربردي است.
شاخه : usrبسیاري از برنامه هاي کاربردي در این شاخه نصب میشوند .مثال window Xدر این شاخه قـرار دارد .همچنـین برخـی دسـتورات و دسـتورات مـدیریتی
شاخه :varاین شاخه که معموال در کامپیوترهاي سرویس دهنده در یک پارتیشن جداگانه قرار میگیـرد ،مخصوص برنامه هاي سرویس دهنـده اي ماننـد وب FTP ،و
بانکهـاي اطالعـاتی اسـت .مـثال فایل هاي مربوط به یک وب سایت می توانند در www/varقرار گیرند .به دلیل اینکه در برخی از حمالت ،DOSدیسک سخت
سیستم با فایل هاي آشغال پر می شود ،این شاخه را در یک پارتیشن جداگانه قرار می دهند که در صورت قرارگیري تحت حمله و پرشدن احتمالی دیسک سخت ،کل
سیستم عامل دچـار وقفـه نگـردد و آسـیب بـه همـان قسمت محدود شود .تمامی شاخه هایی که در باال توضیح داده شد ،می توانند در پارتیشـن هـاي جداگانـه قـرار
قبل از اینکه آیکونها و پنجره ها روي صـفحه کامپیوترهـا پدیـدار شـوند و محیطهـاي گرافیکـی شکل بگیرد ،کاربران براي کـار کـردن بـا کامپیوترهـا
بایـد فرمانهـایی را تایـپ میکردنـد .در حـال حاضر هم با اینکه کارکردن با ابزارهاي گرافیکی آسان تر از کار کـردن بـا محـیط متنـی اسـت ،ولی
بیشتر کاربران حرفـه اي لینـوکس تـرجیح میدهنـد تـا بجـاي ابزارهـاي گرافیکـی از محـیط متنی استفاده کنند .زیرا براي انجام بسیاري از کارها
مانند پیکربندي هـاي سیسـتم ،محـیط متنی بسیار قدرتمند تر از ابزارهاي گرافیکی است .حتی برخـی کـاربران قـدیمی یـونیکس و لینوکس
بندرت از محیطهاي گرافیکی براي انجام کارهایشان استفاده میکنند .براي کار در محیط متنی در سیستمهاي مبتنی بر یونیکس که لینوکس هم یکی
از آنهاسـت از پوسته فرمان استفده میشود .پوسته فرمان (( Shell Commandمفسري است کـه وظیفـه مـدیریت فرمانهـا را بـه عهـده دارد و
فرامین صادرشده از طرف کاربر را به سیستم منتقل می کند و پس از تفسیر و دریافت پاسخ ،آن را به کاربر نمایش می دهد .پوسته فرمان راهی براي
اجراکردن برنامه ها ،کارکردن با فایلهـا ،کامپایـل کـردن برنامـه هـا و مـدیریت کـامپیوتر ایجـاد میکنـد .پوسـته فرمـان ابـزاري قدرتمند ،پیچیده و تا
عامل ارسال کنید .نخستین چیزي که در پوسته فرمان مشاهده می کنید ،اعالن فرمان است که بصورت عالمت $میباشد .
اعالن فرمان براي کاربر ریشه بصـورت #اسـت .در بیشـتر سیسـتمهاي لینـوکس قبل از اعالن فرمان نام کاربري شما alanو نام کامپیوترتـان memphisو
[alan@memphis home]$
امکان نمایش کاراکترهاي مورد نیازتان بجاي کاراکترهاي فوق وجود دارد ..محیط پوسته فرمان امکانات زیادي دارد .شکل کلی یک دستور در لینوکس به شکل زیر است:
پارامترها در اینجا منظور کاراکترهایی هستند که با قـرار دادن آنهـا بعـد از عالمـت – ،میتـوان فرمان مورد نظر را به شکل خاصی مورد استفاده قرار داد .هنگام تایپ یک
فرمـان مـی توانیـد پارامترهاي متعدد آنرا کنار هم تایپ کنید .آرگومانها در حقیقت موارد مورد نیاز براي اجراي یک فرمان است که از فرمانی به فرمان دیگر متفاوت
است .مثال در فرمانی آرگومان میتواند مسیر یک دایرکتوري باشد ; .در انتهاي فرمان به این منظور استفاده میشود که بتوان چند دستور را در یک خط وارد کـرد و با زدن
مثال فرمـان Moreیـک فایـل را بـه شـکل صـفحه اي تبـدیل میکنـد و نمـایش میدهـد .اگـر بـا استفاده از | دستور Moreرا به دستوري که خروجی اش
یک فایـل اسـت ملحـق کنـیم باعـث میشود فایل مورد نظر به شکل صفحه اي نمایش داده شود.
متغيرهاي محيطی
متغیرهاي محیطی براي ذخیره اطالعاتی مانند محل فایلهاي پیکربندي ،صندوقهاي پستی و مسیر دایر کتوري ها بکار میروند .همچنین این متغیرها داراي مقـادیري
بـراي شـکل اعـالن فرمان ،اندازه تاریخچه و نوع سیستم عامل نیزهستند .تعدادي از این متغیرها عبارتند از :
در صـورتی کـه در حالـت گرافیکـی هسـتید ،یـک پنجـره ترمینـال بـاز کنیـد .بـراي ایـن کـار بـه .بروید .Application/System Tools/Terminalدر اینجا با
دریافت راهنما
-1دستور : manدر قسمت آرگومـان فرمـان manنـام دسـتوري کـه میخـواهیم راجـع بـه آن راهنمایی بگیریم وارد میکنیم .نحوه کار فرمان و پارامترها و
-2دستور : whatisبعد از کلمه whatisفرمان مورد نظر را تایپ کرده و دستور را اجرا میکنـیم .اطالعات مختصري در مورد اینکه فرمان مورد نظر چه عملی انجام
-٣استفاده از: --helpبعد از تایپ دستور در خط فرمان --helpرا وارد کرده پس از اجـراي آن مختصري راجع به کـاري کـه دسـتور انجـام میدهـد نوشـته
وسـپس پارامترهـاي دسـتور را بـه همراه کاري که انجام میدهد نشان میدهد.
دستور : pwdدر لینوکس مسیر جاري به مسـیري گفتـه میشـود کـه کـاربر در آن لحظـه در آن قـرار دارد .هنگامی که وارد سیستم می شوید ،لینوکس شما را در
دایرکتوري خانگی تان قرار میدهـد .هنگامی که دستور باز کردن یا ذخیره کردن فایلی را صـادر میکنیـد ،لینـوکس مسـیر جـاري را بعنوان محل آن فایل فرض کرده و
از آنجا آنرا باز کرده و یا ذخیره میکند .براي نمایش دایرکتوري جاري فرمان pwdرا جلوي خط فرمان تایپ کنید.
دستور : lsفهرست گیري از دایرکتوري براي نمایش محتویات یک دایرکتـوري (لیسـت فایلهـا و دایرکتوریهـاي موجـود در آن) ،بایـد از فرمان lsاستفاده نمایید .در
صورتی که در دایرکتوري خانگی خود قرار ندارید میتوانیـد مسـیر کامل آنرا تایپ کنید .در صورتی که فرمان lsرا بدون هیچگونه مسیري تایـپ کنیـد ،محتویـات مسیر
جاري نمایش داده خواهد شد.
]ls [option] [path] [filename
آپشنهاي این فرمان به شرح زیر است:
:-aتمام فایلهاي مخفی را نمایش میدهد.
:-Iبراي نمایش جزئیـات کامـل فایلهـا بکـار میـرود .ایـن جزئیـات شـامل مـوارد زیـر میشـود :مشخصه دایرکتوري ،اجازه هاي دسـتیابی بـراي هـر سـه مـورد کـاربر،
گـروه کـاربر و دیگـران ،شماره لینک به ،inodeنام صاحب فایل ،نام گروه صـاحب فایـل ،تـاریخ و زمـان ایجـاد فایـل یـا دایرکتوري ،نام فایل یا دایرکتوري :-s .اندازه
ها را نشان میدهد.
: -hاندازه ها را به شکل قابل فهم براي کاربر نشان میدهد به حالت گرد شده
:-rترتیب نمایش فایلها را از حرف بزرگ به کوچک نمایش میدهد
:-Rلیست کلیه فایلهـا و دایرکتوریهـا و زیـر دایرکتوریهـاي موجـود در مسـیر مـورد نظـر را بـه شکل بازگشتی نشان میدهد.
دستور : cdتغییر مسیر جاري این دستور مسیر جاري را به مسیر دیگري که تعیین میکنید تغییر میدهد.
: cd ..مسیر جاري را به دایرکتوري والد دایرکتوري جاري تغییر میدهد
: cd ../..مسیر جاري را به دایرکتوري والد والد دایرکتوري جاري بر میگرداند.
: cd-مسیر جاري را مسیري قرار میدهد که قبل از آخرین تغییر مسیر با دسـتور cdداشـته .به عبارت دیگر مسیر جاري قبل از مسیر جاري فعلی.
~ : cdمسیر جاري را دایرکتوري خانگی کاربر فعلی قرار میدهد.
دستور : catبا استفاده از دستور catمی توانید محتویات یک فایل را بر روي صفحه نمایش چاپ کنید و یا چند فایل را باهم ترکیب نمایید.
اگر به عنوان آرگومانهاي دستور فوق نام دو فایل را بنویسید درهنگام نمایش اطالعـات آن دو فایل را پشت سرهم نمایش میدهد.
دستور : mvجابجایی و انتقال فایلها براي انتقال فایلها از دستور mvاستفاده میشود.
دستور : historyپوسته فرمان داراي قسمتی به نام تاریخچه(( Historyاست که فرامینی که قـبال وارد کـرده اید را نگهداري میکند شما میتوانید این فرامین را از
تاریخچه فراخوانی کرده و استفاده کنید .با اجراي این دستور لیست کلیه دستوراتی که از ابتـداي کـار سیسـتم در خـط فرمـان تایـپ شده نمایش داده میشود.
دستور : grepگاهی اوقات الزم است که یک واژه خاص را در میـان یـک فایـل پیـدا کنیـدGrep .فایـل داده شده را جستجو کرده وخط یا خطوط حاوي این واژه
را چاپ خواهد کرد .نحـوه اسـتفاده از ایـن دستور به شکل زیر می باشدgrep [option] "pattern" file :
دستور : findاز این دستور براي جستجوي فایل ها می توانید استفاده نمایید .مثال هنگامی که به دنبـال فایل هایی هستید که در زمان و تاریخ خاصی ساخته شده اند
ویا فایلی مشخص بـا مکـانی نامعلوم .نحوه استفاده از این دستور به شکل زیر استfind [path] [expression] :
دستور : locateاین دستور براي تعیین مسیر یک فایل بکار می رود؛ بنابراین spam locateلیست همـه فایلهایی را که با spamتطابق داشته باشند ،برمی گرداند.
این دستور کـاري مشـابه بـا دسـتور findانجـام میدهـد بـا ایـن تفـاوت کـه دسـتور findایـن جستجو را به شکل بازگشتی در داخل کلیه دایرکتوریهاي موجود انجام
جستجو با این دستور بسیار سریع است اما متاسفانه قابل انعطاف نیست .شما بـا دسـتور findامکان جستجو بر اساس نام فایل یا قسمتی از نام فایل ،اجـازه هـاي
دسـتیابی ،انـدازه ،صاحبان فایل و دیگر خصوصیات یک فایل را دارید اما با دستور locateجسـتجو فقـط بـر اسـاس تطابق با نام یا قسمتی از نام فایل است.
نحوه استفاده از این دستور به شکل زیر استlocate [option] file :
در حرکت بین دایرکتوري ها و کارکردن در آنها فرامین دیگري نیز وجود دارند که بسـیار مفیـد هستند : . :نشان دهنده دایرکتوري جاري است : .. .نشان دهنده
دایرکتوري ماقبل (دایرکتوري والد دایرکتوري جاري) است: ../.. .نشان دهنده دایرکتوري والد والد دایرکتوري جاري است.