Power Shellを使ってみる

スポンサーリンク

UNIX経験者であれば、Windowsのコマンドの使いにくさには困ることが多いです。
WindowsにPower Shellが実装されてから多少は解消されているようなので、基本の使い方だけまとめておきます。


Power Shellの使い方

ファイル名を指定して実行(Windowsロゴキー + R)で「powershell」
と入力するとPower Shellの画面が立ち上がります。
そこで上記のコマンドを打つだけです。

コマンドプロンプトとコマンドが大きく違うだけで使い方は同じ。
コマンドが違うのが一番厄介なんですが。
環境によっては「権限がない」とコマンドを弾かれることもあります。回避方法もあるみたいですが、ここでは省きます。

alias

Power Shellのコマンドは長いのが多いです。ですが事前にalias(別名)が設定されています。
エイリアスと読みますが、通っぽくアリアスと読む人もいます。

どのコマンドにどのaliasが設定されているかは
alias
と打てばわかります。手元で出力できたのはこんな感じ

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

例えば、Get-ChildItemを打ちたいときはlsと打つだけで同じ命令となります。
UNIXに慣れている人は、「lsはGet-ChildItemと登録されているのか」という感想になりそう。

tab補完(入力補完)機能

UNIXのbashあたりから採用されたとても使いやすい機能がPower Shellでも実装されています。

コマンドの正確なスペルがわからないとき、最初の数文字入れてtabを打つと合致する命令が表示されます。連打すれば欲しい物が出てきます。スペルがわかっていても打つ時間を省略したいときなどにも非常に有効。
上の例であれば、

get-c(ここでtab)

を打つとアルファベット順に候補がでてきます。候補が多すぎる時はさらに絞り込むなどの工夫を。

ヘルプ

(コマンド) -?
で表示されます。

例:Get-ChildItem -?

ヒストリ

コマンドプロンプトでもおなじみ。
カーソルの上(↑)キーを押すだけ。

体系的に学ぶ場合はこちらも参考にしてください。

コメント