رابط خط فرمان (CLI) چیست؟
رابط خط فرمان (CLI) یک مکانیزم نرمافزاری است که برای تعامل با سیستم عامل از طریق صفحه کلید استفاده میکنید. مکانیزم دیگر، رابط کاربری گرافیکی (GUI) است که امروزه در همه برنامهها و سیستمهای نرمافزاری محبوب است. میتوانید از GUI برای ناوبری بصری و کلیک روی آیکونها و تصاویر برای انجام کارها استفاده کنید. با این حال، GUI برای وظایف مدیریت سیستم، به ویژه اگر محیط مجازی یا از راه دور باشد، ناکارآمد است. با رابط خط فرمان، میتوانید دستورات متنی را برای پیکربندی، ناوبری یا اجرای برنامهها در هر سرور یا سیستم رایانهای وارد کنید. همه سیستم عاملها—از جمله لینوکس، macOS و ویندوز—یک CLI برای تعامل سریعتر با سیستم ارائه میدهند.
مزایای CLI چیست؟
رابط خط فرمان (CLI) چندین مزیت ارائه میدهد.
- کارایی:
- به جای صرف زمان برای یافتن و کلیک روی فایلهای جداگانه، میتوانید از CLI برای انجام اقدامات روی چندین فایل در یک دستور متنی استفاده کنید. اگر با دستورات آشنا هستید، میتوانید به سرعت در سیستم خود پیمایش کرده و با آن تعامل داشته باشید. همچنین میتوانید اسکریپتهایی ایجاد کنید که چندین دستور را در CLI برای خودکارسازی وظایف یکنواخت یا تکراری انجام میدهند.
- دسترسی از راه دور:
- برنامههای CLI اغلب در مقایسه با برنامههای گرافیکی، منابع شبکه کمتری مصرف میکنند. این امر برنامههای CLI را برای سیستمهایی با قابلیتهای سختافزاری محدود یا محیطهای سرور از راه دور مناسب میکند.
- میتوانید سرورها را از راه دور با ارسال دستورات از طریق یک پوسته امن، حتی با اتصالات پهنای باند پایین، مدیریت کنید. این روش ترجیحی برای مدیریت سرورها و نمونههای ابری، به ویژه در محیطهای بدون هد (headless) است که هیچ رابط گرافیکی در دسترس نیست.
- عیب یابی:
- برای توسعهدهندگان و مدیران سیستم، استفاده از رابطهای خط فرمان یک مهارت ارزشمند است که درک عمیقتری از سیستم زیربنایی را تشویق میکند. میتواند شما را در ابزارها و برنامههای کاربردی مختلف ماهرتر کند و مدیریت خطا را بهبود بخشد.
- به عنوان مثال، میتوانید از CLI برای مشاهده گزارشهای سیستم و یافتن سریع پیامهای خطای جامع و اطلاعات اشکالزدایی استفاده کنید. دستورات مبتنی بر متن نیز به راحتی قابل مستندسازی هستند. این امر به اطمینان از قابل بازتولید بودن وظایف کمک میکند و عیبیابی مراحل را در آینده آسانتر میکند.
موارد استفاده از CLI چیست؟
میتوانید از رابط خط فرمان (CLI) در بسیاری از موارد استفاده به دلیل تطبیقپذیری آن استفاده کنید. به عنوان مثال، اگر مدیر سیستم، مهندس نرمافزار، دانشمند داده یا کاربر فنی هستید که کنترل بیشتری میخواهید، میتوانید از استفاده از CLI بهرهمند شوید. در ادامه چند مثال ارائه میدهیم.
- مدیریت سیستم:
- مدیران سیستم از CLI برای رفع مشکلات مربوط به سیستم، بررسی پیکربندیهای سیستم عامل و تغییر یا بهروزرسانی پیکربندیها در ماشینهای از راه دور استفاده میکنند. آنها میتوانند دستورات را اجرا کرده و سیستمها را در مقیاس کنترل کنند.
- توسعه نرم افزار:
- توسعهدهندگان نرمافزار به طور منظم از ابزارهای CLI برای صرفهجویی در زمان و سادهسازی گردش کار خود استفاده میکنند. به عنوان مثال، آنها اغلب در حین کار به کتابخانههای شخص ثالث دسترسی پیدا میکنند. اگر با استفاده از CLI به این کتابخانهها ارجاع اضافه کنند، میتوانند این کار را با یک دستور وارد شده انجام دهند، به جای اینکه دستورالعملهایی را برای جستجوی کتابخانه با استفاده از GUI بگذارند. این رویکرد باعث صرفهجویی در زمان برای توسعهدهنده و کاربران آیندهای میشود که با سیستم تعامل دارند.
- رایانش ابری:
- در محیطهای ابری، CLI برای مدیریت ماشینهای مجازی، کانتینرها، سرویسهای ابری و پیکربندیهای سرور ضروری است. توسعهدهندگان و مدیران از CLI برای تعامل با APIهای ارائهدهندگان ابری، خودکارسازی تهیه منابع و استقرار برنامهها استفاده میکنند.
- مدیریت شبکه:
- مدیران شبکه از CLI برای پیکربندی روترها، سوئیچها، فایروالها و سایر دستگاههای شبکه استفاده میکنند. ابزارهای CLI زمانی کمک میکنند که میخواهید ترافیک شبکه را نظارت کنید، مشکلات اتصال را عیبیابی کنید و سیاستهای امنیتی را اجرا کنید. تستکنندگان نفوذ نیز از ابزارهای خط فرمان برای اسکن آسیبپذیری، شناسایی شبکه و تجزیه و تحلیل رخدادها استفاده میکنند.
CLI چگونه کار میکند؟
رابط خط فرمان (CLI) یک رابط مبتنی بر متن است که در آن میتوانید دستوراتی را وارد کنید که با سیستم عامل رایانه تعامل دارند. CLI با کمک پوسته پیشفرض کار میکند که بین سیستم عامل و کاربر قرار دارد.
- پوسته CLI:
- پوسته به برنامهای اشاره دارد که واسطهای بین کاربر و سیستم عامل است. مثالها عبارتند از Bash، cmd.exe، PowerShell و سایر موارد برای عملکردهای خاصتر.
- پوسته مسئول رسیدگی به وظایف مختلفی مانند تجزیه دستور، مدیریت محیط و اجرای فرآیند است. پوستهها همچنین از ویژگیهایی مانند این موارد پشتیبانی میکنند:
- تاریخچه دستور، که در آن میتوانید با استفاده از کلیدهای جهتدار یا میانبرهای دیگر به دستورات وارد شده قبلی دسترسی پیدا کنید.
- تغییر مسیر ورودی و خروجی
- پایپینگ—جایی که خروجی یک دستور را به عنوان ورودی دستور دیگری متصل میکنید—و مدیریت متغیرهای محیطی
- علاوه بر این، میتوانید محیط پوسته خود را سفارشی کنید. برای انجام این کار، میتوانید متغیرهای محیطی را تنظیم کنید، نامهای مستعار (میانبرهایی برای دستورات طولانیتر) را تعریف کنید و اسکریپتهای پوسته را برای خودکارسازی یا وظایف تکراری ایجاد کنید.
- نحوه عملکرد دستورات:
- هنگامی که دستوری را در CLI وارد میکنید، مراحل زیر رخ میدهد:
- مفسر خط فرمان پوسته دستور وارد شده را تجزیه میکند تا ساختار آن را درک کند و نام دستور، گزینهها و آرگومانها را جدا کند.
- پوسته نام دستور را در لیست دستورات موجود خود جستجو میکند. نام دستور نشان دهنده عملی است که کاربر میخواهد سیستم عامل انجام دهد.
- متغیر PATH سیستم (لیستی از دایرکتوریها که فایلهای سیستم در آن قرار دارند) را جستجو میکند تا فایل مربوطه مرتبط با دستور را پیدا کند.
- پوسته CLI فایل مناسب را فراخوانی میکند و هر گزینه و آرگومان مشخص شده را به عنوان ورودی ارسال میکند.
- سیستم عامل اقدامات لازم را انجام میدهد.
- ممکن است خروجی تولید کند، مانند پیامهای اطلاعاتی، پیامهای خطا، دادههای درخواستی یا نتیجه عملیات.
- پوسته CLI خروجی را نمایش میدهد، بنابراین میتوانید نتیجه دستور را ببینید.
- پوسته CLI در یک حلقه کار میکند و منتظر میماند تا دستور دیگری را وارد کنید. فرآیند ورود دستور، تجزیه، اجرا و نمایش خروجی با تعامل شما با پوسته CLI تکرار میشود. این یک رابط پیوسته برای تعاملات مبتنی بر دستور ارائه میدهد.
- هنگامی که دستوری را در CLI وارد میکنید، مراحل زیر رخ میدهد:
چگونه رابط خط فرمان را در سیستم خود باز میکنید؟
هر سیستم عامل اصلی روش کمی متفاوت برای دسترسی به رابط خط فرمان (CLI) دارد.
- ویندوز:
- در اینجا نحوه باز کردن CLI در ویندوز در ویندوز ۸ یا بالاتر آمده است:
- کلید ویندوز و “S” را فشار دهید
- “cmd” را در قسمت جستجو تایپ کنید
- روی “Command Prompt” راست کلیک کرده و “Run as Administrator” را انتخاب کنید
- اکنون میتوانید یک خط فرمان را وارد کنید
- در اینجا نحوه باز کردن CLI در ویندوز در ویندوز ۸ یا بالاتر آمده است:
- مک:
- در اینجا نحوه باز کردن CLI در مک آمده است:
- برنامه Finder را پیدا کنید، که معمولاً در نوار ابزار شما قرار دارد
- در /Applications/Utilities حرکت کنید
- “Terminal” را انتخاب کنید
- اکنون میتوانید یک خط فرمان را وارد کنید
- در اینجا نحوه باز کردن CLI در مک آمده است:
- لینوکس روش سادهای برای دسترسی به CLI دارد: از میانبر CTRL+ALT+T استفاده کنید.
- به طور متناوب، میتوانید از ALT+F2 استفاده کنید و سپس “gnome-terminal” را وارد کنید.
برخی از دستورات رایج رابط خط فرمان چیست؟
رابط خط فرمان (CLI) دستورات مختلفی برای انواع مختلف وظایف دارد. دستورات بین سیستم عاملها کمی متفاوت هستند. در ادامه چند نمونه دستور مختلف ارائه میدهیم.
دستورات سیستم فایل
دستور CLI | ویندوز | لینوکس |
تغییر دایرکتوری | cd | cd |
آخرین فایلها | dir | ls |
ایجاد دایرکتوری | mkdir | mkdir |
حذف دایرکتوری | rmdir | rmdir |
کپی فایلها | copy | cp |
انتقال فایلها | move | mv |
تغییر نام فایلها | ren | mv |
نمایش فایلها | type | cat |
حذف فایلها | del | rm |
تغییر مجوزها | cacls/chmod | chmod |
دستورات شبکه
دستور CLI | ویندوز | لینوکس |
پینگ | ping | ping |
ردیابی مسیر | tracert | traceroute |
پیکربندی شبکه | ipconfig | ifconfig |
جدول مسیریابی | route | route |
جستجوی DNS | nslookup | nslookup |
عیبیابی شبکه | netsh | netstat |
دستورات اطلاعات
دستور CLI | ویندوز | لینوکس |
لیست فرآیندها | tasklist | ps |
پایان فرآیند | taskkill | kill |
اطلاعات سیستم | systeminfo | uname -a |
استفاده از دیسک | wmic/fsutil | df |
نظارت بر سیستم | perfmon | top/htop |
بهترین روشهای CLI چیست؟
در حالی که رابط خط فرمان (CLI) مفید است و میتواند دسترسی از راه دور را فراهم کند، نیاز به دقت و آگاهی از دستورات صحیح دارد. درک دستوراتی که وارد میکنید، تضمین میکند که نتیجه مطلوب را دریافت میکنید. اگر با دستوری آشنا نیستید، قبل از وارد کردن آن در CLI، باید در مورد عملکرد آن تحقیق کنید. به همین ترتیب، مطمئن شوید که دستور را بدون هیچ گونه تغییری یا اشتباه املایی وارد میکنید.
یکی دیگر از روشهای مهم، محدود کردن CLI برای کاربران غیرمجاز است. اعطای حقوق مدیر فقط به افراد مورد اعتماد، تعاملات غیرضروری با سیستم را محدود میکند. میتوانید از دسترسی غیرمجاز به منابع حیاتی جلوگیری کنید.
یک روش امنیتی اضافی که باید در نظر بگیرید، بهروز نگه داشتن سیستم شما است. بهروزرسانیها رفع اشکال، بهبود عملکرد و مهمتر از همه، وصلههای امنیتی را منتشر میکنند. بهروز نگه داشتن CLI تضمین میکند که سیستم شما تا حد امکان ایمن است. در نهایت، ثبت تمام فعالیتهای CLI برای شناسایی تغییرات، شناسایی رفتار مشکوک و عیبیابی در صورت بروز هرگونه مشکل، ایده خوبی است.