بعد از اینکه بفهمید CLI چیست، آرزو خواهید کرد که کاش روزی چنین چیزی روی سختافزار مغز افراد هم قابل نصب شود. از روی مبحث یک راه ارتباطی دقیق و صریح و بیحاشیه، که منظور شما را به خروجی دستگاهتان (چه ویندوزی باشد چه لینوکس و…) نباید سریع گذشت. بنابراین ما در این مقاله بررسی خواهیم کرد که رابط خط فرمان چیست، چه کاربردهایی دارد و چطور میتوانیم از آن استفاده کنیم. سپس با مفهوم مشابه دیگری به نام GUI نیز آشنا خواهیم شد و آن را با CLI مقایسه خواهیم کرد. بهتر است این مقاله را با کامپیوتر مطالعه کنید تا بتوانید همزمان با خواندن، برخی اقدامات را امتحان کنید و عمیقا بفهمید.
CLI چیست؟
Command Line Interface یا رابط خط فرمان (CLI) نرمافزاری است که به شما اجازه میدهد تا از طریق صفحهکلید با سیستمعامل خود تعامل داشته باشید. CLI دستورهای ورودی واضح شما را (که فقط یک معنای مشخص دارند) دریافت و آنها را به کامپیوتر شما تفهیم میکند تا اجرا شوند. اگر همین حالا در بخش جستجوی کامپیوترتان CMD را تایپ کنید ( در مک دکمه Command (⌘) + Space) میتوانید وارد فضای CLI شوید. واسط خط فرمان ابزار قدرتمندی برای اجرای دستورات سیستمی است، اما برای مدیریت پیشرفته تر سیستمعامل ویندوز، استفاده از دستورات مهم پاورشل پیشنهاد میشود. این دستورات به شما کمک میکنند کارهای پیچیده را بهصورت خودکار و کارآمد انجام دهید.
مزایا و معایب استفاده از CLI چیست؟
مزایایی CLI
در زمانهای قدیم که احتمالا هیچکدام از ما و پدیدهای به نام «ماوس» به دنیا نیامده بودیم، کامپیوترها یک کیبورد و یک مانیتور داشتند. بنابراین تمام فرآیندهای کامپیوتری به صورت خطی انجام میشد. اما اینکه CLI در زمان حال هم کاربرد دارد، به دلیل مزایای این ابزار است:
1. کارایی
به جای صرف وقت برای پیدا کردن و کلیک روی فایلهای جداگانه، میتوانید از CLI برای انجام اقدامات روی چندین فایل با یک دستور متنی استفاده کنید. اگر با دستورها آشنا باشید، میتوانید به سرعت در سیستم خود پیمایش کرده و با آن تعامل کنید. همچنین میتوانید اسکریپتهایی ایجاد کنید که چندین دستور را در CLI اجرا کنند تا کارهای تکراری یا خستهکنندهتان بهصورت خودکار انجام شوند.
2. دسترسی از راه دور
برنامههای CLI معمولاً منابع شبکه کمتری نسبت به برنامههای گرافیکی مصرف میکنند. این موضوع CLI را برای سیستمهای با سختافزار محدود یا محیطهای سرور از راه دور مناسب میکند. شما میتوانید با ارسال دستورها از طریق یک شل امن، حتی با اتصالات پهنای باند پایین، سرورها را از راه دور مدیریت کنید. این روش ترجیحی برای مدیریت سرورها و نمونههای ابری است، بهویژه در محیطهای بدون رابط گرافیکی
در بسیاری از سیستمها، اجرای دستورات خط فرمان میتواند شامل پردازشهای سنگین باشد. در چنین شرایطی، آگاهی از چیستی GPU و کاربرد واحد پردازش گرافیکی و نحوه بهرهگیری از سرور gpu در پردازشهای موازی، میتواند کارایی را افزایش دهد.
3. عیبیابی سیستم
برای توسعهدهندگان و مدیران سیستم، استفاده از رابط خط فرمان یک مهارت ارزشمند است که درک عمیقتری از سیستم پایه ایجاد میکند. این میتواند شما را در استفاده از ابزارها و برنامههای مختلف ماهرتر کند و مدیریت خطا را بهبود بخشد.
برای مثال، میتوانید از CLI برای مشاهده لاگهای سیستم و به سرعت یافتن پیامهای خطا و اطلاعات دیباگ استفاده کنید. همچنین دستورهای متنی به راحتی قابل مستندسازی هستند که این امر تضمین میکند که کارها قابل بازتولید باشند و در آینده مراحل عیبیابی آسانتر شود.
معایب CLI چیست؟
با وجود این مزایا، یک ایراد را میتوان به CLI نسبت داد:
1. احتمال خطا
اگر کاربران دستور اشتباهی تایپ کنند، احتمال اینکه فایلهای نادرست را حذف کنند یا به طور تصادفی برنامه را قبل از ذخیره کارشان ببندند، وجود دارد. این چیزی است که مردم به عنوان نقطه ضعف اصلی استفاده از CLI در نظر میگیرند.
Shell را بشناسیم تا CLI را بفهمیم!
اگر بخواهیم طرز کار CLI را درک کنیم به مفهوم Shell برمیخوریم. Shell یک رابط کاربری است که وقتی دستور متنی را تایپ میکنید، مسئولیت پردازش آنها را میپذیرد. شل دستورها را میخواند، تفسیر میکند و به سیستم عامل دستور میدهد تا کارهای خواستهشده را انجام دهد. میشود گفت Shell رابط بین کاربر و سیستمعامل است. شل میتواند کارهای زیادی را پردازش کند، از جمله:
- کار با فایلها و دایرکتوریها
- باز و بسته کردن برنامهها
- مدیریت فرایندهای کامپیوتری
- انجام کارهای تکراری
در میان انواع مختلف شل، محبوبترینها Windows Shell (برای ویندوز) و Bash (برای لینوکس و مکاواس) هستند. در ظاهر هر دویشان صفحات سیاه با حروف سفید و رنگی هستند و شبیه هم به نظر میرسند.
روشهای عملکرد CLI در Windows Shell
تعداد دستورهای موجود در Command Prompt ویندوز بسته به نسخهای که از آن استفاده میکنید، ممکن است کمی متفاوت باشد. بهطور کلی، حدود 280 تا 300 دستور داخلی در CMD وجود دارد. از دستورهای سادهای مثل دستور copy تا ابزارهای پیشرفتهتری برای تشخیص و پیکربندی سیستم، همگی قابل استفاده هستند. اگر کامپیوترتان در دسترس است، چند کامند یا دستور مهم را با ما امتحان کنید:
1. تغییر دایرکتوری:
برای جابهجایی به یک دایرکتوری خاص در Command Prompt، از دستور CD [مسیر] استفاده کنید. مطمئن شوید که قبل از مسیر یک فاصله قرار دهید. به عنوان مثال:
CD C:\Program Files
2. تغییر نام فایل:
برای تغییر نام یک فایل در یک پوشه خاص، از دستور REN [درایو:][مسیر] [نام قبلی] [نام جدید] استفاده کنید. اگر مکان فایل را ذکر کنید، فایل با نام جدید در همان پوشه ذخیره میشود. به عنوان مثال:
REN d:untitled.txt untitled1.txt
3. حذف فایل:
برای حذف یک فایل در Command Prompt از دستور DEL [نام فایل] استفاده کنید. اگر میخواهید گزینههایی مانند حذف اجباری اضافه کنید، آن را قبل از نام فایل وارد کنید. به عنوان مثال:
DEL /F untitled.txt
4. تغییر نام دیسک (Volume Disk):
برای تغییر نام یک دیسک خاص، از دستور LABEL [درایو:][نام جدید دیسک] استفاده کنید. توجه داشته باشید که میتوانید تا ۳۲ کاراکتر برای حجمهای NTFS و ۱۱ کاراکتر برای حجمهای FAT استفاده کنید. به عنوان مثال:
LABEL d:MyData
آشنایی با عملکردهای CLI در Bash
بش (Bash) که مخفف Bourne Again SHell است، توسط بنیاد نرمافزارهای آزاد (Free Software Foundation) توسعه داده شده است. گفتیم که بش نوعی شل برای لینوکس و مک است، اما میتوانید بش را روی ویندوزهای ۱۰ و۱۱ هم نصب کنید.
دسترسی به شِل در لینوکس و macOS
در اکثر توزیع های لینوکس، شِل در منوی Utilities قرار دارد. اگر از دسکتاپ Gnome استفاده میکنید، نام این برنامه “Terminal ” است، اما در KDE به نام “Konsole” شناخته میشود.
در macOS، برنامه مربوطه Terminal.app نام دارد. برای اجرای این برنامه، به مسیر Applications -> Utilities -> Terminal بروید یا به سادگی از جستجوی Spotlight استفاده کنید و “Terminal ” را تایپ کنید.
شروع کار با دستورها در شِل
پس از باز کردن ترمینال، میتوانید شروع به تایپ دستورها کنید.
1. لیست کردن همه فایلها در یک پوشه
برای دیدن فایلهای موجود در یک پوشه خاص از دستور ls استفاده کنید. دستور پیشفرض فایلهای مخفی را نشان نمیدهد. برای نمایش همه فایلها، میتوانید از گزینه -a استفاده کنید:
این دستور تمام فایلها و دایرکتوریهای موجود در پوشه فعلی را به همراه فایلهای مخفی (که نام آنها با نقطه آغاز میشود) نمایش میدهد.
2. تغییر دایرکتوری
برای رفتن به یک دایرکتوری خاص، از دستور cd استفاده کنید. برای مثال:
3. تغییر نام فایل
برای تغییر نام یک فایل در یک پوشه خاص، از دستور mv به صورت mv source destination استفاده کنید. به عنوان مثال:
4. حذف فایل
برای حذف یک فایل در پوشه خاص از دستور rm استفاده کنید. مثلاً:
اگر به هر دلیلی نیاز دارید پردازش در حال اجرا را متوقف کنید، کافی است کلیدهای Control + C را فشار دهید. این کار باعث توقف دستور یا اسکریپت جاری در شِل میشود.
GUI (رابط کاربری گرافیکی) چیست؟
از شرایط سخت و بدون ماوسی که CLI پدید آمد صحبت کردیم، اما بعد از اختراع ماوس، کامپیوترها به سمت بصریتر شدن پیش رفتند. GUI یا Graphical User Interface رابط کاربری است که به کاربران اجازه میدهد با موس و کیبورد، عملیات مورد نظرشان را به صورت بصری و گرافیکی انجام دهند. مثلا کارکردن با پنجرهها، منوها، دکمهها، آیکونها و… همه از طریق GUI امکانپذیر میشود.
ویژگی کلیدی GUI این است که کاربران نیازی به حفظ کردن دستورها خاص ندارند و بیشتر از ماوس برای تعامل استفاده میکنند.رابطهای گرافیکی (GUI) در سیستمعاملهایی مانند لینوکس و ویندوز استفاده میشوند.
تفاوت CLI و GUI در چیست؟
GUI به دلیل سهولت استفاده و دسترسی آسان، رایجترین رابط کاربری امروزی است. هر سیستمعامل به کاربران خود یک رابط CLI و/یا GUI برای انجام وظایف مختلف ارائه میدهد. در جدول زیر، میتوانید تفاوتهای کلیدی بین CLI و GUI را مشاهده کنید تا بهتر بتوانید تصمیم بگیرید کدام نوع رابط کاربری برای نیازهای شما مناسبتر است.
ویژگی | CLI (رابط خط فرمان) | GUI (رابط کاربری گرافیکی) |
حالت عملیاتی | بر اساس دستورها وارد شده توسط کاربر در ترمینال کار میکند. | از طریق عناصر بصری مانند آیکونها، دکمهها، پنجرهها و کادرهای گفتوگو کار میکند. |
عملکرد | به دلیل تمرکز توان پردازشی روی انجام وظایف، سریعتر و کارآمدتر است. | به دلیل استفاده از منابع بیشتر برای بارگذاری عناصر گرافیکی، سرعت کمتری دارد. |
دقت | کنترل دقیقتر و عملکرد بالاتری دارد. | قابلیتهای محدودی دارد و به دلیل تکیه بر نمایش گرافیکی، دقت کمتری نسبت به CLI دارد. |
منحنی یادگیری | نیازمند یادگیری دستورها و سینتکسهای پیچیده است. | یادگیری آسانی دارد و بیشتر رابطهای گرافیکی شهودی هستند. |
سهولت استفاده | استفاده از آن نیاز به دانش فنی زیادی دارد. | بسیار آسان برای استفاده است و برای مبتدیان مناسبتر است. |
ابزار ورودی | از صفحه کلید برای دریافت ورودی استفاده میکند. | از ماوس و صفحه کلید استفاده میکند. |
ظاهر | ظاهر CLI تغییرناپذیر است. | میتوان ظاهر GUI را به سلیقه کاربر تغییر داد. |
فضا برای خطا | اشتباه در تایپ دستورها ممکن است باعث بروز خطا شود. | GUI شهودیتر است و خطاها کمتر هستند. |
کاربرد معمول | معمولاً در سرورها و سیستمهای بدون رابط گرافیکی استفاده میشود. | بیشتر در دسکتاپها، لپتاپها و ماشینهای اداری استفاده میشود. |
نیاز به منابع | به حافظه و توان پردازشی کمی نیاز دارد. | به حافظه و توان پردازشی بیشتری نیاز دارد. |
جمع بندی
حالا که میدانید CLI چیست و چه کاربردهایی دارد و مسیر دسترسی به آن را در تمام سیستمعاملها میشناسید، بدون اضطراب دست به کار شوید. چندتا از دستورهای مهم و اصلی را ما در این مطلب به شما معرفی کردیم اما لیست این دستورات بسته به نیاز شما میتواند خیلی بیشتر هم باشد. یادتان باشد که تقریباً تمام دستورات CLI دارای راهنمایی داخلی هستند. با تایپ کردن man [command] میتوانید توضیحات کامل و گزینههای یک دستور خاص را ببینید. به عنوان مثال، man ls به شما نشان میدهد که دستور ls چه گزینههایی دارد.
سوالات متداولی که شما میپرسید؟
۱. CLI چیست و چه کاربردی دارد؟
CLI یا Command Line Interface (رابط خط فرمان) نرمافزاری است که به کاربران اجازه میدهد تا از طریق نوشتن دستورها و متنها، با سیستمعامل خود تعامل کنند. و توسعهدهندگان میتوانند کارهای پیچیده و خودکارسازی را با این نرمافزار انجام دهند.
۲. تفاوت CLI با GUI چیست؟
CLI از دستورهای متنی برای انجام وظایف استفاده میکند، در حالی که GUI (رابط کاربری گرافیکی) بر مبنای عناصر بصری مثل پنجرهها، آیکونها و دکمهها کار میکند. CLI نیاز به حافظه و منابع پردازشی کمتری دارد و دقت و کارایی بیشتری را ارائه میدهد، اما نیازمند دانش فنی بیشتری است.
۳. چگونه میتوان به CLI دسترسی پیدا کرد؟
در سیستمعامل ویندوز، میتوانید با تایپ “CMD” در نوار جستجو به CLI دسترسی پیدا کنید. در macOS و لینوکس، با استفاده از برنامه Terminal که در بخش Utilities قرار دارد، میتوان به شل دسترسی داشت.
منابع: