【完全版】PowerShellのエイリアス一覧と活用術|初心者でもわかる意味・使い方・カスタマイズ法

Windows

PowerShellでコマンドを打っていると、「ls」や「gcm」のような短縮形のコマンドを見かけたことはありませんか?

実はこれらは、エイリアス(alias)と呼ばれるPowerShellの便利機能です。

エイリアスを使うことで、長いコマンドレットを短く、素早く呼び出せるようになります。

この記事では、PowerShellのエイリアス一覧の取得方法から、実際の使い方、エイリアスのカスタマイズ方法までを初心者向けに丁寧に解説します。

スポンサーリンク

エイリアスとは何か?

エイリアス(alias)とは、長いコマンドレットに対して短縮名をつけて使いやすくしたものです。

たとえば、Get-ChildItem を毎回入力するのは面倒ですが、エイリアスの ls を使えば、短く素早く実行できます。

エイリアスには大きく3つの利点があります:

  1. タイピング量の削減: 長いコマンドレット名を短く呼び出せる
  2. 互換性の向上: BashやCMDなど他のシェルからの移行がスムーズ
  3. 学習コストの低減: 覚えやすい短縮名を使って操作できる

PowerShellには標準で多数のエイリアスが用意されており、さらに自分でカスタマイズすることも可能です。

エイリアス一覧の取得方法

PowerShellで現在利用可能なエイリアスを一覧表示するには、以下のコマンドを使います:

Get-Alias

出力例:

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           % -> ForEach-Object
Alias           ? -> Where-Object
Alias           ac -> Add-Content
Alias           asnp -> Add-PSSnapin
Alias           cat -> Get-Content
Alias           cd -> Set-Location
・・・
  • Name:エイリアス名(短縮コマンド)とコマンドレット

エイリアス一覧を見やすくソートする

Get-Alias | Sort-Object Name | Format-Table -AutoSize

特定のエイリアスを検索する

# "ls"に関連するエイリアスを検索
Get-Alias -Name *ls*

# Get-Childitemに対応するエイリアスを検索
Get-Alias -Definition *ChildItem*

エイリアスを定義順に確認

Get-Alias | Sort-Object Definition | Format-Table -GroupBy Definition

これにより、同じコマンドレットに対する複数のエイリアス(例:lsdirはどちらもGet-ChildItem)を確認できます。

よく使われるPowerShellエイリアス20選

エイリアスコマンドレット用途例
lsGet-ChildItemディレクトリ一覧表示(Linuxコマンド互換)
dirGet-ChildItem同上(Windowsコマンド互換)
cdSet-Locationディレクトリ移動
pwdGet-Location現在のパス確認
clsClear-Host画面クリア
echoWrite-Output出力表示
gcmGet-Command利用可能なコマンド確認
gpsGet-Processプロセス情報取得
killStop-Processプロセス終了
slsSelect-String文字列検索(grepに相当)
gmGet-Memberオブジェクトの構造確認
?Where-Objectフィルター処理(ショートハンド)
%ForEach-Objectループ処理
niNew-Itemファイル・フォルダ作成
riRemove-Item削除
miMove-Item移動
cpCopy-Itemコピー
catGet-Contentファイル内容表示(Linux互換)
typeGet-Content同上(Windows互換)
manhelpヘルプ表示

特に便利なショートカット形式のエイリアス

特殊なエイリアスとして、以下の2つは知っておくと便利です:

  • ?Where-Object のエイリアスで、パイプラインのフィルタリングに使用 Get-Process | ? { $_.CPU -gt 100 } # CPU使用率が100以上のプロセスを表示
  • %ForEach-Object のエイリアスで、パイプライン内の各アイテムに処理を適用 Get-ChildItem | % { $_.Name } # ファイル名のみを表示

独自のエイリアスを作成・設定する方法

基本構文

Set-Alias エイリアス名 コマンドレット名

例:ghGet-Helpのエイリアスにする場合

Set-Alias -Name gh -Value Get-Help

パラメータ付きコマンドのエイリアス

Set-Alias はパラメータを指定できないため、関数化してからエイリアス登録するのがポイントです。

例:llGet-ChildItem -Forceの別名にする

Function Show-AllItems { Get-ChildItem -Force }
Set-Alias ll Show-AllItems

または直接:

Function ll { Get-ChildItem -Force }

サンプル:便利なカスタムエイリアス

# 「gs」で現在のGit状態を表示
Function Get-GitStatus { git status }
Set-Alias gs Get-GitStatus

# 「home」でホームディレクトリに移動
Function Go-Home { Set-Location $HOME }
Set-Alias home Go-Home

# 「edit」でファイルをVSCodeで開く
Function Edit-File { param([string]$file) code $file }
Set-Alias edit Edit-File

エイリアスの削除と注意点

エイリアスの削除

Remove-Item alias:ll

または:

Remove-Alias -Name ll  # PowerShell 6以降

注意点:

  • エイリアスはセッション限定です(PowerShellを閉じると消える)
  • 標準エイリアスは上書きせず、別名を使った方が安全
  • エイリアスとコマンドレットの関係を理解しておくことが重要
  • スクリプト内では可読性のためにエイリアスより完全なコマンドレット名を使うべき

エイリアスを永続化する方法

エイリアスを永続的に利用するには、PowerShellプロファイルに記述します:

  1. プロファイルの場所を確認
$PROFILE
  1. プロファイルが存在しない場合は作成
if (!(Test-Path -Path $PROFILE)) {
    New-Item -ItemType File -Path $PROFILE -Force
}
  1. プロファイルを編集
notepad $PROFILE
  1. 以下のような内容を追加
# カスタムエイリアス
Function Show-AllItems { Get-ChildItem -Force }
Set-Alias ll Show-AllItems

# その他の設定
Set-Alias gh Get-Help
  1. PowerShellを再起動、または以下を実行してプロファイルを読み込む
. $PROFILE

他シェルとの互換性(Linux/Bash)も意識しよう

PowerShellはBashやCMDと似たエイリアスをあらかじめ用意しているため、Linux経験者にもなじみやすい環境が整っています。

たとえば:

  • ls, cat, pwd, man はLinux由来
  • dir, type, cls はWindows由来

これにより、異なる環境間でのスキルの再利用がしやすくなっています。

Bashスタイルのエイリアスを追加する例

# Linux風の「ll」エイリアス(詳細リスト表示)
Function ll { Get-ChildItem -Force | Format-Table -View childrenWithHardlink }

PowerShell 7 での注意点

PowerShell 7 (Core)では、より多くのLinux互換エイリアスが導入されています。Windows PowerShell 5.1とPowerShell 7でエイリアスが異なる場合があるので注意しましょう。

実践的なエイリアス活用例

日常作業の効率化

# 一つ上のディレクトリに移動
Function Go-Up { Set-Location .. }
Set-Alias .. Go-Up

# デスクトップに素早く移動
Function Go-Desktop { Set-Location "$HOME\Desktop" }
Set-Alias desk Go-Desktop

# 管理者権限でPowerShellを起動
Function Start-AdminShell { Start-Process PowerShell -Verb RunAs }
Set-Alias admin Start-AdminShell

システム管理のためのエイリアス

# 停止しているサービスをリスト表示
Function Get-StoppedServices { Get-Service | Where-Object { $_.Status -eq "Stopped" } }
Set-Alias gss Get-StoppedServices

# リモートコンピュータへの接続
Function Connect-RemotePC { param([string]$computer) Enter-PSSession -ComputerName $computer }
Set-Alias remote Connect-RemotePC

開発者向けエイリアス

# Visual Studio Codeでカレントディレクトリを開く
Function Open-VSCode { code . }
Set-Alias c Open-VSCode

# Gitの操作簡略化
Function Git-Commit { param([string]$message) git commit -m $message }
Set-Alias gcommit Git-Commit

まとめ:エイリアスを活用してPowerShell操作を効率化!

PowerShellのエイリアスは、作業の効率化・タイピングの省略・シェルの親しみやすさ向上に役立つ非常に便利な機能です。

今日のまとめ

  • Get-Aliasで現在のエイリアス一覧を取得できる
  • よく使うコマンドには短縮形がすでに存在する
  • Set-Aliasで自分用のエイリアスも自由に作成可能
  • 関数と組み合わせることで、パラメータ付きのエイリアスも作れる
  • 永続化は$PROFILEに記述して実現
  • スクリプト内では完全なコマンドレット名を使用するのがベストプラクティス

エイリアスを上手に活用することで、PowerShellでの作業が格段に効率的になります。

最初は標準のエイリアスから覚え始め、徐々に自分専用のエイリアスを増やしていくと良いでしょう。

PowerShellをもっとスピーディーに使いこなすために、ぜひエイリアス機能を活用してみてください!特に頻繁に実行するコマンドや、長いコマンドレット名については、覚えやすいエイリアスを設定することで、作業効率が大幅に向上します。

慣れてきたら、よく使うスクリプトや複雑なコマンドをプロファイルに関数として定義し、それをエイリアスとして呼び出せるようにすると、真のPowerShellマスターへの道が開けるでしょう!

コメント

タイトルとURLをコピーしました