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!