whatsapp call admin

مقاله در مورد لینوکس چیست

word قابل ویرایش
129 صفحه
19700 تومان
197,000 ریال – خرید و دانلود

لینوکس چیست

لینوکس یک سیستم عامل آزاد و باز متن است که تحت مجوز GNU/GPL منتشر شده است. باز متن به این معنی که هر شخصی آزاد است تا از آن استفاده کند ،‌آن را تغییر دهد و حتی می تواند آن را دوباره توزیع کند.
لینوکس در سال ۱۹۹۱ در دانشگاه هلسینکی فنلاند توسط یک دانشجوی جوان به نام لینوس تروالدز نوشته شد. تراوالدز در اصل با Minix (که یک یونیکس خلاصه شده است.) کار می کرد ،‌اما تصمیم گرفت تا سیستم عاملی دلخواه خود و بر اساس UNIX خلق کند و این ماجرا با انتشار نسخه ی ۰٫۰۲ در سال ۱۹۹۱ توسط او آغاز شد که در زمان نوشتن این مقاله آخرین نسخه ی پایدارآن۲٫۶میباشد.لینوس ترووالدز طی یک نامه ی الکترونیکی خبر نوشتن سیستم عامل بازمتن

خود را اعلام کرد ، طولی نکشید که صدها نفر از سراسر دنیا خواهان کار با این سیستم عامل باز متن (Open Source) که به UNIX شباهت داشت شدند و شروع به توسعه ی ان کردند. امروزه توزیع های فراوانی از لینوکس و جود دارد که از هسته و نرم افزار های آزاد (Free Software) همراه هسته تشکیل می شوند. همه ی این توزیع ها از یک هسته ی واحد به نام لینوکس استفاده

می کنند.اگر بخواهیم دقیق تر توضیح بدهیم ، لینوکس یکسری کد است و ارتباط بین سخت افزار ها و نرم افزار ها را برقرار می کند (به عنوان هسته یا کرنل) و یک توزیع لینوکس (که در زبان عام به ان لینوکس می گویند) شامل هسته و تعداد زیادی نرم بازمتن می باشد مانند توزیع های ردهت (Redhat) ، دبیان ( debian ) ، اسلاکویر( Slackware) وجینتو(Gentoo).شایان ذکر است که امروزه برای راحتی به توزیع های لینوکس همان لینوکس گفته می شود که البته صحیح آن گنو/گنو انتشار یافته اند، بنابراین این از این پس هر جا که از لینوکس نام می بریم منظورمان همان توزیع های گنو/لینوکس است مگر ان که صریحا به هسته ی لینوکس اشاره کنیم .
تاریخچه پیدایش لینوکس ۳
با پشتیبانی نرم افزارهای پروزه GNU، لینوکس آماده یک نمایش واقعی بود. لینوکس تحت مجوز GPL قرار داده شد. با این مجوز همه میتوانستند کدهای منبع لینوکس را به رایگان داشته باشند، بر روی آنها مطالعه کرده و آنها را تغییر دهند. دانشجویان و برنامه نویسان آنرا قاپیدند.

و خیلی زود تولید کنندگان تجاری وارد شدند. لینوکس به خودی خود رایگان بود و هست. کاری که این تولیدکنندگان انجام دادند، کامپایل کردن بخش ها و نرم افزارهای مختلف و ارائه آن بصورت یک فرمت قابل توزیع همانند سایر سیستم عاملها بود، تا مردم عادی نیز بتوانند از آن استفاده کنند. اکنون توزیع هایی مانند ردهت، دبیان و زوزه دارای بیشترین سهم کاربران در سرتاسر جهان هستند. با رابطهای گرافیکی کاربر جدید مانند KDE و GNOME، توزیع های لینوکس در بین مردم بسیار گسترش یافتند.
همچنین اتفاقات جالبی با لینوکس رخ میدهد. در کنار PC، لینوکس به روی اکثر پلاتفورمها منتقل شده است. لینوکس تغییر داده شد تا کامپیوتر دستی شرکت Com3 یعنی PalmPilot را اجرا نماید. تکنولوژی کلاستر کردن این امکان را بوجود آورد تا بتوان تعداد زیادی از ماشینهای لینوکس را به یک مجموعه واحد پردازشی تبدیل نمود. یک کامپیوتر موازی. در آوریل ۱۹۹۶ محققین آزمایشگاههای ملی لوس آلاموس از ۶۸ کامپیوتر مبتنی بر لینوکس برای پردازش موازی و شبیه سازی موج انفجار اتمی استفاده کردند. ولی بر خلاف ابر کامپیوترهای دیگر، هزینه آنها بسیار ارزان تمام شد. ابرکامپیوتر خود ساخته آنها با تمام تجهیزات و سخت افزارها ۱۵۲۰۰۰ دلار هزینه در بر داشت و این یک دهم هزینه یک ابرکامپیوتر تجاری است. این ابرکامپیوتر به سرعت ۱۶ بیلیون

محاسبه در ثانیه دست یافت و به رتبه ۳۱۵ ام این ابرکامپیوتر جهان دست پیدا کرد و صد البته یکی از پایدارترین آنها بود. پس از سه ماه از آغاز فعالیت، هنوز بوت نشده بود.
بهترین موردی که امروزه برای لینوکس وجود دارد، طرفداران متعصب آن هستند. هنگامی که یک قطعه سخت افزاری جدید ارائه میشود، هسته لینوکس برای استفاده از آن تغییر داده میشود. برای مثال هنگام ارائه پردازنده ۶۴ بیتی شرکت AMD هسته به سرعت چند هفته برای کار با آن آماد

ه شد. اکنون لینوکس بر روی تمام انواع خانواده های سخت افزاری موجود اعم از PC، MAC، Alpha و انواع سخت افزارهای درونه ای قابل اجراست که آنرا برای استفاده در ماشین آلات صنعتی و آلات و ادواتی که نیاز به پردازش کامپیوتری دارند، بسیار مناسب نموده است. لینوکس با همان فلسفه و هدفی که در سال ۱۹۹۱ ایجاد شد، وارد هزاره جدید شده است.
توروالدز، هنوز یک انسان ساده است. بر خلاف بیل گیتر او یک میلیاردر نیست. پس از اتمام مطالعاتش وی به آمریکا رفت تا با شرکت Transmeta همکاری نماید. پس از انجام یک پروژه فوق سری که توروالدز یکی از اعضای فعال آن بود، ترانسمتا پردازنده Cruose را با بازار ارائه کرد. توروالدز هنوز پرطرفدار ترین و مشهورترین برنامه نویس جهان است. در حال حاضر توروالدز ترانسمتا را ترک نموده و با حمایت شرکتهای بزرگ به طور تمام وقت بر روی لینوکس کار میکند.

پس از یک دهه : لینوکس امروز
امروزه لینوکس بیش از یک دهه توسعه را پشت سر گذاشته است و یکی از سریع التوسعه ترین سیستم های عامل به شما میرود. از چند کاربر انگشت شمار در سالهای ۱۹۹۱ و ۱۹۹۲، امروزه میلیونها کاربر از لینوکس استفاده میکنند. IBM که زمانی بزرگترین دشمن جماعت Open Source به شمار می رفت، اکنون سرمایه گذاری عظیمی در زمینه توسعه راه حل های Open Source تحت لینوکس نموده است. در حال حاضر تعداد توسعه دهندگانی که برای افزایش قابلیتهای لینوکس تلاش میکنند، روز به روز افزایش می یابد.
امروزه تعداد زیادی از شرکتها و موسسات حرفه ای تجاری، پشتیبانی از محصولات مبتنی بر لینوکس را بر عهده گرفته اند. اکنون دیگر استفاده از لینوکس در محیطها اداری، پذیرفتن ریسک نیست. از نظر قابلیت اطمینان و پایداری و همچنین حفاظت در برابر انواع ویروسها چیزی بهتر از

لینوکس وجود ندارد. با تلاش شرکتهای بزرگی مانند ردهت استفاده از لینوکس در محیطهای تجاری توسعه فراوان یافته و اکنون تعداد زیادی از شرکتهای کوچک و بزرگ در حال استفاده از سرویس دهنده ها و ایستگاههای کاری مبتنی بر لینوکس هستند.

لینوکس سیستم عامل قرن ۲۱

در ابتدا هم اشاره کردیم که گنو/لینوکس یک سیستم عامل بامتن (Open Source) است . بازمتن بودن گنو/لینوکس باعث شده تا عده ی فراوانی از سرتاسر جهان توسط اینترنت گردهم آمده و برروی این سیستم عامل کار کنند ، نتیجه ی این گردهم آیی سیستم عاملی قدرتمند با ویژگی هایی منحصر به فرد شده که علاوه بر رایگان بودن و باز متن بودن ویژگی های بسیاری دارد که باعث شده تا لینوکس که در ابتدا در محیط های دانشگاهی و آکادمیک بزرگ شده حالا دیگر پا به عرصه ی تجارت و دولت بگذارد تا جایی که دولت های بزرگ اروپا مانند آلمان و اسپانیا سیستم عامل ملی خود را لینوکس اعلام کنند و البته نه تنها دولت ها بلکه نهاد ها و وزارت خانه هایبسیاری سیستم عامل نهاد یا وزارت خانه ی خود را به لینوکس تبدیل کرده اند مانند وزارت دفاع آمریکا ،‌اداره ی پست آمریکا ،‌نیروهای مسلح ترکیه یا حتی در ایالت کالیفرنیای امریکا نیز برای اداره یامور از این سیستم عامل استفاده می شود. شاید برای شما این پرسش مطرح شده باشد که این ویژگی های لینوکس چیست که این گونه همگان را به سوی لینوکس جذب کرده است.

طلوع لینوکس روی میزی (Desktop Linux)
بزرگترین ایرادی که از لینوکس گرفته میشد چه بود؟ قبلا محیط تمام متنی لینوکس، بسیاری از کاربران را از استفاده کردن از آن بر حذر میداشت. با اینکه در استفاده از محیط متنی کنترل کامل سیستم در اختیار شماست، ولی این محیط اصلا برای کاربران عادی سیستمهای کامپیوتری مناسب نیست. محیط های گرافیکی که بر پایه X-Window وجود داشتند نیز پاسخ گوی امکاناتی که سیستم عاملهای گرافیکی مانند ویندوز برای کاربران خود ارائه میکردند، نبودند. ولی از چند سال گذشته این وضعیت در حال تغییر بوده است. اکنون محیطهای گرافیکی حرفه ای مانند KDE و GNOME تصویر لینوکس را کامل کرده اند. این محیطهای گرافیکی اکنون بسیار کاربر پسند و

قدرتمند شده اند و وجود این سیستمهاست که امروزه کاربران عادی نیز میتوانند از لینوکس استفاده کنند.

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

اعث شد تا در بسیاری از این کشورها کپی غیر مجاز نرم افزارها گسترش پیدا کند که باعث میلیاردها دلار خسارت سالیانه میشود. یکی از عمده ترین دلایل این کار پایین بودن درآمد سرانه در این کشورهاست. هنگامی که مجموع درآمد سرانه سالیانه بیش از ۲۰۰ تا ۳۰۰ دلار نیست، هیچگاه امکان خرید یک سیستم عامل ۱۰۰ دلاری وجود نخواهد داشت.
طلوع لینوکس و سایر تولیدات باز متن، این وضعیت را تغییر داده است. این امکان وجود دارد تا بتوان لینوکس را در کامپیوترهای قدیمی ۴۸۶ و پنتیوم که اکنون در کشورهای توسعه یافته به تاریخ پیوسته اند ولی هنوز در کشورهای درحال توسعه از آنها استفاده میشود، اجرا نمود. همچنین

استفاده از نرم افزارهای رایگان بازمتن گسترش یافته تا جلوی هزینه های سرسام آور نرم افزاری این کشورها را بگیرد. امروزه در کشورهای آسیایی، آفریقایی و آمریکای لاتین استفاده از لینوکس و نرم افزارهای بازمتن گسترش فراوانی یافته و با استفاده از خصلت ذاتی تغییر پذیری لینوکس، برای استفاده از زبانهای ملی این کشورها سفارشی شده است. امروزه مستندات لینوکس به اکثر زبانهای زنده جهان ترجمه شده اند.

 

از میزکار تا ابرکامپیوترها
هنگامی که توروالدز لینوکس را ایجاد نمود، این مخلوق جدید، فقط یک اسباب بازی تازه برای هکرها بود. ولی از زمان دستگاههای ۳۸۶ که نخستین هسته لینوکس بر روی آنها اجرا میشد، لینوکس راه درازی را طی نموده است. یکی از مهمترین استفاده های امروزی لینوکس استفاده از آن در پردازشهای سنگین موازی در ابرکامپیوترهاست. امروزه اکثر ابرکامپیوترهایی که در جهان ساخته میشوند، از لینوکس به عنوان سیستم عامل خود استفاده میکنند.
داستان ادامه دارد
حرکت لینوکس از یک پروزه هکری تا جهانی شدن یک انقلاب شگفت انگیز است. پروزه GNU که در اوایل دهه ۱۹۸۰ توسط ریچارد استالمن شروع شد، توسعه نرم افزارهای بازمتن را رهبری نمود. پروفسور اندرو تاننباوم و سیستم عامل MINIX او مطالعه سیستم عامل ها را از حالت تئوری به عملی تبدیل نمود و در نهایت همت و تلاش توروالدز منجر به تولد لینوکس شد. امروزه لینوکس دیگر یک پروزه هکری به شما نمی رود بلکه یک حرکت جهانی است که توسط میلیونها نفر برنامه نویس بازمتن و شرکتهای بزرگی مانند IBM حمایت میشود. لینوکس در تاریخ کامپیوتر به عنوان یکی از شگفت انگیز ترین محصولات تلاش بشری باقی خواهد ماند.

توکس پنگوئن : نشان عزیز لینوکس
نشان لینوکس یک پنگوئن است. برخلاف سایر سیستم عاملهای تجاری، این نشان زیاد جدی نیست! توکس نشانگر وضعیت بدون نگرانی حرکت لینوکس است. این نشان تاریخچه بسیار جالبی دارد. لینوکس در ابتدا فاقد هر گونه نشانی بود. هنگامی که توروالدز برای تعطیلات به استرالیا رفته بود، در دیداری که از یک باغ وحش داشت، هنگامی که می خواست با یک پنگوئن بازی کند، پنگوئن دست وی را گاز گرفت و همین ایده ای شد تا از پنگوئن به عنوان نشان لینوکس استفاده شود. ؟
ما در این جا برخی ویژگی های لینوکس را ذکر می کنیم:

۱-هزینه
گنو/لینوکس یک سیستم عامل رایگان است ، البته توزیع هایی هم وجود دارد که به صورت تجاری ارائه می شوند اما قیمت آن ها همواره کمتر از سیستم عامل های تجاری مانند مایکروسافت ویندوز یا UNIX است ، البته این نکته نیز گفتنی است که اغلب توزیع های تجاری لینوکس را نیز می توان به صورت رایگان از اینترنت دریافت (Download) کرد و حتی برای دوستانتان نیز می توانید کپی کنید اما این نسخه هایی که بابت آنها پولی پرداخت نشده ، دارای خدمات پشتیبانی یا کتابچه ی راهنما نیستند .(هر چند که همواره هزاران صفحه اطلاعات رایگان در اینترنت در باره ی توزیعهای مختلف گنو/لینوکس وجود دارد.)پایین بودن هزینه های گنو/لینوکس یکی از عواملی است که دولت های بسیار و شرکت های بزرگ را واداشته تا این سیستم عامل را سیستم عامل رسمی

خود اعلام کنند.
۲-امنیت و پایداری
لینوکس با توجه به ساختار خود سیستم عاملیست امن و پایدار ، پایداری لینوکس را مدیون روش صحیح استفاده ی آن از سخت افزاریم که این خصلت را از UNIX به ارث برده و امنیت آن را علاوه بر ساختار صحیح ان مدیون بازمتن (Open Source) بودن آن هستیم. بازمتن بودن بودن باعث شده تا در صورت مشاهده ی کوچکترین مشکل در هسته یا نرم افزار های جانبی در چند ساعت یا حد اکثر چند روز توسعه دهندگان و برنامه نویسان ضعف و مشکل را حل کرده و راه حل را در اختیار عموم کاربران قرار دهند. این گونه است که گنو/لینوکس در پایداری و امنیت به یک افسانه تبدیل شده است و جزو ایمن ترین و پایدارترین سیستم عامل های جهان به شمار می رود.
موضوع پایداری و امنیت در حوزه ی سرور ها و شبکه بسیار مهم است تا جایی که لینوکس بیش از ۳۰ در صد از سرور های جهان را شامل می شودو۷۰ در صد دیگر شامل SCO UNIX و SUN UNIX و IRIX و HP-UX و FreeBSD ودیگر یونیکس ها و Apple Mac و در صدی هم ویندوز می شود و با توجه به تعدد این سیستم ها می بینیم ۳۰در صد خود رقمی قابل توجه است.
باید خاطر نشان کنم که تا به حال برای لینوکس هیچ ویروس یا کرمیبه آن شکل که برای ویندوز مایکروسافت وجود دارد نوشته نشده است و برای نرم افزار های مدیریت ایمیل یا جستجوی وب (Browser) آن هم ویروسی شناسایی نشده و برعکس IE ویندوز که همواره باید برای آن وصله (Patch) های امنیتی دانلود کرد برای مورورگر های لینوکس بعد نیازی به تلف کردن وقت با این کار ها نیست.
۳_نیازهای سخت افزاری اندک

گنو/لینوکس به دلیل ساختار هسته ی مناسب و تعدد توزیع ها می تواند با حداقل امکانات سخت افزاری به خوبی کار کند تا جایی که حتی توزیع هایی وجود دارد که بدون وجود هارد دیک برروی سیستم و یا با حافظه (RAM) معادل ۱۶ مگابایت می تواند سیستم شما را راه اندازی کند .
۴-تنظیم و شخصی سازی
گنو/لینوکس را می توان با رابط خط فرمان (Command Line Interface) همانند MS-DOS و

یا با رابط گرافیکی مانند ویندوز مایکروسافت یا Apple Mac اجرا و استفاده کرد. دردسر های معمول تنظیم و شخصی سازی میز کار با وجود محیط های گرافیکی مختلف مانند کی دی ای ( KDE) یا گنوم (GNOME) از بین رفته و شما می توانید از ده ها محیط گرافیکی حداکثر استفاده را ببرید.
محیط های گرافیکی گنو/لینوکس با هدف رفع نیاز کاربران و به صورت بازمتن بوده و توسط گروه بزرگی از برنامه نویسان در خلق شده و در حال توسعه هستند، شما می توانید باتوجه به شرایط سخت افزاری و سلیقه ی خود از از هر کدام از این محیط های گرافیکی بهره برده و بر اساس نیازتان تنظیمش کنید

۵-آزادی
لینوکس یک سیستم عامل آزاد است ،‌شما می توانید با در دست داشتن کد های منبع آن که برنامه نویسان و خالقین لینوکس در اختیار شما قرار می دهند مطابق میل خود تغییر و توسعه دهید ، کافیست شما به زبان های C و C++ و اسمبلی آشنا باشید ، حالا می توانید توزیع خود را داشته منتشر کنید،‌حتی برای کاربران غیر فنی که به این زبان ها اشنایی ندارند ابزار ها و توزیع هایی معرفی می شود تا با حداقل دانش برنامه نویسی به انتشار توزیع مخصوص خود بپردازند.
این آزادی در تغییر و توزیع مجدد با در دست داشتن کد های منبع باعث رواج هر چه بیشتر گنو/لینوکس شده تا جایی که شما می توانید برای هر کاربردی یک لینوکس بیابید! برای نمومنه لینوکسی فقط برای کار های وب وجود دارد و لینوکسی دیگر فقط برای پخش مولتی مدیا و یا لینوکسی برای شبکه البته آزاد بودن گنو/لینوکس باعث پیشرفت این سیستم عامل تا جایی است که دولت هایی مانند چین تصمیم به نوشتن توزیع مخصوص به خودشان گرفته اند که کاملا با ویژگی های زبان آن ها سازگاری دارد در صورتی که این موضوع در سیستم عامل های غیر ازاد (Free) و بازمتن مسلما میسر نمی شد.

کاربرد های لینوکس
گنو/لینوکس را می توان از میز کار دانش اموزان دبستان در اسپانیا تا ماهواره های کوچک

در فضا یافت! از آن جایی که لینوکس یک سیستم عامل ذاتا چند کاربره (Multi User) و چند کاره (Multi Task) است [به این معنی که در یک لحظه بیش از یک کاربر می تواند با ان کار کند و بیش از یک برنامه را اجرا می کند.] و در کنار این دو مزیت سیستم عاملی پایدار و امن است می تواند گزینه ای مناسب برای سرویس دهنده های شبکه باشد ، در حال حاضر اغلب شبکه های بزرگ و معتبر از سیستم عامل لینوکس به عنوان سرویس دهنده ی اصلی خود استفاده می کنند.حتی سرویس دهنده های سایت hotmail بعد از کرک های متناوب از سوی مهاجمین به جای و

یندوز مایکروسافت از لینوکس برای مدتی استفاده کرد تا بتواند در مقابل کرک های مداوم مهاجمان دوام بیاورد. البته شرکت بزرگ IBM نیز محصولات سرویس دهنده ی خود را مانند سرورهای وب وشبکه با سیستم عامل لینوکس می فروشندالبته کاربرد لینوکس به سرویس دهنده ها ختم نمی شود بلکه آن را می توان بر روی تقریبا هر ابزاری نصب کرد! آخرین مدل های گوشی موبایل در کره به جای سیستم عامل های قبل از گنو/لینوکس استفاده می کند ،‌در هند لینوکس به عنوان سیستم عامل کامپیوتر های دستی (Handheld) یا PDA استفاده می شود در ژاپن شرکت سونی در لوازم صوتی و تصویری خود از گنو/لینوکس استفاده می کند ، خلاصه هر کجا به یک سیستم عامل احتیاج هست می توان از لینوکس استفاده کرد و اگر لینوکس برای آن کار مناسب نباشد جامعه ی توسعه دهنده ی لینوکس برای آن کار توسعه می دهندش ! و البته میز کار کاربران معمولی را فراموش کردیم ، همان طور که در بالا گفتیم با توجه به توزیع های متفاوت و محیط های گرافیکی بسیار زیاد برای کار با لینوکس امروزه دیگر این سیستم عامل یک سیستم عامل حرفه ای نیست بلکه یک سیستم عامل حرفه ای و خانگی شده است. شما می توانید در خانه به شنیدن موسیقی یا تماشای فیلم بپر دازید یا کار های خود را مدیریت کنید یا در اینتر نت به گشت وگذار بپردازید یا با دوستتان یک گپ (Chat) اینترنتی بزنید و یا می توانید در خواست مرخصی خود را با برنامه های لینوکسی تایپ کنیدو به مدیر خود بدهید! و البته اگر شما یک برنا

مه نویس کنجکاو هستید یا برنامه نویس وب ،‌ گنو/لینوکس بهشت شماست.
البته از دیگر کاربرد های لینوکس استفاده از ان به عنوان سرور اشتراک فایل بجای سیستم عامل گران قیمت ویندوز NT مایکروسافت است که این کار را سامبا ( Samba ) که یک برنامه ی اشتراک گذاری فایل است برایتان انجام می دهد.البته می توانید به عنوان یک سرور SQL قدرتمند که به وسیله ی پایگاه های داده ای بازمتنی که همراه گنو/لینوکس عرضه می شوندمانندMySQL یاPostgreSQLبه رفع نیاز ها ی پایگاه داده خود بپردازید.

کلمات عبور پیش فرض بایوس default bios password

گاهی اوقات پیش می آید که نیاز به به دلیل فراموش شدن کلمه عبور بایوس نیاز به آن وجود داشته ولی به دلایلی امکان باز کردن درب case کامپیوتر برای دسترسی به دکمه ریست بایوس یا خارج کردن باطری برای مدتی کوتاه وجود ندارد . در چنین مواردی تنها راه چاره هک کردن بایوس و نفوذ در آن با استفاده از کلمات عبور پیش گزیده کارخانه سازنده است. به همین خاطر تعدادی از این کلمات عبور را برای بایوس های Award و Amibios در جدول زیر آورده شده است :

AWARD BIOS
AMI BIOS
کلمات عبوری که روی هردونوع بایوس کار میکنند
AWARD_SW
SW_AWARD
AWARD?SW
LKWPETER or lkwpeter
j262
j256
condo,
AM
AMI
A.M.I.

AMI_SW
AMI?SW Syxz
oder
Wodj
setup
cmos
alfaromeo

بررسی مختصر کار با محیط های گرافیکی لینوکس
امکانات و قابلیتهای این محیط های گرافیکی لینوکس تا حدودی به ویندوز شباهت دارد و همین امر کار راببرای کاربران جدید این سیستم عامل و کسانی که میخواهند از ویندوز به لینوکس بپیوندند اندکی راحت تر میکند . محیط گرافیکی از یک Desktop، Taskbar و تعدادی Icon بر روی Desktop تشکیل شده است .
در هر دو محیط KDE و GNOME به کنترل ها و تنظیمهای مختلف سیستم دسترسی خواهیدداشت و به نظر میرسد که برای اغلب کاربران محیط KDE<SPAN dir=

بررسی مختصر کار با محیط های گرافیکی لینوکس ۲
مثل محیط ویندوز برای کپی کردن(Ctrl+C)، بریدن(Ctrl+X)، جایگزین کردن(Ctrl+V) و تغییر نام فایل(f2) از همان میانبرها استفاده شده که در سرعت خو کرفتن کاربر با این محیط تاثیر دارد . حتی در مورد حذف فایلها هم همان قوانین صادق است یعنی با زدن ُShift+Delete فایل برای همیشه حذف میشود و با زدن Delete به تنهایی فایلها به Trash که همان جایگزین Recycle Bin در ویندوز است منتقل میشوند.
بررسی منوی اصلی یا KMENU ویا Gmenu

آغازگر سیستم یا Bootloader چیست ؟

BootLoader به برنامه ای گفته میشود که دستورات موجود در Master Boot record را اداره کرده , و هنگام شروع به کار کامپیوتر امکان مدیریت بر اجرای چند سیستم عامل در کنار یکدیگر را در یک سیستم طی مراحل Boot فراهم میکند . بعد از بوت لودر معمولا سیستم عامل انتخاب شده اجرا میشود . طی این فرایند کامپیوتر اطلاعات کلی در مورد سخت افزار را از طریق Bios به دست می آورد , Bios معمولا بصورت یک چیپ یا مدار آی سی Rom روی مادربورد قرار گرفته و وقتی که , Bios بتواند Master Boot record رو پیدا کند کار BootLoaderروع شده و در اصل این برنامه در طی مراحل Boot میتواند کامپیوتر را به هر جای هارددیسک برای اجرا کردن سیستم

عامل خاص هدایت کند .
اگر شما بیشتر از یک سیستم عامل روی کامپیوترتان داشته باشید پارتیشن های متفاوتی برای Boot کردن سیستم عامل دارید , اصولا Mbr روی اولین سکتور هارد دیسک قرار دارد , هر پارتیشن هم میتواند روی اولین سکتور خود یک سری دستور برای Boot کردن سیستم از طریق آن پارتیشن داشته باشد , کار BootLoader همین است که کامپیوتر را به این سکتورها راهنمایی کند . البته اگر سیستم عامل شما لینوکس یا یونیکس یا یه چیزی مثل اینها باشد BootLoader باید Kernel Image رو هم Boot کند و به طور کلی در اکثر توزیع های Disturbution لینوکس از دو BootLoader معروف میتوان به انتخاب خود استفاده کرد و معمولا اولین انتخاب Linux Loader یا Lilo است و بعدی Grub یا grand Unified Bootloader , در اکثر موارد ما از Lilo استفاده میکنیم , با این حال Grub هم امتیازاتی دارد , مثلا وقتی که Kernel را upgrade میکنید . لازم نیست Grub مجددا Reinstall شود , در حالی که اگر از Lilo استفاده میکنید لازم است که بعد از مراحل upgrade کردن kernel آنرا مجددا نصب کنید . Grub بر خلاف Lilo میتواند نوع Kernel Image را تشخیص داده ,و بر خلاف Lilo لازم نیست که مسیر Root برای آن تعریف شود چون میتواند فایل سیستم ها را براحت

ی خوانده و حتی فابل سیستم ReiserFS را نیز پشتیبانی میکند . اکثر Distrubution های لینوکس , به شما امکان این انتخاب را میدهند که از بین LiLo و Grub یکی را انتخاب کنید , مثلا Redhat بیشتر به سمت استفاده از Grub تمایل دارد . قدرت BootLoader در اجرا کردن سیستم عامل های مختلف است , مثلا LiLo به راحتی دو ویندوز و یک لینوکس را میتواند تواما و به راحتی اجرا کند و معمولا برای اینکه مشکلی پیش نیاید بهتر است ابتدا ویندوز را Install کنید و بعد Linux را . سیستم عامل های Microsoft معمولا بدون اینکه به کاربر اطلاعی بدهند در هنگام نصب Mbr را

رونویسی کرده و مطابق نیاز خود تغییر میدهند .هم Lilo و هم Grub انواع و اقسام فایل سیستم ها را براحتی پشتیبانی میکنند , پس اگر مثلا Winw2k رو پارتیشن NTFS دارید لازم نیست نگران باشد هرچند که بهتر است نگاهی به تنظیمات فایل /etc/lilo.conf/ بیندازید تا از صحت پشتیبانی تمام فایل سیستمها مطمئن شوید .
راهنمای کار با خط فرمان متنی لینوکس
ظاهر پوسته فرمان
در صورتی که لینوکس شما فاقد محیط گرافیکی است و یا اکنون محیط گرافیکی آن در حال اجرا نیست، شما باید دستورات خود را از طریق پوسته فرمان به سیستم عامل ارسال کنید. نخستین چیزی که در پوسته فرمان مشاهده میکنید، اعلان فرمان است که بصورت علامت $ میباشد. اعلان فرمان برای کاربر ریشه بصورت # است. در بیشتر سیستمهای لینوکس قبل از اعلان فرمان نام کاربری شما و نام کامپیوترتان قرار میگیرد که بصورت زیر نشان داده میشود :
[alan@memphis home]$
امکان نمایش کاراکترای مورد نیازتان بجای کاراکترهای فوق وجود دارد. چگونگی این کار بعدا شرح داده خواهد شد. محیط پوسته فرمان امکانات زیادی دارد.
تایپ دستورات در محیط پوسته فرمان بسیار آسان میباشد. برای اینکه با محیط پوسته فرمان آشنا شوید، سعی کنید با دستوراتی که در زیر بررسی میشوند، تمرین کنید.

نکته: در صورتی که هنگام راه اندازی سیستم، بجای پوسته فرمان محیط گرافیکی لینوکس اجرا میشود، برای تایپ فرامین پوسته باید از Terminal یا Konsole استفاده کنید. میتوانید در منوی run، فرمان xterm را نیز تایپ کنید.

در مثالهای زیر علامتهای $ و # نشان دهنده اعلان فرمان میباشند. پس تایپ هر فرمان باید

کلید Ebter را فشار دهید و خروجی آن فرمان در خطوط پس از آن نمایش داده خواهد شد.

بررسی نشست ورود به سیستم
هنگامی که وارد سیستم لینوکس میشوید، برای سیستم دارای یک هویت خاص هستید. این هویت شامل نام کاربری شما، نام گروه شما، شماره کاربری شما و شماره گروه شماست. همچنین لینوکس اطلاعات زمان ورود به سیستم، مدت حضور، مدت بیکاری و محل ورود ش

ما به سیستم را نگهداری میکند. (حواستان را جمع کنید!)
برای بدست آوردن اطلاعات در مورد هویت کاربری خودتان در جلوی اعلان فرمان دستور زیر را تایپ کنید. خروجی آن در زیر آن نشان داده شده است:
$ id
uid=500(Alan) gid=500(Alan) groups=500(Alan)

خروجی فرمان نشان میدهد که نام کاربر Alan بوده که عضو گروه Alan است و شماره های کاربری و گروه آن ۵۰۰ میباشد.
با استفاده از فرمان who میتوانید اطلاعاتی در مورد نشست جاری بدست آورید. در زیر این فرمان به همراه خروجی آن نشان داده شده است:
$ who
Alan :0 Apr 23 08:46
همچنان که می بینید، در خروجی نام کاربر جاری، زمان و تاریخ ورود به سیستم نمایش داده شده است.
بررسی دایرکتوری ها و مجوزهای فایلها
در لینوکس مسیر جاری به مسیری گفته میشود که کاربر در آن لحظه در آن قرار دارد. هنگامی که وارد سیستم میشوید، لینوکس شما را در دایرکتوری خانگی تان قرار میدهد. هنگامی که دستور باز کردن یا ذخیره کردن فایلی را صادر میکنید، لینوکس مسیر جاری را بعنوان محل آن فایل فرض کرده و از آنجا آنرا باز کرده و یا ذخیره میکند. ساختار سیستم فایل لینوکس بعدا شرح داده خواهد شد و لازم نیست نگران آن باشید. برای نمایش دایرکتوری جاری فرمان زیر را جلوی خط فرمان تایپ کنید. خروجی آن در زیر آن نمایش داده شده است:
$ pwd
/usr/bin
در مثال بالا مسیر جاری usr/bin است. برای یافتن مسیر دایرکتوری خانگی خود، فرمان زیر را تایپ کنید:
$ echo $HOME
/home/Alan

همچنان که در خروجی ملاحضه میکنید، مسیر دایرکتوری خانگی شما نمایش داده شده است. برای اینکه به دایرکتوری خانگی خود باز گردید، کافی است به سادگی فرمان زیر را تایپ کنید:
$ cd

این فرمان، شما را به دایرکتوری خانگی تان باز می گرداند. خوب بد نیست ببینیم که چه چیزهایی در دایرکتوری خانگی وجود دارد. برای نمایش محتویات یک دایرکتوری، باید از فرمان ls اس

تفاده نمایید. در صورتی که در دایرکتوری خانگی خود قرار ندارید میتوانید مسیر کامل آنرا تایپ کنید. در صورتی که فرمان ls را بدون هرگونه دایرکتوری تایپ کنید، محتویات مسیر جاری نمایش داده خواهد شد. گزینه a تمام فایلهای مخفی را نمایش میدهد و گزینه l برای نمایش جزئیاتد.در زیر این دستور به همراه یک خروجی مثال نشان داده شده است:
$ ls -la /home/Alan
total 46740
drwx—— 47 Alan Alan 4096 Apr 23 11:09 .
drwxr-xr-x 8 root root 4096 Mar 12 17:51 ..
-rw——- 1 Alan Alan 616581 Apr 18 23:29 779-red_hat_linux_9.tar.gz
drwxr-xr-x 2 Alan Alan 4096 Mar 20 11:15 .acrobat
drwx—— 2 Alan Alan 4096 Mar 20 11:15 .adobe

drwx—— 2 Alan Alan 4096 Mar 12 17:04 .adonthell
drwxr-xr-x 2 Alan Alan 4096 Feb 14 13:19 .anjuta
-rw——- 1 Alan Alan 18325 Apr 23 00:36 .bash_history
-rw-r–r– 1 Alan Alan 24 Aug 24 2002 .bash_logout
-rw-r–r– 1 Alan Alan 191 Aug 24 2002 .bash_profile

 

هنگامی که از سوئیچ l برای نمایش جزئیات بیشتر استفاده میکنید، چیزی بیش از سایز فایلها و دایرکتوری ها نمایش داده میشود. دایرکتوری جاری (.) و دایرکتوری والد (..) در بالای لیست قرار می گیرند. یعنی در حقیقت نقطه نشان دهنده دایرکتوری home/Alan و دونقطه نشاندهنده دایرکتوری home/ است. بخش ابتدایی لیست نشاندهنده مجوزهای هر فایل است. سایر اطلاعات نمایش داده شده عبارتند از اندازه فایل به بایت و تاریخ و ساعتی که فایل برای آخرین بار تغییر کرده است.

بررسی فعالیت سیستم
لینوکس علاوه بر چندکاربره بودن، سیستم عاملی است چند وظیفه (multitasking) . چند وظیفه بودن به این معنی است که برنامه های زیادی میتوانند در یک زمان اجرا شوند. هر برنامه در حال اجرا یک پروسه نامیده میشود.لینوکس فرامینی برای نمایش پروسه های در حال اجرا، نمایش استفاده از منابع سیستمی و متوقف کردن پروسه های در مواقع لزوم دارد.
مرسوم ترین ابزار برای بررسی پروسه های در حال اجرا، دستور ps است. با این دستور، میتوانید بررسی کنید که چه برنامه هایی در حال اجرا هستند ، از چه منابعی استفاده میکنند و چه کسی در حال اجرای آنهاست. در زیر یک خروجی مثال از این فرمان نشان داده شده است :
$ ps au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Alan 1152 0.0 0.5 4476 1348 pts/0 S 17:39 0:00 bash
Alan 1831 0.0 0.2 2580 664 pts/0 R 18:14 0:00 ps au

 

در مثال بالا، گزینه a، برای نمایش تمام پروسه هایی که به ترمینال فعلی شما مربوط است و گزینه u برای نمایش نام کاربری و زمانی که برنامه آغاز به کار کرده است، بکار میرود. مفهوم ترمینال به زمانهای قدیم باز میگردد. در آن زمان کاربران روی ترمینالهای مبتنی بر متن کار میکر

دند و هر ترمینال نشان دهنده یک نفر بود. اکنون شما میتوانید روی صفحه مانیتور خود تعداد زیادی ترمینال داشته باشید. این کار بوسیله باز کردن تعدادی پنجره ترمینال امکان پذیر است.
در مثال بالا، چیز خاصی اتفاق نیافتاده است. خروجی نشان میدهد که کاربری به نام Alan ، از برنامه های bash و ps در حال استفاده است. ستون TTY یا ترمینال، نشان دهنده ترمینای است که کاربر با آن به سیستم وارد شده است و ستون STAT نشاندهنده وضعیت پروسه است. R نشاندهنده پروسه در حال اجرا و S نشاندهنده پروسه در حال خواب میباشد.
ستون USER نام کاربری که پروسـه را شروع کرده نمایش میدهد. هر پروسه توسط یک عدد یکتا به نام شماره پروسه (Process ID) مشخص میشود. از این شماره هنگام از میان بردن یا اصطلاحا kill کردن پروسه استفاده میشود. ستونهای %CPU و %MEM نشاندهنده مقدار پردازنده و حافظه ای هستند که پروسه ها استفاده کرده اند. ستون VSZ یا Virtual Set Size نشاندهنده سایز پروسه image به کیلوبایت و RSS یا Resident Set Size نشاندهنده سایز پروسه در حافظه است. ستون START نشاندهنده زمان آغاز پروسه و ستون TIME نشاندهنده زمان سیستم استفاده شده برای پروسه است.
بسیاری از پروسه هایی که در کامپیوتر در حال اجرا هستند، به یک ترمینال خاص مربوط ن

یستند. یک سیستم عادی مبتنی بر لینوکس ، دارای پروسه هایی فراوانی است که در پس زمینه اجرا میشوند. پروسه های پس زمینه پروسه هایی هستند که اعمالی مانند ثبت فعالیتهای سیستم یا گوش کردن به پورتها برای اطلاعات واصله از شبکه را انجام میدهند. این پروسه ها هنگام بوت شدن سیستم آغاز به کار کرده و هنگام خاموش کردن سیستم ، به کار خود پایان میدهند. برای نمایش تمام پروسه های در حال اجرا بر روی کامپیوترتان باید از فرمان زیر استفاده کنید:
$ ps aux | less
قسمت less | به این دلیل به فرمان اضافه شده است که در صورتی که تعداد پروسه ها از یک صفحه بیشتر شد، امکان نمایش صفحه به صفحه آن وجود داشته باشد. به این فرایند لوله بندی (pipe) فرمان گویند که به معنی هدایت خروجی یک فرمان برای ورودی فرمان دیگر است

.

خروج از پوسته فرمان
هنگامی که کارهای خود را انجام دادید و مایل بودید از پوسته فرمان خارج شوید، کافی است که کلیدهای Ctrl+D را فشار دهید. در صورتی که در حالت متنی لینوکس را بوت کرده اید، کافی است فرمان logout یا exit را تایپ کنید.
خوب، تا اینجا با چند فرمان که به شما کمک میکند از سیستمتان اطلاعات لازم را به دست آورید، آشنا شدید. صدها فرمان دیگر نیز وجود دارند که میتوانید آنها را آزمایش کنید. این فرامین در مسیرهای usr/bin و bin قرار دارند. همچنین فرامین مدیریت سیتم در مسیرهای usr/sbin و sbin قرار دارند. بیشتر این فرامین در ادامه این فصل توضیح داده خواهند شد.

درک دقیق تر پوسته فرمان لینوکس
قبل از اینکه آیکونها و پنجره ها روی صفحه کامپیوترها پدیدار شوند، کاربران برای کار کردن با کامپیوترها باید فرمانهایی را تایپ میکردند. در سیستمهای مبتنی بر یونیکس که لینوکس هم یکی از آنهاست، برنامه ای که برای تفسیر و مدیریت فرمانها ایجاد شده است، پوسته فرمان (Command Shell) نام دارد.
پوسته فرمان راهی برای اجراکردن برنامه ها، کارکردن با فایلها، کامپایل کردن برنامه ها و مدیریت کامپیوتر ایجاد میکند.
با اینکه کارکردن با ابزارهای گرافیکی آسان تر از کار کردن با پوسته فرمان است، ولی بیشتر کاربران حرفه ای لینوکس ترجیح میدهند تا بجای ابزارهای گرافیکی از پوسته فرمان استفاده کنند. زیرا برای انجام بسیاری از کارها مانند پیکربندی های سیستم ، پوسته فرمان بسیار قدرتمند تر از ابزارهای گرافیکی است. حتی برخی کاربران قدیمی یونیکس و لینوکس به ندرت از محیطهای گرافیکی برای انجام کارهایشان استفاده میکنند.
پوسته فرمانی که در این راهنما توضیح داده خواهد شد، bash نام دارد. نام آن برگرفته از Bourne Again Shell است. پوسته bash از نخستین پوسته سیستمهای یونیکس که sh یا Bourne Shell نام داشت، ایجاد شده است و یکی از پر کاربرد ترین پوسته های فرمان به شمار میرود. البته پوسته های دیگری نیز وجود دارند که از آنها استفاده میشود که میتواند از آنها csh یا C Shell که در سیستمهای یونیکس BSD استفاده میشود و ksh یا Korn Shell که بیشتر در Unix System V استفاده میشود، نام برد. لینوکس همچنین دارای پوسته های tcsh و ash نیز میباشد.
هنگامی که استفاده از یک پوسته فرمان را در لینوکس فرا بگیرید، به آسانی میتوانید پوسته های دیگر را نیز یاد بگیرید. در صورتی که هرگونه مشکل یا سوالی داشتید، میتوانید به صفحه manual آن پوسته مراجعه کنید.

 

نکته : برای نمایش صفحه manual هر فرمان کافی است در خط فرمان لینوکس دستور زیر را تایپ کنید:
$ man <command>

استفاده از پوسته فرمان در لینوکس
هنگامی که یک فرمان را در پوسته فرمان تایپ میکنید، میتوانید به آن کاراکترهای دیگری اضافه کنید تا چگونگی کارکرد دستور مورد نظر را تغییر دهید. علاوه بر خود دستور، موارد دیگری که میتوانید در خط فرمان تایپ کنید عبارتند از :
-گزینه ها (Options) :
اکثر فرامین دارای یک یا چند گزینه هستند که با اضافه کردن و بکار بردین این گزینه ها میتوانید نحوه رفتار فرمان را تغییر دهید. برای مثال همانطور که قبلا هم دیدید، در فرمان ls -la گزینه l برای نمایش لیست مشروح فایلها و دایرکتوری ها و گزینه a برای نمایش فایلهای مخفی که با نقطه شروع میشدند، بکار رفت.ضمنا گزینه هایی که مخفف یک کلمه هستند با یک – شروع میشوند در صورتی که گزینه هایی که یک کلمه کامل هستند با — شروع میشوند . برای مثال ls –help .
– آرگومان ها (Arguments):
بسیاری از فرامین، علاوه بر گزینه ها ، آرگومانهایی را نیز قبول میکنند. یک آرگومان یک بخش شامل نوعی اطلاعات مانند مسیر یا نام فایل میباشد. برای مثال در فرمان ls -la /home بخش home آرگومان فرمان ls به شمار میرود.
– متغییر های محیطی (Environment Variables):
خود پوسته اطلاعاتی را در بر دارد که برای کاربر مفید است. به این اطلاعات متغ

ییرهای محیطی می گویند. برای مثال متغییر SHELL نمایانگر نوع پوسته مورد استفاده ، SP1 نشاندهنده اعلان فرمان و MAIL نشاندهنده محل صندوق پستی شما است :
$ echo $SHELL
/bin/bash
$ echo $MAIL
/var/spool/mail/Alan

توجه داشته باشید که برای فراخوانی متغییر ها به ابتدای آنها علامت $ اضاف

ه میشود.

نکته : برای نمایش تمام متغییرهای محیطی میتوانید از دستور declare استفاده کنید. برای نمایش یک متغییر خاص میتوانید همانند بالا از دستور echo استفاده کنید.

– کاراکترهای ویژه (Metacharacters):
کاراکترهایی وجود دارند که دارای معنای خاصی برای پوسته فرمان هستند. این کاراکترها میتوانند برای هدایت خروجی یک فرمان به یک فایل ، لوله بندی خروجی یک فرمان و یا اجرای فرمان در پس زمینه استفاده شوند. کاراکترهای ویژه در این فصل توضیح داده خواهند شد.
برای صرفه جویی در مقدار تایپ و آسانتر شدن کار ، پوسته فرمان دارای ویژگیهایی است که دستورات قبلی تایپ شده را نگهداری میکند. همچنین شما میتوانید برای آسانتر شدن، نامهای مستعاری برای دستورات ایجاد کنید. پوسته فرمان دستوراتی که قبلا وارد کرده اید ذخیره میکند و میتوانید بجای تایپ مجدد دستورات ، دستورات قبلی را فراخوانی نمایید. این موضوع نیز جلوتر بررسی خواهد شد.
در صورتی که پوسته فرمان را تغییر داده نباشید، پوسته bash پوسته ای است که همراه با لینوکس استفاده میکنید. پوسته bash از نظر امکانات و قابلیتها قویتر از انواع دیگر پوسته های فرمان است. در این فصل بیشتر قابلیتهای پوسته فرمان bash بررسی خواهند شد. ولی در صورتی که نیاز به اطلاعات بیشتری داشتید، میتوانید از دستور man bash برای نمایش راهنمای پوسته bash استفاده کنید.

یافتن فرمانهای لینوکس
در صورتی که بدانید که یک دستور در کجای سیستم فایل لینوکس قرار دارد، میتوانید آنرا با تایپ مسیر کامل اجرا نمایید. برای مثال برای اجرای دستور date :
$ /bin/date
البته در صورتی که دستوری در مسیرهای سخت و طولانی قرار داشته باشد ، این کار دشوار خواهد بود. بهترین راه حل این مشکل، نگهداری فرامین در یک دایر

کتوری خاص است. سپس میتوانید این دایرکتوری را به مسیر جستجوی پوسته فرمان خود اضافه کنید تا هنگام تایپ یک فرمان، خود پوسته بطور خودکار دایرکتوری فوق را برای وجود فرمان کاوش کند :
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/Alan/bin

خروجی فرمان فوق مسیرهای تعریف شده برای پوسته فرمان را برای یک کاربر خاص نشان میدهد. همانطور که می بینید دایرکتوری ها توسط یک کلون از هم ج

دا شده اند. بیشتر دستوراتی که همراه با لینوکس ارائه میشوند، در دایرکتوری های bin ، usr/bin یا usr/local/bin قرار دارند. دستورات گرافیکی که با محیطهای گرافیکی استفاده میشوند در مسیرهای usr/bin/X11 و usr/X11R6/bin قرار دارند. آخرین دایرکتوری نشان داده شده در خروجی فرمان، در دایرکتوری خانگی کاربر قرار دارد.

نکته : در صورتی که مایلید دستوراتی که خود ایجاد میکنید مستقیما در خط فرمان اجرا شوند، میتوانید یک دایرکتوری به نام bin در دایرکتوری خانگی خود ایجاد کنید و این دستورات را در آنجا ذخیره کنید. لینوکس این دایرکتوری را بطور خودکار به مسیرهای تعریف شده اضافه میکند.

در صورتی که شما کاربر ریشه هستید، دستورات مربوط به مدیریت سیستم در دایرکتوری های sbin و usr/sbin قرار دارند.
ترتیب دایرکتوری های موجود در مسیرهای تعریف شده نیز مهم است. این دایرکتوری ها از چپ به راست بررسی میشوند. بنابراین اگر دستوری به نام foo هم در دایرکتوری usr/bin و هم در دایرکتوری bin قرار داشته باشد، اولی اجرا خواهد شد. برای اجرای دستور دوم foo باید مسیر کامل آنرا تایپ کنید و یا مسیرهای تعریف شده را تغییر دهید. چگونگی این کار جلوتر توضیح داده خواهد شد.
تمام فرامینی که تایپ میکنید، در دایرکتوری های مسیرهای تعریف شده شما قرار ندارند. برخی فرامین بصورت درونی در پوسته فرمان گنجانده شده اند. در صورتی که برای یک فرمان خاص یک نام مستعار همراه با گزینه ها و آرگومانهای خاص ایجاد کنید، ابتدا آن اجرا میشود. همچنین راههایی برای ایجاد توابعی که شامل چندی فرمان هستند نیز وجود دارد. ترتیب بررسی محلهای مختلفی که پوسته فرمان برای پیداکردن یک دستور انجام میدهد به شرح زیر است :
– نامهای مستعار :
نامهایی که با دستور alias ایجاد شده اند و نشانگر یک دستور به همراه گزینه ها و آرگومانهای احتمالی میباشند.
– کلمات رزرو شده پوسته فرمان : کلماتی هستند که برای استفاده های مخصوص رزرو شده اند. بیشتر این کلمات دستوراتی هستند که معمولا در زبانهای برنامه نویسی استفاده میشوند مانند do ، while ، case و غیره.
– توابع : دسته ای از دستورات که همراه هم در پوسته فرمان اجرا میشوند.
– دستورات درونی : دستوراتی که درون خود پوسته فرمان گنجانده شده اند.
– دستورات سیستم فایل :
دستورات معمولی که بصورت فایلهایی در سیستم فایل لینوکس قرار دارند. مسیرهای این دستورات در متغییر محیطی PATH گنجانده شده است.

نکته : برای نمایش لیستی از فرامین درونی bash و گزینه های آن میتوانید از دستور help استفاده کنید. برای نمایش اطلاعات بیشتر در مورد دستور مورد نظر از دستور info بعلاوه نام دستور مورد نظر استفاده کنید.

برای اینکه بفهمید که یک دستور در کجا قرار دارد، میتوانید از دستور type برای این منظور استفاده کنید. برای مثال :
$type bash
bash is /bin/bash
از دستور بالا برای یافتن محل فرامیت دیگری مانند which، case و … استفاده کنید. در صورتی که دستوری در چندین دایرکتوری قرار دارد، میتوانید با اضافه کردن گزینه a به دستور type، تمام محلهای وجود آنرا چاپ کنید.

نکته :گاهی اوقات هنگام اجرای یک فرمان با خطاهایی مانند “این فرمان پیدا نشد” و یا “شما مجوز استفاده از این فرمان را ندارید” مواجه میشوید. برای مورد اول بررسی کنید که دستور را صحیح تایپ کرده اید و مسیر آن در مسیر PATH شما قرار داشته باشد. ممکن است فرمان مورد نظر اجرایی نباشد. در بخش کارکردن با فایلها، چگونگی اجرایی کردن یک فایل تشریح خواهد شد.

اجرای مجدد یک فرمان
تصور کنید یک فرمان بسیار طولانی را تایپ کرده اید و پس از اجرای آن متوجه میشوید که مرتکب اشتباه شده اید. مطمئنا چیزی دردآور تر از این وجود ندارد! پوسته فرمان دارای قابلیتهایی است که میتوانید بوسیله آن دستوراتی که قبلا اجرا کرده اید فراخوانی کرده و در صورت لزوم پس از اصلاح یا تغییر وحتی بدون تغییر آنها را مجددا اجرا کنید.
پوسته فرمان دارای قسمتی به نام تاریخچه (History) است که فرامینی که قبلا وارد کرده اید را نگهداری میکند. شما میتوانید این فرامین را از تاریخچه فراخوانی کرده و استفاده کنید.

ویرایش خط فرمان
در صورتی که در تایپ یک دستور مرتکب اشتباه شده اید، میتوانید به آسانی آنرا فراخوانی کرده و مجددا پس از ویرایش ، آنرا اجرا کنید. میتوانید از برخی کلیدهای میانبر برای راحت تر کردن این کار استفاده کنید. مثلا کلیدهای Ctrl+a اشاره گر را به ابتدای فرمان و Ctrl+E به انتهای فرمان حرکت می دهد. همین کار را کلیدهای Home و End نیز انجام میدهند. ویرایش کردن فرمان مانند کارکردن در ویرایش گرهای متنی است و بسیار ساده است. پس اتمام ویرایش دستور، کافی است کلید Enter را برای اجرای آن فشار دهید.

کامل کردن خودکار فرمان
برای اینکه مقدار تایپ شما به حداقل برسد، پوسته فرمان فرمان ناقص شما را به روشهایی کامل میکند. . برای بکارگیری این قابلیت کافی است که ابتدا چند حرف اول فرمان مورد نظر را تایپ کرده و کلید tab را فشار دهید. در زیر برخی موارد را که میتوانید ناقص تایپ کنید می بینید :
– متغییر های محیطی : در صورتی که متن با یک علامت دلار شروع شود، با فشردن کلید tab ، پوسته فرمان آنرا با یک متغییر محیطی کامل خواهد کرد.
– نام کاربری :
در صورتی که متن بوسیله یک کاراکتر ~ شروع شود، پوسته فرمان آن را بوسیله یک نام کاربری کامل خواهد کرد.
– دستورات، نامهای مستعار یا توابع :
در صورتی که متن با یک کاراکتر عادی شروع شود، پوسته فرمان آنرا بوسیله یک دستور، نام مستعار یا تابع کامل خواهد کرد.
– نام میزبان :
در صورتی که متن با یک علامت @ شروع شود، پوسته فرمان آنرا بوسیله یک نام میزبان که از فایل etc/hosts می خواند، کامل میکند.
مواقعی وجود دارد که برای کامل کردن یک فرمان چندین گزینه وجود دارد . مثلا چندین متغییر محیطی وجود دارد که با حرف P شروع میشود. در این موارد در صورتی که شما دوبار کلید Tab را فشار دهید و یا کلیدهای Esc+? را فشار دهید، تمام حالتهای ممکن به شما نشان داده میشود :
$ echo $P<tab><tab> or <Esc+?>
$PATH $PPID $PS1 $PS4
$PIPESTATUS $PROMPT_COMMAND $PS2 $PWD

 

فراخوانی مجدد یک فرمان
پس از اینکه یک دستور را تایپ کردید، همانطوری که قبلا گفتم این دستور بطور کامل در تاریخچه پوسته فرمان ذخیره میشود. برای نمایش محتویات تاریخچه پوسته فرمان میتوانید از دستور history استفاده کنید. در صورتی که پس از آن یک عدد اضافه کنید، به تعداد آن عد

دستورات تایپ شده را نشان خواهد داد :
$ history 5
1023 ls
1024 cd Fonts/
1025 man more
1026 date
1027 history 5
برای فراخوانی دستورات تایپ شده میتوانید از روشهای زیر استفاده کنید:
-کلیدهای مکان نما : از کلیدهای بالا و پایین مکان نما میتوانید برای حرکت کردن در لیست تاریخچه استفاده کنید. بجای آن از کلیدهای Ctrl+n و Ctrl+p نیز میتوانید استفاده کنید.
-کلیدهای Ctrl+r: برای جستجوی آخر به اول یک رشته در تاریخچه استفاده میشود. برای مثال با تایپ یک یا چند حرف، دستوری که دارای آن حروف است نمایش داده میشود.
-کلیدهای Ctrl+s: مشابه بالا ولی جستجو بصورت اول به آخر صورت میگیرد.
روش دیگری که میتوانید از آن برای کار کردن با فرامین استفاده کنید، دستور fc است. با استفاده از این دستور، که پس از آن میتوانید شماره دستور مورد نظر در تاریخچه یا بازه ای از شماره ها را ذکر کنید، این دستورات در یک ویرایشگر متنی باز میشوند که میتوانید آنها را ویرایش کرده و خارج شوید. برای مثال دستور زیر دستورات ۱۰۰ ام تا ۱۵۰ ام تاریخچه را در ویرایشگر باز خواهد کرد :
$ fc 100 150
لیست تاریخچه در فایلی به نام .bash_history که در دایرکتوری خانگی شما قرار دارد، ذخیره میشود و در آن تا ۱۰۰۰ دستور نگهداری میشود.

اتصال و گسترش فرامین
یکی از قابلیتهای واقعا قدرتمند پوسته فرمان، قابلیت هدایت خروجی یا ورودی یک فرمان به فرامین دیگر است. برای این منظور، همانطور که قبلا اشاره شد، از کاراکترهای ویژه استفاده میشود.

لوله بندی فرامین (Piping Commands)
کاراکتر ویژه لوله بندی کاراکتر (|) است. این کاراکتر، خروجی یک فرمان را به ورودی فرمان دیگر هدایت میکند. برای مثال :
$ cat /etc/passwd | sort | more
adm:x:3:4:adm:/var/adm:/sbin/nologin
Alan:x:500:500:Alan Bachumian,7852020:/home/Alan:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
Linet:x:501:501:Linet Minasian:/home/Linet:/bin/bash
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
–More–
این فرمان محتویات فایل etc/passwd را خوانده و خروجی را به فرمان sort هدایت میکند. این فرمان، کاراکتر ابتدای هر سطر را گرفته و خروجی را بصورت الفبایی مرتب کرده و خروجی را به دستور more میفرستد و این دستور نیز خروجی را بصورت صفحه به صفحه نمایش میدهد.

قابلیت لوله بندی نمایش خوبی است از اینکه چگونه یونیکس، پدر لینوکس بر اساس قطعات مختلف نرم افزاری شکل گرفته است. مثلا در یونیکس ابزارهای مختلف را طوری به هم وصل میکردن که کارهای مختلفی بتوان با آنها انجام داد. مثال خوبی که در این مورد میشود زد: سالها پیش که واژه پردازهای گرافیکی و راحت مانند اکنون وجود نداشتند، کاربران باید ابتدا سند خود را بصورت متنی ایجاد کرده و سپس آنرا بوسیله ماکروهای خاصی فرمت بندی میکردند و بعد باید بررسی میکردند که چطور از آب در آمده است . برای این کار از فرمانی مانند زیر استفاده میشد:

$ nroff -man grep.1 | lpr

در دستور بالا از nroff برای فرمت کردن فایل grep.1 با استفاده از ماکروی man استفاده شده و حاصل کار با استفاده از لوله بندی به خروجی چاپگر که lpr است فرستاده شده است.

دستورات متوالی  کار به سادگی امکان پذیر است. کافی است پس از اتمام هر فرمان آنرا از فرمان بعدی بوسیله یک کاراکتر سم کالن (;) جدا کنید. برای مثال :
$ date; troff -me mytext | lpr; ls /home
فرامین پس زمینه
برخی دستورات برای تمام شدن نیاز به زمان دارند. برخی اوقات مایل نیستید که پوسته فرمانتان را معطل باقی بگذارید تا دستور به اتمام برسد. برای این منظور میتوانید دستور مورد نظر را با استفاده از کاراکتر آمپرسند (&) در پس زمینه اجرا کنید. برای مثال :
$ troff -me mytext &

راههایی برای مدیریت پروسه های پیش زمینه و پس زمینه وجود دارد که جلوتر درباره آنها صحبت خواهیم کرد.

توسعه فرامین
به وسیله قابلیت جانشینی فرامین میتوانید پوسته فرمان را وادار کنید تا خروجی یک فرمان را خودش تفسیر کند، بجای اینکه این کار به خود فرمان واگذار شود. در این مورد شما میتوانید خروجی استاندارد یک فرمان را بصورت آرگومان یک دستور دیگر تعیین کنید. دو شکل قابلیت جانشینی فرامین بصورت زیر است :
$(sommand) or ‘command’
برای فهمیدن این قابلیت به مثال زیر توجه کنید:
$ vi $(find / -print | grep xyzzy)

در این دستور، قبل از اجرای vi جانشینی فرامین صورت می گیرد. ابتدا دستور find از دایرکتوری ریشه شروع به کار کرده و نام تمام فایلها و دایرکتوری ها را چاپ میکند. خروجی این دستور به grep ارسال میشود و این دستور تمام آنها را که فاقد رشته xyzzy هستند را فیلتر میکند. سپس vi تمام فایلهایی را که دارای رشته xyzzy هستند را باز میکند.

توسعه عبارات حسابی
موارد زیادی وجود دارد که شما مایلید که نتایج یک جمله محاسباتی را به یک فرمان ارسال کنید . دو راه برای انجام آن وجود دارد:
$[expression] or $((expression))
برای روشن شدن مطلب به مثال زیر توجه کنید :
$ echo “Iam $[2003-1978] years old.”
Iam 25 years old.

در مثال بالا، پوسته فرمان ابتدا عبارت حسابی را انجام داده و سپس نتیجه را به فرمان echo ارسال میکند.

توسعه متغییرهای محیطی
همانطور که قبلا گفتیم، متغییرهای محیطی اطلاعاتی را در مورد پوسته فرمان در بر دارند. هنگامی که یک متغییر محیطی را در یک دستور قرار میدهید، بجای اینکه نام آن چاپ شود، محتویات آن چاپ میشود :
$ ls -l $BASH
-rwxr-xr-x 1 root root 626188 Aug 24 2002 /bin/bash

در مثال بالا، دستور ls با استفاده از متغییر محیطی BASH محل آنرا چاپ میکند. در این مورد بیشتر توضیح خواهم داد.

استفاده از متغییر های محیطی
متغییرهای محیطی برای ذخیره اطلاعاتی مانند محل فایلهای پیکربندی ، صندوقهای پستی و مسیر دایرکتوری ها بکار میروند. همچنین این متغییرها دارای مقادیری برای شکل اعلان فرمان، اندازه تاریخچه و نوع سیستم عامل نیز هستند.
برای نمایش متغییرهایی که اکنون به پوسته فرمان شما اختصاص داده شده اند، باید از دستور declare استفاده کنید.
برای نمایش محتویات هر یک ، کافی است یک علامت دلار جلوی آن قرار داده و آن را در دستورات خط فرمان استفاده کنید :
$ echo $USER
Alan
همانطور که می بینید، فرمان بالا نام کاربر فعلی سیستم را نمایش میدهد.

متغییرهای محیطی عمومی
هنگامی که یک پوسته فرمان باز میکنید، متغییرهایی وجود دارند که مقادیر آنها قبلا تخصیص داده شده است. در زیر برخی از این متغییرها نشان داده شده اند :
o BASH: محتوی مسیر کامل برنامه پوسته فرمان است. به طور معمول bin/bash .
o BASH_VERSION: شماره نسخه برنامه پوسته فرمان را نشا

ن میدهد.
o EUID: شماره شناسایی موثر کاربر فعلی را نمایش میدهد. این مقدار هنگامی که پوسته شروع میشود، تخصیص داده میشود.
o HISTFILE: محل فایل تاریخچه فرامین را نمایش میدهد.
o HISTFILESIZE: تعداد فرامینی که تاریخچه در خود نگهداری میکند. معمولا ۱۰۰۰ است.
o HISTCMD: شماره فرمان جاری را در تاریخچه نشان میدهد.
o HOME: دایرکتوری خانگی کاربر جاری را نشان میدهد.
o HOSTTYPE: نوع معماری پردازنده کامپیوتر را نشان میدهد.
o MAIL: مسیر صندوق پستی کاربر جـاری را نـشـان میدهد. مـعـمـولا بـه نـام شـمـا در /var/spool/mail قرار دارد.
o OLDPWD: مسیر قبل از دایرکتوری جاری فعلی را نشان میدهد.
o OSTYPE: نوع سیستم عامل را نشان میدهد. در مورد ما خروجی به صورت linux-gnu خواهد بود.
o PATH: لیست دایرکتوری های معرفی شده را نشان میدهد. برای اجرای یک فرمان در این دایرکتوری ها جستجو صورت میگیرد.
o PPID: شماره پروسه ای که پوسته فرمان را شروع کرده است، نمایش میدهد.
o PROMPT_COMMAND: دستوری را که هربار پیش از نمایش اعلان فرمان اجرا میشود را نشان میدهد.
o PS1: مقدار اعلان فرمان را تخصیص میدهد. مقادیر زیادی وجود دارند که آنها را میتوانید در اعلان فرمان خود بگنجانید مانند تاریخ، زمان، نام کاربر، نام کامپیوتر و … برخی اوقات یک فرمان به اعلان های بیشتری نیاز دارد که میتوانید از متغییرهای PS2 یا PS3 برای این کار استفاده کنید. در این مورد بیشتر توضیح خواهم داد.
o PWD: دایرکتوری جاری را نشان میدهد.
o RANDOM: با مراجعه به این متغییر یک شماره تصادفی بین ۰ و ۹۹۹۹ تولید میشود.
o SECONDS: تعداد ثانیه ای که پوسته فرمان آغاز به کار کرده است.
o UID: شماره شناسایی اصلی کاربر فعلی را نمایش میدهد. این شماره در فایل etc/passwd ذخیره شده است.

ایجاد متغییرهای محیطی خاص
از متغییرهای محیطی میتوانید برای ذخیره اطلاعاتی که معمولا در پوسته فرمان استفاده میکنید، بهره برداری کنید. شما میتوانید هر گونه متغییر محیطی به دلخواه خود ایجاد کنید. برای ایجاد موقت یک متغییر محیطی میتوانید نام متغییر و مقدار آن را جلوی اعلان فرمان تایپ کنید :
$ AB=/usr/locl/documents; export AB
مثال بالا مسیر یک دایرکتوری را به یک متغییر به نام AB اختصاص میدهد. دستور export این متغییر را به پوسته فرمان صادر میکند. بنابراین در صورتی که پوسته های فرمان دیگری نیز اجرا شوند، این متغییر در آنها موجود خواهد بود.

نکته : ممکن است توجه کرده باشید که تمام متغییرهای محیطی با حروف بزرگ تعریف شده اند. این کار یک رسم است نه یک الزام. یعنی در صورتی که نام متغییری را با حر

وف کوچک تعیین کنید ، باز هم کار خواهد کرد. البته توجه داشته باشید که متغییر xyz با XYZ یکی نیست.

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

در صورتی که مایلید متنی درست جلوی مقدار یک متغییر محیطی قرار گیرد، کافی است که متغییر را در دو پرانتز قرار داده و متن مورد نظر را جلوی آن قرار دهید . برای مثال :
$ echo ${HOME}/Documents
/home/Alan/Documents

به خاطر داشته باشید که برای استفاده از متغییرها یا باید آنها را export کنید و یا به فایل پیکربندی پوسته فرما اضافه نمایید. دستور export بسیار قابل انعطاف است. مثلا میتوانید در هنگام صادر کردن متغییر، مقدار آنرا هم تخصیص دهید :
$ export XYZ=/home/Alan/Documents

ویا میتوانید با حفظ مقادیر قبلی، مقداری را به یک متغییر اضافه نمایید :
$ export PATH=$PATH:/home/Alan/Documents

در مثال بالا، دایرکتوری home/Alan/Documents به طور موقت به متغییر PATH اضافه شده است.
در صورتی که احساس کردید دیگر به یک متغییر نیازی ندارید، میتوانید با استفاده از دستور unset آنرا پاک کنید:
$ unset XYZ
همانطور که دیدید، برای پاک کردن متغییر نیازی به علامت دلار نیست.

مدیریت پروسه های پس زمینه و پیش زمینه
در صورتی که از لینوکس در محیط شبکه ای و با استفاده از یک ترمینال متنی استفاده میکنید، پوسته فرمان تنها چیزی است که میتوانید از آن استفاده کنید و از محیطهای گرافیکی خبری نخواهد بود. در صورتی که نیاز داشته باشید در آن واحد با چندین برنامه کار کنید، این مسئله بسیار محدود کننده خواهد بود.
با اینکه پوسته فرمان محیطی گرافیکی برای اجرای برنامه ها ندارد، ولی قابلیتی دارد که با استفاده از آن میتوانید برنامه های فعال را بین پس زمینه و پیش زمینه جابجا نمایید. با این وسیله میتوانید تعداد زیادی برنامه را در یک زمان درحال اجرا داشته باشید و بین آنها حرکت کنید.
راههای گوناگونی برای قرار دادن یک برنامه در پس زمینه وجود دارد. قبلا اشاره کردیم که با اجرای برنامه ای که به آخر آن یک کاراکتر آمپرسند (&) اضافه شده است، در پس زمینه قرار میگیرد. روش دیگر استفاده از دستور at برای اجرای برنامه ها بصورتی که به پوسته متصل نباشند ، است.
برای توقف اجرای یک فرمان و قرار دادن آن در پس زمینه، از کلیدهای Ctrl+z استفاده کنید. پس از اینکه اجرای دستور متوقف شد، با استفاده از دستور fg میتوانید آنرا به پیش زمینه آورده، استفاده کنید و یا با دستور bg آنرا در پس زمینه بکار بگیرید.

شروع پروسه های پس زمینه
در صورتی که برنامه هایی دارید که مایلید در هنگام کار کردن شما در پس زمینه ا

جرا شوند، پس از دستور ، یک علامت آمپرسند (&) در پایان آن اضافه کنید. برای مثال :
$ find /usr -print > /home/Alan/usrfiles &
این دستور تمام فایلهای موجود در دایرکتوری usr لینوکس شما را در فایلی به نام usrfiles ذخیره میکند. علامت آمپرساند باعث میشود که این فرمان در پس زمینه اجرا شود. برای دیدن اینکه چه برنامه هایی در پس زمینه در حال اجرا هستند، از دستور jobs استفاده کنید:
$ jobs
[2]+ Stopped vi
[3] Running find /usr -print >usrfiles &

همانطور که در خروجی فرمان بالا مشاهده میکنید، سه برنامه mc ، vi و دستور find در حال اجرا در پس زمینه هستند. علامت مثبت در کنار برنامه دوم نشان میدهد که این آخرین پروسه ای است که درحالت پس زمینه اجرا شده است و علامت منفی نشاندهنده پروسه ای است که قبل از آخرین پروسه، در پس زمینه قرار داده شده است. بعلت اینکه برنامه های اول و دوم برای کارکرد به خروجی ترمینال نیاز دارند تا زمانی که در حالت پیش زمینه اجرا شوند، متوقف باقی خواهند ماند. ولی برنامه find که به خروجی ترمینال نیازی ندارد، در حال اجرا میباشد.

نکته : برای نمایش شماره پروسه برنامه های پس زمینه ، میتوانید گزینه l را به فرمان jobs اضافه نمایید. در صورتی که از دستور ps برای نمایش پروسه های فعال استفاده کنید، میتوانید ببینید که کدامیک از آنها دستوری است که در پس زمینه در حال اجراست.

استفاده از فرامین پس زمینه و پیش زمینه
در ادامه مثالی که در بالا ذکر شد، برای برگرداندن برنامه vi به پیش زمینه میتوانید از دستور زیر استفاده کنید:
$ fg %2
با این دستور، برنامه vi مجددا روی پوسته فرمان نمایش داده خواهد شد. با فشردن کلیدهای Ctrl+z میتوانید مجددا آنرا به پس زمینه بفرستید.

هشدار : قبل از اینکه یک برنامه واژه پرداز و یا برنامه ای که اطلاعات ذخیره نشده دارد را به پس زمینه ارسال کنید، اطلاعات آنرا ذخیره نمایید. برنامه های پس زمینه به سادگی فراموش میشوند و ممکن است اطلاعات خود را از دست بدهید.

همانطوری که دیدید برای نمایش یک برنامه پس زمینه از علامت درصد و شماره آن که در دستور jobs مشخص شده بود استفاده شد. علاوه بر شماره، میتوانید بجای آن نام برنامه و یا قسمتی از نام برنامه که ابتدای آن علامت سوال قرار داده شده استفاده کنید. این کار هنگامی که دو برنامه مشابه به همراه دو فایل متفاوت باز هستند، به شما کمک خواهد کرد. برای روشن شدن مطلب به مثال زیر توجه کنید :
$ jobs
[2] Stopped vi
[3]- Stopped mc
[4]+ Stopped vi ./mytext

$ fg %?my

با تایپ دستور fg %?my برنامه vi که در حال ویرایش فایل mytext است، در پوسته فرمان نمایش داده خواهد شد.

 

پیکربندی پوسته فرمان
برای اینکه بتوانید بطور موثرتری از پوسته فرمان خود استفاده کنید، میتوانید آنرا بنا به خواسته خود تنظیم کنید. برای این منظور باید فایلهای پیکربندی پوسته فرمان خود را ویرایش کنید.
تعدادی فایل پیکربندی وجود دارد که نحوه رفتار پوسته فرمان شما را تعیین میکند. برخی از این فایلها برای تمام کاربران و پوسته ها مشترک بوده و برخی مخصوص یک کاربر خاص هستند. فایلهای پیکربندی زیر فایلهایی هستند که هر کاربر پوسته فرمان در لینوکس از آنها استفاده میکند :
o Etc/profile: این فایل اطلاعات محیط کاربری هر کاربر را ذخیره میکند. این فایل هنگامی اجرا میشود که شما به سیستم وارد شده و پوسته فرمان آغاز به کار میکند. این فایل مقادیر پیش گزیده مسیر، شکل اعلان فرمان، حداکثر تعداد فایلی که شما میتوانید ایجاد کنید و مجوز های پیش گزیده برای فایلهایی که ایجاد میکنید را تعیین میکند. همچنین این فایل متغییر های محیطی مانند محل صندوق پستی و اندازه فایلهای تاریخچه را تنظیم میکند.
o etc/bashrc : این فایل برای هر کاربری که پوسته bash را اجرامیکند، اجرا میشود. این فایل حالت اعلان فرمان را تنظیم میکند. مقادیر این فایل میتواند توسط فایل bashrc که در دایرکتوری خانگی هر کاربر وجود دارد، تحت تاثیر قرار گیرد.
o bashrc./~ : این فایل حاوی اطلاعات مربوط به bash هر کاربر میباشد. این فایل هنگامی خوانده میشود که به سیستم وارد میشود و هر گاه که یک پوسته جدید باز میکنید. اینجا بهترین مکان برای ذخیره متغییرهای محیطی و فرمانهای مستعار خاص خودتان است.
o bash_profile. /~ : این فایل برای وارد کردن اطلاعات خاصی که هر کاربر در استفاده از پوسته بکار میبرد میباشد. این فایل تنها یکبار اجرا میشود. هنگامی که کاربر به سیستم وارد میشود. این فایل تعدادی از متغییرهای محیطی را مقدار دهی کرده و فایل bashrc مربوط به کاربر را اجرا میکند.
o bash_logout. /~ : این فایل هر گاه که شما از سیستم خارج میشوید اجرا میشود. این فایل فقط صفحه نمایش را پاک میکند.

برای تغییر فایلهای etc/profile و etc/bashrc باید با کاربر ریشه وارد سیستم شده باشید. هر کاربر میتواند اطلاعات موجود در فایلهای bash_profile، bashrc و bash_logout موجود در دایرکتوری های خود را تغییر دهد.
در قسمت زیر با برخی تنظیمات فایلهای پیکربندی پوسته فرمان آشنا میشوید. در بیشتر موارد، تغییرات در فایل bashrc موجود در دایرکتوری خانگی صورت میگیرد. هرچند در صورتی که شما یک مدیر سیستم باشید، ممکن است این تنظیمات را برای کل کاربران خود اعمال کنید.

تنظیم اعلان فرمان
اعلان فرمان شما از تعدادی کاراکتر تشکیل شده است که هر گاه که به نمایش در می آید، معنی آن این است که پوسته فرمان آماده دریافت فرمان جدید است. محتویات اعلان فرمان در متغییر محیطی PS1 قرار دارد. در صورتی که پوسته فرمان شما به ورودی بیشتری نیاز داشته باشد، از مقادیر PS2، PS3 و PS4 نیز استفاده خواهد شد.
هنگامی که سیستم لینوکس شما نصب میشود، اعلان فرمان طوری تنظیم میشود که حاوی اطلاعات زیر باشد: نام کاربری شما، نام کامپیوتر شما و نام دایرکتوری که اکنون در آن قرار دارید. این اطلاعات در میان دو براکت قرار گرفته و در انتهای آن برای کاربران عادی ی

ک علامت دلار ($) و برای کاربر ریشه علامت پوند (#) قرار دارد. در زیر مثالی از یک اعلان فرمان را میبینید:
[alan@Memphis alan]$
این امکان وجود دارد تا اطلاعات مختلفی را به اعلان فرمانتان اضافه کنید. این اطلاعات میتواند شامل شماره ترمینال، تاریخ، زمان و اطلاعات دیگر باشد. برای مثال :
• !\ : شماره فعلی تاریخچه فرمان را نشان میدهد.
• #\ : شماره دستور آخرین دستور را نشان میدهد.
• $\ : اعلان فرمان استاندارد را نشان میدهد.
• W\: فقط دایرکتوری کاری جاری را نشان میدهد.
• \\ : فقط یک بک اسلش نشان داده میشود.
• d\: روز، ماه و شماره روز را نمایش میدهد. مثلا : Sat Jan 23
• h\: نام کامپیوتر میزبان را نشان میدهد.
• n\: یک خط جدید باز میکند.
• s\: نام پوسته فرمان را نشان میدهد. مثلا bash
• t\: زمان را بصورت ساعت، دقیقه و ثانیه نمایش میدهد. برای مثال : ۱۰:۱۴

:۴۰
• u\: نام کاربر را نمایش میدهد.
• w\: مسیر کامل دایرکتوری جاری را نمایش میدهد.

نکته : در صورتی که اعلان فرمان خود را به صورت موقت با تایپ مقادیر مربوطه در پوسته فرمان تغییر میدهید، باید مقادیر PS1 را بین دو گیومه قرار دهید . مثلا دستور:
export PS1=”[\t\w]\$]”
اعلان فرمان را به صورت زیر نشان میدهد:
[۲۰:۲۵:۴۰ /var/spool/mail]$

 

برای ایجاد تغییرات دائمی در اعلان فرمان، باید مقدار PS1 را به فایل bashrc موجود در دایرکتوری خانگی خود اضافه کنید. معمولا این مقدار قبلا وجود دارد و کافی است آنرا تغییر دهید.

تنظیم اسامی مستعار
در لینوکس این امکان وجود دارد تا برای آسانی بیشتر، اسامی مستعاری را بجای فرمان اصلی تعیین کنید. برای اضافه کردن اسامی مستعار باید از دستور alias استفاده کنید. به مثالهای زیر توجه کنید:
$ alias p=’pwd; ls -CF’
$ alias rm=’rm -i’
در مثال نخست حرف p دستور pwd را اجرا کرده و پس از آن دستور ls -CF اجرا خواهد شد که محتویات دایرکتوری جاری را چاپ خواهد کرد. در مثال دوم، دستور rm طوری تنظیم شده است تا فقط با گزینه i اجرا شود.
در صورتی که دستور alias را به تنهایی تایپ کنید، لیستی از اسامی مستعاری که تنظیم کرده اید نمایش داده میشود. توجه داشته باشید که اسامی مستعار در یک فایل پیکربندی ذخیره شده و با بستن پوسته فرمان از بین نمی روند.

کار کردن با سیستم فایل لینوکس
سیستم فایل لینوکس ساختاری است که اطلاعات شما را در کامپیوتر ذخیره میکند. فایلها در یک ساختار درختی از دایرکتوری ها ذخیره میشوند. هر دایرکتوری میتواند حاوی فایلها و دایرکتوری های دیگری باشد. در صورتی که بخواهید ساختار سیستم فایل لینوکس را دقیق تر توصیف کنید، آن بیشتر شبیه یک درخت وارونه است. در بالاترین نقطه، دایرکتوری ریشه قرار دارد که بوسیله یک اسلش تنها نشان داده میشود. در زیر آن دایرکتوری های عمومی و سیستمی سیستم عامل لینوکس قرار میگیرند. مانند bin، dev، home و tmp . هر کدام از این دایرکتوری ها محتوی دایرکتوری های دیگری هستند

برخی از دایرکتوری های مهم سیستم فایل لینوکس در زیر توضیح داده شده اند.
• bin: فرامین عمومی سیستم عامل لینوکس در این دایرکتوری قرار دارند. مانند ls، sort و chmod.
• dev : حاوی نقاط دسترسی به ابزارهای سخت افزاری کامپیوتر شما

است. مانند ترمینالها (tty)، دیسکهای فلاپی (fd)، دیسکهای سخت (hd) و … کاربران بطور معمول برای دستیابی به این دستگاهها از نامهای آنها استفاده میکنند.
• etc : حاوی برخی فایلهای پیکربندی سیستم است.
• home : دایرکتوری های کاربران یک سیستم لینوکس در این دایرکتوری قرار میگیرد.
• mnt : محلی را برای متصل کردن ابزارها و دیسکها مانند فلاپی، CD-ROM و درایوهای شبکه ایجاد میکند.

• root : دایرکتوری خانگی کاربر ریشه است.
• sbin : دستورات مدیریتی سیستم در این دایرکتوری قرار میگیرند.
• tmp : محل قرارگیری فایلهای موقت.
• usr : محل قرارگیری مستندات سیستم، بازی ها، فایلهای گرافیکی، کتابخانه ها و بسیاری چیزهای دیگر.
ساختار سیستم فایل در داس و ویندوز با ساختار آن در لینوکس متفاوت هستند. با وجودی که شباهت هایی نیز در این میان دیده میشود ولی تفاوت های عمده به شرح زیر هستند:
• در داس و ویندوز برای دسترسی به ابزارهای ذخیره سازی مختلف و پارتیشن های مختلف دیسک سخت از حروفی که به نام درایو موسوم بودند استفاده میکردید. مانند A برای فلاپی، C برای دیسک سخت و … در لینوکس تمام ابزارهای ذخیره سازی در دل سیستم فایل باهم ادغام شده اند. مثلا محتویات یک فلاپی دیسک در مسیر mnt/floppy قرار میگیرد و… ممکن است در ابتدای کار اصلا به این سیستم عادت نداشته باشید ولی پس از مدتی به آن عادت خواهید کرد. محلی که شما برای ذخیره فایلها و اطلاعات خود استفاده خواهید کرد، همان دایرکتوری خانگی شماست.
• در سیستم فایل داس و ویندوز برای جداکردن پوشه ها و مسیرها از بک اسلش استفاده میشود در حالی که در لینوکس از اسلش استفاده میشود.
• نام فایلها در داس و ویندوز همیشه دارای یک پسوند بوده اند. مانند txt برای فایلهای متنی و… پسوند فایل ها برای لینوکس و یونیکس لازم نیستند. سیستم فایل لینوکس بدون توجه به پسوند، نوع فایل را تشخیص میدهد.
• هر فایل و دایرکتوری در لینوکس دارای مجوزها و خصوصیاتی است که از دسترسی کاربران غیر مجاز به آن جلوگیری کرده و یا این دسترسی را محدود میکند. در بیشتر سیستمهای داس و ویندوز از این مجوزها خبری نیست زیرا این سیستمها در ابتدا بصورت سیستمهای تک کاربره طراحی و پیاده سازی شده اند. در سیستمهای ویندوز، سیستمهای مبتنی بر ویندوز NT که بصورت چند کاربره هستند این مجوزها پیاده سازی شده است

نصب بسته های rpm در لینوکس
امروزه بسیاری از توزیع های لینوکس بعلت سادگی و قابلیتهای غیر قابل انکار بسته های نرم افزاری با فرمت rpm از این تکنولوژی برای نصب بسته های نرم افزاری با استفاده از دستور rpm، استفاده میکنند . نصب بسته های rpm هم ازطریق رابط گرافیکی و هم از راه تایپ مستقیم دستورات در خط فرمان لینوکس امکانپذیر است .
توجه داشته باشید که برای نصب یا برداشتن یک بسته نرم افزاری در لینوکس باید ابتدا بعنوان کاربر ریشه root وارد سیستم شوید . البته بسیاری از توزیعهای لینوکس با تهیه برنامه گرافیکی مناسب در محیطهای دسکتاپ لینوکس این مشکل را با پرسیدن رمز کاربر ریشه در ابتدای اجرای برنامه نصب یا برداشتن بسته ها برطرف نموره اند .
شکل کامل این دستور در خط فرمان عبارتست از :
$ rpm -i [option] package
package نام بسته rpm است. این بسته ممکن است در مسیر جاری روی هاد دیسک شما قرار داشته باشد، یا در روی درایو CD-ROM و یا روی سایت FTP .

توجه : در صورتی که دستور نصب بسته‌ای را صادر کنید که روی سایت FTP قرار دارد، این بسته ابتدا از سایت دانلود شده و سپس نصب می‌گردد.

 

همراه با گزینه i هنگام نصب می‌توانید از گزینه‌های زیر استفاده نمایید:
-vv- این گزینه اطلاعات Debugging را هنگام نصب چاپ میکند. با این گزینه تمام آنچه را هنگام نصب رخ میدهد خواهید دید.
– h- فرایند نصب بسته را بصورت تعدادی کاراکتر # نشان میدهد. این کاراکترها در کنار هم تشکیل یک نوار پیشروی (Progress bar) را میدهند که برای کسب اطلاعات از وضعیت نصب بسته مفید است.
– percent- درصد پیشرفت نصب بسته را حین فرایند نصب چاپ میکن

د.
قبل از اینکه نصب بسته شروع شود، ابزار rpm بررسی‌هایی مبنی بر نصب بودن نسخه جدیدتر بسته و یا بسته های دیگری که به آن نیاز می‌باشد (Dependencies) به عمل می‌آورد. در صورتی که بسته‌های جدیدتر وجود داشته باشد، بسته نصب نخواهد شد. برای عبور از این شرایط می‌توانید از گزینه های زیر استفاده کنید:
– force– با استفاده حتی اگر بسته در حال نصب قدیمی تر از بسته نصب شده باشد، نصب خواهد شد. این کار فایلهای جدیدتر را با فایلهای قدیمی تر جایگزین خواهد کرد. این گزینه مشابه استفاده از گزینه های oldpackage، rplacefiles و replacepkgs است.
– nodeps– بسته های مورد نیاز برا نادیده گرفته و بسته را نصب میکند. البته ممکن است بسته ای که اینگونه نصب شود، کار نکند.
– ignorearch– با استفاده از این گزینه اگر بسته با معماری پردازنده شما سازگاری نداشته باشد نیز نصب خواهد شد.
– ignoreos– در صورتی که بسته با سیستم عامل کامپیوترتان سازگاری نداشته باشد، نصب خواهد شد.
مثال زیر چگونگی نصب یک بسته را نشان می‌دهد :
$ rpm -i audiofile-devel-0.6-1.i386.rpm
من شخصا ترجیح میدهد هنگام نصب بسته مطلع باشم که چه چیزی رخ میدهد. برای این کار معمولا گزینه vv را هم اضافه می‌کنم:
$ rpm -ivv audiofile-devel-0.6-1.i386.rpm
D: counting packages to install
D: found 1 packages
D: looking for packages to download
D: retrieved 0 packages
D: New Header signature
D: Signature size: 160

با استفاده از یک خروجی اینچنینی می‌توانید به تمام جزئیات عملیاتی که هنگام نصب بسته انجام می‌شود ، پی ببرید. راه دیگری که می‌توانید بررسی کنید که آیا بسته به درستی نصب شده است یا خیر استفاده از گزینه h است. به مثال زیر توجه کنید :
$ rpm -ivh audiofile-devel-0.6-1.i386.rpm

audiofile-devel [###################################]100%
بوسیله این گزینه، همانطور که می‌بینید تعدادی کاراکتر # روی صفحه ترمینال چاپ می‌شود که بیانگر صحت نصب بسته است. همانطور که دیدید در صورتی که اشکالی وجود نداشته باشد، نصب بسته های rpm بسیار آسان است. برخی اوقات ممکن است در نصب بسته ها اشکالاتی ایجاد شود که نمونه هایی از آنها در زیر شرح داده شده اند.
-خطای بسته های مورد نیاز (Package dependencies errors) : در صورتی که بسته‌هایی که نصب می‌کنید، برای کارکرد صحیح به بسته‌های دیگری نیاز داشته باشند، این خطا را دریافت خواهید کرد. برای حل این مشکل کافی است که بسته‌های مورد نیاز را نیز تهیه کرده و قبل از نصب بسته اصلی آنها را نصب کنید. البته همانطور که در بالا شرح

داده شد، می‌توانید rpm را مجبور کنید تا بسته های مورد نیاز را بررسی نکند، ولی این کار به هیچ وجه توصیه نمی شود زیرا بسته نصب شده کار نخواهد کرد.
– خطاهای کاربر غیر ریشه : در صورتی که در حالت کاربر ریشه نباشید و دستور rpm را با گزینه i اجرا کنید، این خطاها را دریافت خواهید کرد. برای رفع این مشکل کافی است با استفاده از دستور su بصورت کاربر ریشه وارد شوید.
ارتقا بسته های rpm

این فقط قسمتی از متن مقاله است . جهت دریافت کل متن مقاله ، لطفا آن را خریداری نمایید
word قابل ویرایش - قیمت 19700 تومان در 129 صفحه
197,000 ریال – خرید و دانلود
سایر مقالات موجود در این موضوع
دیدگاه خود را مطرح فرمایید . وظیفه ماست که به سوالات شما پاسخ دهیم

پاسخ دیدگاه شما ایمیل خواهد شد