پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: Aliases در PowerShell
۱.مفهوم Alias
در PowerShell، برای راحتی کاربرها یک قابلیت به اسم Alias وجود داره. Alias در واقع یک اسم کوتاهتر یا جایگزین برای یک Cmdlet طولانی است.
برای مثال:
- دستور
lsکه در لینوکس معروفه، در PowerShell یک Alias برایGet-ChildItemهست. - دستور
dir(که از CMD میشناسیم) هم یک Alias برایGet-ChildItemاست.
یعنی وقتی شما مینویسید:
ls
در واقع PowerShell پشت صحنه این رو اجرا میکنه:
Get-ChildItem
۲. چرا Alias وجود دارد؟
دلیل اصلی راحتی و سازگاریه.
- کسانی که از لینوکس یا Bash میان، با دستورات مثل
lsوpwdراحتترند. - کسانی که از CMD میان، با دستورات مثل
dirوclsآشنا هستند. - PowerShell با Alias کاری کرده که این افراد احساس غریبگی نکنند.
از طرفی برای تایپ سریعتر هم مفید است.
۳. دیدن لیست Aliasها
برای اینکه ببینید چه Aliasهایی تعریف شدهاند، میتوانید از دستور زیر استفاده کنید:
Get-Alias
این دستور لیست تمام Aliasهای موجود را نشان میدهد.
اگر بخواهید Alias خاصی را پیدا کنید:
Get-Alias ls
خروجی چیزی شبیه خواهد بود به:
CommandType Name ----------- ---- Alias ls -> Get-ChildItem
۴. ساخت Alias جدید
شما میتوانید Aliasهای خودتان را هم بسازید.
برای مثال:
Set-Alias ll Get-ChildItem
حالا اگر بنویسید ll همان خروجی Get-ChildItem را میگیرید.
۵. محدودیت Alias
ا Aliasها فقط در همان جلسه (Session) فعال هستند. یعنی اگر یک PowerShell جدید باز کنید، Aliasهایی که خودتان ساخته بودید از بین میروند.
برای اینکه Alias دائمی شود، باید آن را در پروفایل PowerShell تعریف کنید. مثلاً در فایل $PROFILE میتوانید Aliasهای شخصیتان را ذخیره کنید.
۶. چرا نباید بیش از حد به Alias وابسته شویم؟
گرچه Aliasها راحت هستند، اما برای اسکریپتنویسی حرفهای استفاده از آنها توصیه نمیشود.
دلیل:
- اسکریپت ممکن است روی سیستمی اجرا شود که Alias یکسانی ندارد.
- خوانایی کد پایین میآید. مثلاً
Get-ChildItemخیلی واضحتر ازlsاست.
به همین دلیل، Alias بیشتر برای کار تعاملی روزمره در کنسول خوب است، نه برای نوشتن اسکریپتهای بلندمدت.
۷. چند Alias معروف
lsیاdir→ معادلGet-ChildItempwd→ معادلGet-Locationcatیاtype→ معادلGet-Contentecho→ معادلWrite-Outputrm→ معادلRemove-Itemcp→ معادلCopy-Item
اینها باعث میشوند کاربرهای مختلف از محیطهای مختلف احساس راحتی بیشتری داشته باشند.
تمرین برای شما
۱. دستور Get-Alias را اجرا کنید و ۳ مورد Alias که به نظرتان جالب است پیدا کنید.
2. یک Alias جدید بسازید (مثلاً ll) که معادل Get-ChildItem -Force باشد.
3. آن Alias را در پروفایل PowerShell ذخیره کنید تا همیشه فعال باشد.
🔑 خلاصهی درسنامه:
- پس Alias نام کوتاه یا جایگزین برای Cmdletهاست.
- با
Get-Aliasمیتوان Aliasها را دید و مدیریت کرد. - با
Set-Aliasمیتوان Alias جدید ساخت. - Alias برای راحتی کار روزمره خوب است، اما برای اسکریپتنویسی حرفهای بهتر است از اسم کامل Cmdlet استفاده کنیم.