Get-Alias

Zwraca aliasy zdefiniowane dla cmdletów w sesji.

Get-Alias to cmdlet PowerShella, który pokazuje aliasy zdefiniowane w bieżącej sesji. Alias to skrót na pełną nazwę polecenia — np. ls czy dir to w PowerShellu aliasy na Get-ChildItem. Komenda przyda Ci się, gdy widzisz w cudzym skrypcie tajemniczy gci albo ? i chcesz wiedzieć, co tak naprawdę się wykonuje. Działa w obie strony: możesz zapytać „co kryje się pod tym aliasem” albo „jakie aliasy ma to polecenie”.

Składnia i najważniejsze opcje

Podstawowa forma to Get-Alias [[-Name] ] [-Definition ]. Najczęściej używane parametry:

  • -Name — nazwa aliasu, którego definicji szukasz; akceptuje symbole wieloznaczne (np. g*). To parametr pozycyjny, więc zwykle pomijasz słowo -Name.
  • -Definition — odwrotny kierunek: podajesz nazwę polecenia (cmdlet, funkcja, plik wykonywalny), a dostajesz wszystkie jego aliasy.
  • -Exclude — wyklucza aliasy pasujące do wzorca; zawęża wynik z -Name lub -Definition.
  • -Scope — określa zakres, z którego pobierasz aliasy (np. Global, Local, Script albo numer w hierarchii).

Przykłady użycia

  • Get-Alias — bez argumentów wypluwa pełną listę aliasów dostępnych w sesji. Dobry start, gdy chcesz zobaczyć, co masz pod ręką.
  • Get-Alias ls — pokazuje, że ls wskazuje na Get-ChildItem. Idealne, gdy nie wiesz, co robi skrót ze skryptu.
  • Get-Alias -Definition Get-ChildItem — odwraca pytanie i listuje wszystkie aliasy tego polecenia (gci, ls, dir).
  • Get-Alias g* — używa symbolu wieloznacznego i zwraca każdy alias zaczynający się na „g”.
  • Get-Alias -Definition Remove-Item -Exclude rm — listuje aliasy Remove-Item, ale pomija rm.

Częste błędy i pułapki

Najczęstsza wpadka to mylenie kierunków: Get-Alias przyjmuje na pozycji nazwę aliasu, a nie nazwę polecenia. Jeśli wpiszesz Get-Alias Get-ChildItem, dostaniesz błąd o braku aliasu — bo szukasz aliasu o nazwie „Get-ChildItem”, a nie jego skrótów. Do tego celu jest -Definition.

Druga sprawa: aliasy nie są przenośne. Skrypt oparty na ls albo cat może działać inaczej w sesji, gdzie ktoś nadpisał alias przez Set-Alias, albo w ogóle paść na innym systemie. Dlatego w skryptach produkcyjnych używaj pełnych nazw cmdletów, a aliasy zostaw do pracy interaktywnej w konsoli.

Pamiętaj też, że pod uniksowymi aliasami jak ls czy cp kryją się cmdlety PowerShella, a nie narzędzia z Linuksa — flagi są zupełnie inne. Get-Alias szybko Ci to uświadomi.

Powiązane komendy: Set-Alias (tworzy lub zmienia alias), New-Alias (tworzy nowy), Remove-Alias (usuwa), Export-Alias i Import-Alias (zapis i wczytanie aliasów do pliku), Get-Command (pełniejszy podgląd poleceń w sesji).