使い慣れたコマンド名の使用Using familiar command names

PowerShell では、代替名でコマンドを参照するエイリアスをサポートしています。PowerShell supports aliases to refer to commands by alternate names. エイリアスがあることで、他のシェルの経験があるユーザーは、既に知っている一般的なコマンド名を PowerShell のほぼ同じ操作に利用できます。Aliasing allows users with experience in other shells to use common command names that they already know for similar operations in PowerShell.

エイリアスは、新しい名前を別のコマンドに関連付けます。Aliasing associates a new name with another command. たとえば、PowerShell には、出力ウィンドウをクリアする Clear-Host という内部関数があります。For example, PowerShell has an internal function named Clear-Host that clears the output window. コマンド プロンプトに cls または clear エイリアスのどちらかを入力できます。You can type either the cls or clear alias at a command prompt. PowerShell はこれらのエイリアスを解釈して、Clear-Host 関数を実行します。PowerShell interprets these aliases and runs the Clear-Host function.

この機能は、ユーザーが PowerShell を習得するうえで役立ちます。This feature helps users to learn PowerShell. 最初に、ほとんどの cmd.exe および Unix ユーザーには、既に名前を知っているコマンドのレパートリーが多数あります。First, most cmd.exe and Unix users have a large repertoire of commands that users already know by name. 同等の PowerShell のコマンドでは、同一の結果が得られない場合があります。The PowerShell equivalents may not produce identical results. しかし、十分に近い結果になるので、PowerShell のコマンド名を知らなくてもユーザーが既知のコマンドを利用することは可能です。However, the results are close enough that users can do work without knowing the PowerShell command name. 新しいコマンド シェルを習得するうえで、"指が覚えている" ことはもう 1 つの主なストレス要因になります。"Finger memory" is another major source of frustration when learning a new command shell. 長年にわたって cmd.exe を使用してきた場合、画面をクリアするには、反射的に cls コマンドを入力してしまうでしょう。If you have used cmd.exe for years, you might reflexively type the cls command to clear the screen. Clear-Host のエイリアスがなければ、エラー メッセージを受け取ってしまい、出力をクリアするにはどうすればいいかわからないでしょう。Without the alias for Clear-Host, you receive an error message and won't know what to do to clear the output.

PowerShell で使用できる一般的な cmd.exe および UNIX コマンドのいくつかを次の一覧に示します。The following list shows a few of the common cmd.exe and Unix commands that you can use in PowerShell:

catcat dirdir マウントmount rmrm
cdcd echoecho movemove rmdirrmdir
chdirchdir eraseerase popdpopd sleepsleep
clearclear hh psps sortsort
clscls historyhistory pushdpushd teetee
copycopy killkill pwdpwd type
deldel lplp rr writewrite
diffdiff lsls renren

Get-Alias コマンドレットでは、エイリアスに関連付けられたネイティブな PowerShell コマンドの実際の名前が表示されます。The Get-Alias cmdlet shows you the real name of the native PowerShell command associated with an alias.

PS> Get-Alias cls
CommandType     Name                               Version    Source
-----------     ----                               -------    ------
Alias           cls -> Clear-Host

標準エイリアスの解釈Interpreting standard aliases

前述したエイリアスは、他のコマンド シェルとの名前の互換性を目的として設計されていました。The aliases we described previously were designed for name-compatibility with other command shells. PowerShell に組み込まれているほとんどのエイリアスは、簡略化を目的として設計されています。Most aliases built into PowerShell are designed for brevity. 名前が短いほど入力は簡単になりますが、エイリアスが何を参照しているかを把握していない場合、読みにくくなります。Shorter names are easier to type, but are difficult to read if you don't know what they refer to.

PowerShell のエイリアスでは、わかりやすさと簡潔さのバランスを取る試みがなされています。PowerShell aliases try to compromise between clarity and brevity. PowerShell では、一般的な名詞と動詞に対して、標準となる一連のエイリアスを使用しています。PowerShell uses a standard set of aliases for common nouns and verbs.

たとえば、次のような省略形があります。Example abbreviations:

名詞または動詞Noun or Verb 省略形Abbreviation
取得Get gg
設定Set ss
ItemItem ii
インストール先Location ll
コマンドCommand cmcm
エイリアスAlias alal

以下のエイリアスは、省略名を知っていれば理解できます。These aliases are understandable when you know the shorthand names.

コマンドレット名Cmdlet name エイリアスAlias
Get-Item gigi
Set-Item sisi
Get-Location glgl
Set-Location slsl
Get-Command gcmgcm
Get-Alias galgal

PowerShell のエイリアスを使い慣れたら、sal エイリアスは Set-Alias を参照していると簡単に推測できるようになります。Once you're familiar with PowerShell aliasing, it's easy to guess that the sal alias refers to Set-Alias.

新しいエイリアスの作成Creating new aliases

Set-Alias コマンドレットを使用して、独自のエイリアスを作成できます。You can create your own aliases using the Set-Alias cmdlet. たとえば、次のステートメントは、前述した標準のコマンドレットのエイリアスを作成します。For example, the following statements create the standard cmdlet aliases previously discussed:

Set-Alias -Name gi -Value Get-Item
Set-Alias -Name si -Value Set-Item
Set-Alias -Name gl -Value Get-Location
Set-Alias -Name sl -Value Set-Location
Set-Alias -Name gcm -Value Get-Command

PowerShell では、起動時に類似のコマンドを内部で使用しますが、これらのエイリアスは変更できません。Internally, PowerShell uses similar commands during startup, but these aliases are not changeable. これらのコマンドのいずれかを実行しようとすると、エイリアスを変更できないことを示すエラーが表示されます。If you try to execute one of these commands, you get an error explaining that the alias can't be modified. たとえば、次のように入力します。For example:

PS> Set-Alias -Name gi -Value Get-Item
Set-Alias : Alias is not writeable because alias gi is read-only or constant and cannot be written to.
At line:1 char:10
+ Set-Alias  <<<< -Name gi -Value Get-Item