پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: Cmdlet چیست؟ (Get-Command، Get-Help، Get-Member)
۱.دستورات Cmdlet چیست؟
در PowerShell، به دستورات اصلی و پایهای Cmdlet (تلفظ: command-let) میگیم.
هر Cmdlet یک دستور کوچک و تخصصی است که یک کار خاص انجام میدهد.
ویژگیهای مهم Cmdlet:
- بر پایهی .NET ساخته شدهاند، پس هر کدام یک شیء واقعی برمیگردانند، نه متن ساده.
- ساختار نامگذاری استاندارد دارند: Verb-Noun (مثلاً
Get-Process،Set-Content). - ساده و کوچک هستند، اما میتونید با ترکیب آنها در Pipeline کارهای پیچیده انجام دهید.
به عبارتی، Cmdletها آجرهای ساختمانی PowerShell هستند.
۲. کار با Get-Command
اگر بخواهیم بفهمیم چه Cmdletهایی در دسترس ما هستند، از Get-Command استفاده میکنیم.
نمونهها:
# نمایش همه دستورات موجود Get-Command # جستجوی دستورهایی که با Get شروع میشوند Get-Command Get-* # پیدا کردن دستور مربوط به فایلها Get-Command *Item*
این دستور به شما کمک میکنه بین صدها Cmdlet موجود، اون چیزی که نیاز دارید رو پیدا کنید.
۳. کار با Get-Help
حتی اگر یک Cmdlet رو پیدا کنید، شاید ندونید دقیقاً چطور باید ازش استفاده کنید. اینجاست که Get-Help به کار میاد.
نمونهها:
# دریافت راهنمای یک دستور Get-Help Get-Process # نمایش مثالهای کاربردی Get-Help Get-Process -Examples # نمایش کامل شامل توضیحات پارامترها Get-Help Get-Process -Full
نکته: در نسخههای جدید PowerShell باید اول مستندات رو آپدیت کنید تا همه اطلاعات راهنما در دسترس باشه:
Update-Help
این باعث میشه راهنمای کامل و بهروز از اینترنت دانلود بشه.
۴. کار با Get-Member
یکی از قدرتهای اصلی PowerShell اینه که همهچیز یک شیء است. وقتی یک Cmdlet چیزی برمیگردونه، اون در واقع یک شیء با Propertyها و Methodهای مختلفه. برای کشف این ویژگیها از Get-Member استفاده میکنیم.
نمونهها:
# لیست پروسهها رو بگیر و ساختارشون رو ببین Get-Process | Get-Member # فقط پراپرتیها رو نشون بده Get-Process | Get-Member -MemberType Property # فقط متدها رو نشون بده Get-Process | Get-Member -MemberType Method
به این ترتیب میفهمیم هر شیء چه اطلاعاتی داره و چه کارهایی میتونیم باهاش انجام بدیم. این برای برنامهنویسها خیلی مهمه، چون مثل اینه که دارید API یک شیء رو بررسی میکنید.
۵. مثال کاربردی ترکیبی
فرض کنید میخواید لیست پروسهها رو بگیرید، فقط نام و میزان CPU مصرفی رو نشون بدید.
Get-Process | Select-Object -Property ProcessName, CPU
اینجا:
Get-Processیک شیء از نوع پروسهها برمیگردونه.Get-Memberمیتونست به ما بگه که این اشیاء پراپرتیای به نامCPUدارن.Select-Objectفقط اون پراپرتیهایی رو انتخاب میکنه که ما میخوایم.
این ترکیب دقیقاً نشون میده چطور باید از Cmdletها به شکل حرفهای استفاده کرد.
۶. چرا Cmdlet برای برنامهنویسها مهمه؟
۱. دستورات Cmdletها پایهی همه کارهای PowerShell هستن؛ باید باهاشون راحت باشید.
۲. ساختار استاندارد Verb-Noun باعث میشه راحت حدس بزنید دستور چی کار میکنه.
۳. ابزارهای Get-Command، Get-Help و Get-Member به شما کمک میکنن بدون حفظ کردن دستورات، خودتون راه رو پیدا کنید.
۴. این سه ابزار مثل نقشه و دفترچه راهنما برای سفر شما توی PowerShell هستن.
🔑 خلاصهی درسنامه:
- پس Cmdletها دستورات پایه و استاندارد PowerShell هستند.
- با
Get-Commandمیتونیم دستورها رو پیدا کنیم. - با
Get-Helpیاد میگیریم چطور از اونها استفاده کنیم. - با
Get-Memberساختار و ویژگیهای اشیائی که برمیگردن رو بررسی میکنیم.
این سه ابزار مثل سه ستون اصلی برای شروع یادگیری PowerShell هستند.