در مقاله "کرنل چیست؟" در مورد کرنل و دلیل وجود آن در یک سیستمعامل صحبت کردیم. در این مقاله میخواهیم در رابطه با خط فرمان صحبت کنیم.
همچنین گفتیم که برای ارتباط با یک سیستمعامل دو پوسته با نامهای "پوسته گرافیکی (GUI)" و "پوسته خط فرمان (CLI)" وجود دارد.
در این مقاله میخواهیم در مورد اهمیت پوسته خط فرمان صحبت کنیم.
خط فرمان (CLI) یک روش برای ارتباط با کرنل یک سیستمعامل میباشد.
اما این روش به هیچ وجه زیباییهای ظاهری یک محیط گرافیکی را ندارد.
در عوض، بسیار سریع، دقیق و کاربردی است!
تفاوتهای پوسته گرافیکی و خط فرمان
در پوسته گرافیکی شما راحتی میتوانید از ابزارهایی همانند فوتوشاپ، پاور پوینت، پخش کنندههای موسیقی و ویدیو و ... استفاده کنید.
عملیاتی که هر کس در ابتدای آشنایی خود با کامپیوتر انجام میدهد و عموما از آنها به عنوان عملیات روزمره یاد میشود.
اما عموم متخصصین حوزه فناوری اطلاعات ترجیح میدهند که از یک پوسته خط فرمان به جای پوسته گرافیکی استفاده کنند. اما چرا؟
1. درگیر نشدن با پیچیدگیهای محیط گرافیکی!
یکی از دلایلی که متخصصان محیط CLI را به محیط GUI ترجیح میدهند، پیچیدگیهای محیط گرافیکی است.
فرض کنید یک سیستمعامل لینوکس در اختیار شما قرار دادهاند و به شما میگویند کارت شبکه آن را فعال کنید.
برای اینکار دو راه پیش روی شماست:
یک) از طریق محیط گرافیکی به دنبال قسمتی بگردید که تنظیمات کارت شبکه در آن است
دو) درون ترمینال سیستمعامل وارد کنید: ifconfig eth0 up
کدام یک سریعتر است؟ قطعا مورد دوم!
در روش دوم، شما فقط به یک ترمینال نیاز دارید و دستورات ترمینال همیشه مشخص و ثابت است.
بنابراین فارغ از اینکه سیستمعامل پیش روی شما Kali، Debian، Ubuntu، KUbuntu و ... است، شما دستور خود را وارد ترمینال میکنید.
اما اگر همین کار را بخواهید از طریق محیط گرافیکی انجام دهید مشکلاتی بر سر راه شما وجود دارد:
- تنظیمات کارت شبکه در هر کدام از این سیستمعاملها متفاوت است
- تنظیمات کارت شبکه در هر نسخه از این سیستمعاملها ممکن است با دیگری فرق کند
در صورتی که دستور ifconfig همواره یک دستور ثابت بوده و در سیستمعاملها و نسخ آن دچار تغییر نمیشود.
2. سرعت بالاتر
در بسیاری از موارد محیط گرافیکی بدلیل استفاده از انیمیشنهای زیاد، رندرینگ سنگینتر، پیچیدگیهای ارتباط گسترده با کارت گرافیک، از سرعت کمتری نیز برخوردار هستند.
برای مثال حتما دیدهاید که سیستمعامل شما برای باز کردن یک صفحه ساده گاهی اوقات با اندکی مکث مواجه میشود.
این مساله میتواند نتایج موارد ذکر شده باشد.
اما در محیط خط فرمان دیگر پیچیدگیهای ذکر شده وجود ندارد و دستورات فورا اجرا میشوند.
3. مصرف کمتر منابع
محیط گرافیکی یک سیستمعامل منابع بسیار بیشتری نسب به یک محیط CLI مصرف میکند.
این منابع پردازنده، کارت گرافیک، حافظه و ... میباشند.
در صورت استفاده از CLI این امکان وجود دارد که منابع را بصورت مترکز برای عملیات مدنظر استفاده کنیم و نه برای پردازشهای سنگین محیط گرافیکی.
4. مدیریت راحتتر سیستم
در بسیاری از موارد مدیریت سیستم از طریق CLI راحتتر است.
مثلا ساخت یک حساب کاربری در ویندوز از طریق محیط گرافیکی چندین مرحله دارد.
اما همین کار از طریق CMD تنها با زدن دستور زیر امکان پذیر است:
در اینجا یک حساب کاربری به نام newuser و با کلمه عبور 1234 ساختیم.
جایگاه کار با CLI در حوزه فناوری اطلاعات
درصد بسیار زیادی از متخصصان حوزه فناوری اطلاعات ترجیح میدهند کارهای خود را در محیط CLI انجام دهند.
این موضوع دلایل بسیار زیادی از جمله مواردی که بالاتر ذکر کردیم دارد.
همچنین بسیاری از ابزارهای کاربردی نظیر کامپایلر gcc، ابزارهای اسکن شبکه، ابزارهای ارزیابی امنیتی یک سیستم و ... مبتنی بر خط فرمان میباشند.
علاوه بر این در بسیاری از مواقع، دسترسی از راه دور به سرورها و سیستمها از طریق SSH و یا Telnet انجام میشود که محیط آنها مبتنی بر خط فرمان میباشد.
بنابراین برای کنترل از راه دور سیستم از طریق این دو پروتکل لازم است که به دستورات خط فرمان سیستمعامل خود مسلط باشید.
اما این بدان معنا نیست که دیگر با محیط گرافیکی به هیچ وجه کار نکنیم و تمام تمرکز را برروی محیط خط فرمان بگذاریم.
برای مثال ابزارهای بسیار قدرتمندی وجود دارند که محیط گرافیکی دارند.
یکی از این ابزارها Burp Suite میباشد که در حوزه ارزیابی امنیتی Web Application بسیار مورد استفاده قرار میگیرد.
نتیجه گیری
هیچ یک از دو پوسته گرافیکی و خط فرمان را نمیتوان جایگزین دیگری کرد.
هر کدام خوبیها و بدیهای خاص خود را دارند.
محیط گرافیکی عموما برای افرادی با کاربری روزمره از یک سیستم کاربرد دارد.
محیط خط فرمان نیز به میزان زیادی توسط متخصصین مورد استفاده قرار میگیرد.
اما تسلط به هر دوی این موارد برای یک متخصص حوزه فناوری اطلاعات ضروری میباشد.