Basics of Windows Powershell
In my college days, I used to run dir, ls, mkdir. Recently when WS 2012 was released, someone told me that the command prompt ("cmd") will be replaced with Powershell. Why? (I am still trying to figure out!)
If I have to put my understanding in words,
- Some commands that you run in Windows PowerShell call the same executables that you’re used to running from the command line.
- Some common command-line commands call the equivalent Windows PowerShell commands, which actually do the work. You can map any name you want to a Windows PowerShell command. Some of the most familiar command names have already been mapped, so they will work out of the box.
Get-Alias will be a good place to understand this mapping.
% -> 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
Note: A command can have more than one alias. Eg: ls & dir map to 'Get-ChildItem'.
BTW, I am learning these from https://courses.edx.org/courses/course-v1:Microsoft+INF201x+2015_T2/courseware which is a great place to learn!