Usando um mecanismo chamado alias, o Windows PowerShell permite que os usuários se refiram aos comandos por nomes alternativos. Os aliases permitem que os usuários experientes em outros shells reutilizem nomes comuns de comandos que já conhecem para executar operações similares no Windows PowerShell. Não discutiremos os aliases do Windows PowerShell em detalhes, mas você poderá usá-los à medida que for utilizando o Windows PowerShell.
O alias associa um nome de comando digitado a outro comando. Por exemplo, o Windows PowerShell tem uma função interna chamada Clear-Host que limpa a janela de saída. Se você digitar o comando cls ou clear em um prompt de comando, o Windows PowerShell o interpretará como um alias da função Clear-Host e executará a função Clear-Host.
Esse recurso ajuda os usuários a aprenderem o Windows PowerShell. Primeiro, a maioria dos usuários do Cmd.exe e do UNIX possui um grande repertório de comandos que já conhecem por nome e, embora os equivalentes no Windows PowerShell possam não produzir resultados idênticos, são similares o suficiente para que os usuários possam usá-los para fazer o trabalho sem ter de primeiro decorar os nomes do Windows PowerShell. Segundo, a maior fonte de frustração no aprendizado de um novo shell quando o usuário já conhece outro shell, são os erros causados pela "memória dos dedos". Se você tiver usado o Cmd.exe por anos, quando tiver uma tela cheia de saídas e desejar limpá-la, instintivamente você digitará o comando cls e pressionará a tecla ENTER. Sem o alias para a função Clear-Host no Windows PowerShell, você simplesmente receberia a mensagem de erro "'cls' is not recognized as a cmdlet, function, operable program, or script file." e não teria ideia de como limpar a saída.
A seguir, apresentamos uma pequena lista dos comandos comuns do Cmd.exe e do UNIX que podem ser usados no Windows PowerShell:
cat |
dir |
mount |
rm |
cd |
echo |
move |
rmdir |
chdir |
erase |
popd |
sleep |
clear |
h |
ps |
sort |
cls |
history |
pushd |
tee |
copy |
kill |
pwd |
especificado |
del |
lp |
r |
write |
diff |
ls |
ren |
|
Caso você esteja usando instintivamente um desses comandos mas deseje aprender o nome real do comando nativo do Windows PowerShell, use o comando Get-Alias:
PS> Get-Alias cls CommandType Name Definition ----------- ---- ---------- Alias cls Clear-Host
Para tornar os exemplos mais legíveis, o Guia do Usuário do Windows PowerShell geralmente evita o uso de aliases. Entretanto, saber mais sobre aliases neste estágio ainda pode ser útil caso você esteja trabalhando com trechos arbitrários de código do Windows PowerShell de outra fonte ou queira definir seus próprios aliases. O restante desta seção discutirá os aliases padrão e como definir seus próprios aliases.
Interpretando os aliases padrão
Ao contrário dos aliases descritos anteriormente, projetados para a compatibilidade com outras interfaces, os aliases internos do Windows PowerShell geralmente foram projetados para obtermos concisão. Esses nomes mais curtos podem ser rapidamente digitados, mas impossíveis de ler caso você não saiba a que se referem.
O Windows PowerShell tenta conciliar clareza e concisão oferecendo um conjunto de aliases padrão baseado em nomes abreviados de verbos e substantivos comuns. Isso permite um conjunto central de aliases para cmdlets comuns, que serão legíveis a partir do momento em que você conhecer seus nomes abreviados. Por exemplo, nos aliases padrão o verbo Get é abreviado para g, o verbo Set é abreviado para s, o substantivo Item é abreviado para i, o substantivo Location é abreviado para l e o substantivo Command é abreviado para cm.
A seguir, um breve exemplo para ilustrarmos como isso funciona. O alias padrão para Get-Item surge da combinação de g de Get e de i de Item: gi. O alias padrão para Set-Item surge da combinação de s de Set e de i de Item: si. O alias padrão para Get-Location surge da combinação de g de Get e de l de Location, gl. O alias padrão para Set-Location surge da combinação de s de Set e de l de Location, sl. O alias padrão para Get-Command surge da combinação de g de Get e de cm de Command, gcm. Não há um cmdlet Set-Command, mas se houvesse, poderíamos supor que o alias padrão teria o s de Set e o cm de Command: scm. Além disso, as pessoas acostumadas aos aliases do Windows PowerShell que encontrassem scm seriam capazes de supor que ele se refere a Set-Command.
Criando novos aliases
Você pode criar seus próprios aliases usando o cmdlet Set-Alias. Por exemplo, as declarações a seguir criam aliases para os cmdlets padrão discutidos em Interpretação de aliases padrão:
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
Internamente, o Windows PowerShell utiliza comandos como esses durante a inicialização, mas esses aliases não podem ser alterados. Caso você tente executar um desses comandos, obterá um erro explicando que o alias não pode ser modificado. Por exemplo:
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