Szkoła Skryptowania – lvl 6 – Aliasy

Czołem adepci (i mam nadzieje, że adeptki także) sztuki tworzenia automatyki. W poprzednich odcinkach „szkoły…” zapomniałem wspomnieć o kilku ważnych (bardziej lub mniej) rzeczach dotyczących PowerShell’a. Niniejszym postaram się to nadgonić i wspomnieć o:

  • aliasach;
  • historii (bez obaw nie będzie nic o wojnach);
  • własnych funkcjach wykorzystywanych w codziennej pracy

I o tych elementach będą najbliższe odcinki „Szkoły…”
Drobna uwaga , od pewnego czasu jedynym słusznym dla mnie jest PowerShell w wersji 4 – zalecam aktualizację! Wspominam o tym, gdyż mam świadomość tego, że nie wszystkie dobrodziejstwa zawarte w PSH 4 są dostępne w poprzednich wersjach. Chwała Microsoftowi za to, że ciągle rozwija PowerShell i utrzymuje zasadę wstecznej kompatybilności przy życiu.
Jako, że cenię swój i wasz czas więc jedziemy z kolejną lekcją! Dziś na talerzu:

Aliasy w PowerShell

Chciało by się rzec, że Windows nie Linuks i też swoje aliasy ma. Co prawda część z nich do złudzenia przypomina polecenia w Linuksie, więc szanujący się Windziarz może teraz też poszpanować w towarzystwie montowaniem, killowaniem, albo diffowaniem. Listę aliasów można uzyskać wpisując w konsoli PowerShell polecenie:

Get-Alias

lub skorzystać z aliasu 😉 polecenia powyżej:

gal

Aliasy to takie fajne cudo dla leniwych ;). Moim zdaniem jednak nie tylko leniwi odnajdą się w gąszczu aliasów, dla mnie istotą aliasów jest przystępność nazw – prościej bowiem zapamiętać „mount” niż „New-PSDrive” – ale to tylko moje zdanie. Wy możecie używać aliasów z dowolnego powodu :). I lepiej taki sobie znajdźcie, bowiem będę z nich korzystał coraz częściej w skryptach opisywanych na blogu, oraz w samej Szkole Skryptowania, a prawdopodobieństwo korzystania z aliasów w One-Linerach jest także bardzo wysokie. Jeśli jesteście zaś na tyle leniwi, że wpisanie aliasu:

gal

jest ponad Wasze siły, służę pomocą i oto lista aliasów dostępnych w PoweShell 4:

% -> ForEach-Object
? -> Where-Object
ac -> Add-Content
asnp -> Add-PSSnapin
cat -> Get-Content
cd -> Set-Location
chdir -> Set-Location
clc -> Clear-Content
clear -> Clear-Host
clhy -> Clear-History
cli -> Clear-Item
clp -> Clear-ItemProperty
cls -> Clear-Host
clv -> Clear-Variable
cnsn -> Connect-PSSession
compare -> Compare-Object
copy -> Copy-Item
cp -> Copy-Item
cpi -> Copy-Item
cpp -> Copy-ItemProperty
curl -> Invoke-WebRequest
cvpa -> Convert-Path
dbp -> Disable-PSBreakpoint
del -> Remove-Item
diff -> Compare-Object
dir -> Get-ChildItem
dnsn -> Disconnect-PSSession
ebp -> Enable-PSBreakpoint
echo -> Write-Output
epal -> Export-Alias
epcsv -> Export-Csv
epsn -> Export-PSSession
erase -> Remove-Item
etsn -> Enter-PSSession
exsn -> Exit-PSSession
fc -> Format-Custom
fl -> Format-List
foreach -> ForEach-Object
ft -> Format-Table
fw -> Format-Wide
gal -> Get-Alias
gbp -> Get-PSBreakpoint
gc -> Get-Content
gci -> Get-ChildItem
gcm -> Get-Command
gcs -> Get-PSCallStack
gdr -> Get-PSDrive
ghy -> Get-History
gi -> Get-Item
gjb -> Get-Job
gl -> Get-Location
gm -> Get-Member
gmo -> Get-Module
gp -> Get-ItemProperty
gps -> Get-Process
group -> Group-Object
gsn -> Get-PSSession
gsnp -> Get-PSSnapin
gsv -> Get-Service
gu -> Get-Unique
gv -> Get-Variable
gwmi -> Get-WmiObject
h -> Get-History
history -> Get-History
icm -> Invoke-Command
iex -> Invoke-Expression
ihy -> Invoke-History
ii -> Invoke-Item
ipal -> Import-Alias
ipcsv -> Import-Csv
ipmo -> Import-Module
ipsn -> Import-PSSession
irm -> Invoke-RestMethod
ise -> powershell_ise.exe
iwmi -> Invoke-WmiMethod
iwr -> Invoke-WebRequest
kill -> Stop-Process
lp -> Out-Printer
ls -> Get-ChildItem
man -> help
md -> mkdir
measure -> Measure-Object
mi -> Move-Item
mount -> New-PSDrive
move -> Move-Item
mp -> Move-ItemProperty
mv -> Move-Item
nal -> New-Alias
ndr -> New-PSDrive
ni -> New-Item
nmo -> New-Module
npssc -> New-PSSessionConfigurationFile
nsn -> New-PSSession
nv -> New-Variable
ogv -> Out-GridView
oh -> Out-Host
popd -> Pop-Location
ps -> Get-Process
pushd -> Push-Location
pwd -> Get-Location
r -> Invoke-History
rbp -> Remove-PSBreakpoint
rcjb -> Receive-Job
rcsn -> Receive-PSSession
rd -> Remove-Item
rdr -> Remove-PSDrive
ren -> Rename-Item
ri -> Remove-Item
rjb -> Remove-Job
rm -> Remove-Item
rmdir -> Remove-Item
rmo -> Remove-Module
rni -> Rename-Item
rnp -> Rename-ItemProperty
rp -> Remove-ItemProperty
rsn -> Remove-PSSession
rsnp -> Remove-PSSnapin
rujb -> Resume-Job
rv -> Remove-Variable
rvpa -> Resolve-Path
rwmi -> Remove-WmiObject
sajb -> Start-Job
sal -> Set-Alias
saps -> Start-Process
sasv -> Start-Service
sbp -> Set-PSBreakpoint
sc -> Set-Content
select -> Select-Object
set -> Set-Variable
shcm -> Show-Command
si -> Set-Item
sl -> Set-Location
sleep -> Start-Sleep
sls -> Select-String
sort -> Sort-Object
sp -> Set-ItemProperty
spjb -> Stop-Job
spps -> Stop-Process
spsv -> Stop-Service
start -> Start-Process
sujb -> Suspend-Job
sv -> Set-Variable
swmi -> Set-WmiInstance
tee -> Tee-Object
trcm -> Trace-Command
type -> Get-Content
wget -> Invoke-WebRequest
where -> Where-Object
wjb -> Wait-Job
write -> Write-Output

Trąci Linuksem prawda?

Piotr Berent

Piotr Berent od 2002 w pocie czoła pracujący w środowisku IT, obecnie freelancer - Inżynier Systemowy. Entuzjasta wirtualizacji, automatyzacji i rozwiązań opartych o narzędzia open-source.

Przeczytaj także...

Dodaj komentarz