توانایی خود را افزایش دهیم

فرهنگ و هنر
توانایی خود را افزایش دهیم

بسم الله الرحمن الرحیم

با سلام

• لطفا مطالب سایت را به صورت منظم پیگیری کنید
• ارائه پیشنهادات و نظرات شما باعث بهبود کیفیت ارائه مطالب خواهد شد

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

طبقه بندی موضوعی
آخرین نظرات
يكشنبه, ۸ تیر ۱۳۹۳، ۱۱:۰۲ ب.ظ

درس هفتم- خط فرمان

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

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

اگر بپرسید چرا این برنامه‌ها را شبیه ساز ترمینال می نامند،‌ باید بگویم که  در زمان های قدیم که کامپیوترها بسیار گران بودند، دانشگاه ها یا موسسات بسیار پولدار یک کامپیوتر مرکزی می خریدند که در اصل یک سی پی یو (پردازنده) بود و کمی حافظه و یک دیسک و بعد هر کسی که می‌خواست از آن استفاده کند، با استفاده از دستگاهی مانند تصویر زیر به آن وصل می شد:

دستگاه بالا را «ترمینال» می نامیدند. برخلاف ظاهر کامپیوتر مانند آن، این دستگاه تنها یک نمایشگر و یک کیبورد است که باید آن را از طریق یک شبکه خاص به یک کامپیوتر مرکزی متصل کرد. این ترمینال فقط و فقط توانایی تایپ کردن دستورات و نمایش خروجی به منظور ارتباط با کامپیوتر مرکزی را دارد. مشخص است که عمر این دستگاه ها به سر رسیده و حالا حتی اگر قرار باشد با یک کامپیوتر مرکزی ارتباط برقرار کنیم و دستورات مان را به آن بفرستیم، از یک کامپیوتر واقعی استفاده می کنیم که روی آن یک شبیه ساز ترمینال (یعنی نرم افزاری که عملکرد مشابه عکس ترمینال بالا دارد) قرار دارد.

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

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

شاید یک مثال خوب برای درک اهمیت ترمینال، مقایسه آن با بالا زدن کاپوت خودرو و نگاه کردن به موتور باشد. سیستم های مشابه یونیکس (از جمله گنو/لینوکس ها) براساس یک فلسفه بنا شده اند. یک بخش از این فلسفه می گوید «همه چیز یا باید فایل باشد یا پروسس» و بخش دیگری تاکید دارد که «همه تنظیمات باید در فایل های متنی ذخیره شوند». ترکیب این دو یعنی قدرت فوق العاده ترمینال. چطور؟

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

و با زدن یک دستور، فایل مربوط به تنظیمات ظاهر پنجره ها را پاک کند (یا اگر نمی داند اول با یک دستور دیگر آن را پیدا کند)‌ تا ظاهر پنجره ها به حالت پیش فرض برگردند. درست مثل کسی که وقتی خودرو به درستی استارت نمی زند، بلد است کاپوت ماشین را بالا بزند و مشکل را در موتور رفع کند.

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

فرض کنید در همین لحظه بخواهیم یک فایل جی.پگ (JPEG) را از روی دسکتاپ به پی.ان.جی. (PNG) تغییر فرمت دهیم. در حالت عادی باید دستمان را از روی کیبورد به روی ماوس ببریم، این پنجره را که در حال خواندن آن هستید را کوچک کنیم، دسکتاپ را ببینم، آیکون آن فایل را پیدا کنیم، رایت کلیک کنیم و Open with Gimp (که برنامه ای برای ادیت تصاویر است را بزنم) و بعد از اینکه آن برنامه سنگین باز شد از منوی File، آن را به یک اسم جدید ذخیره کنیم و اسم جدید را بدهیم و فرمت را از یک کشوی باز شونده PNG انتخاب کنیم و بر روی Save کلیک کنیم. سپس باید برنامه گرافیکی را ببندیم و این پنجره را بزرگ کنیم و ادامه بدهیم به نوشتن این درس اما ما ترجیح می دهیم اینکار را در ترمینال انجام دهیم. یک دکمه F12 ترمینال زیبایی را از بالای صفحه به پایین خواهد لغزاند و می نویسم:

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

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

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

ما و شما هم باید بدانیم که هر برنامه کامپیوتری باگ (اشکال نرم افزاری) دارد، چه باگ های دردسرزا برای اجرای برنامه ها و چه باگ های امنیتی. پس واقعا چه نیازی است که یک سرور، محیط گرافیکی ای را لود کند که نه تنها حجم زیادی از کدهایش هیچ ربطی به کار واقعی آن سرور ندارد،‌ بلکه لانه ای برای باگ های نرم افزاری باشد؟

متخصص های کامپیوتر دلایل دیگری هم برای علاقه خاص شان به خط فرمان دارند ولی ما و شما می توانیم فعلا در همین حد متوقف شویم که خط فرمان سریع تر است، در سرورها منابع کمتری را به هدر می دهد، دسترسی ما به هر آنچه در یک سیستم هست و نیست را فراهم می کند و قابلیت کنترل بیشتری به کسی که پشت سیستم گنو/لینوکسی نشسته است می دهد؟

در آخر اضافه کنیم که خط فرمان منحصر به گنو/لینوکس نیست. ویندوز از قدیم خط فرمانی داشته که با دستور cmd از منوی Run قابل دسترسی بوده و مک هم از نسخه OS X به بعد،‌ از یک خط فرمان کاملا یونیکسی با همه ابزارهایی که در گنو/لینوکس هم یافت می شوند، پشتیبانی می کند.

این را هم اضافه کنیم که یکی از تبلیغات پر سر و صدای ویندوز سرور نسخه هشت، چیزی است به نام «خط فرمان» که به گفته مایکروسافت به مدیران سیستم این قابلیت را خواهد داد تا به سرعت و قدرت از طریق دستورات متن، کل سرور را کنترل کنند و حتی با نوشتن دستورات در داخل برنامه های ویژه خط فرمان، کارهای حجیم را به شکل خودکار مدیریت کنند؛‌ کاری که به گفته خود مایکروسافت در محیط گرافیکی بسیار مشکل بوده است.

موافقین ۰ مخالفین ۰ ۹۳/۰۴/۰۸

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی