El mecanismo de alias de Windows PowerShell permite a los usuarios hacer referencia a comandos mediante nombres alternativos. Los alias permiten a los usuarios con experiencia en otros shells volver a usar nombres de comandos comunes que ya conocen para realizar operaciones similares en Windows PowerShell. Aunque no vamos a tratar detenidamente los alias de Windows PowerShell, puede usarlos mientras aprende a usar Windows PowerShell.

Un alias asocia un nombre de comando con otro comando. Por ejemplo, Windows PowerShell tiene una función interna denominada Clear-Host que borra el contenido de la ventana de resultados. Si escribe el comando cls o clear en un símbolo del sistema, Windows PowerShell interpretará que se trata de un alias de la función Clear-Host y ejecutará la función Clear-Host.

Esta característica facilita a los usuarios el aprendizaje de Windows PowerShell. En primer lugar, la mayoría de los usuarios de Cmd.exe y UNIX cuentan con un amplio repertorio de comandos que ya conocen por su nombre y, aunque los comandos equivalentes en Windows PowerShell pueden no generar exactamente los mismos resultados, se parecen lo bastante como para que los usuarios puedan utilizarlos para realizar tareas sin tener que memorizar primero los nombres de comandos de Windows PowerShell. En segundo lugar, la frustración principal a la hora de aprender a utilizar un nuevo shell cuando el usuario ya está familiarizado con otro radica en los errores debidos a la "memoria táctil". Si lleva años usando Cmd.exe, cuando tenga una pantalla llena de resultados y desee limpiarla, escribirá instintivamente el comando cls y presionará la tecla ENTRAR. Sin el alias de la función Clear-Host en Windows PowerShell, simplemente aparecería el mensaje de error "'cls' is not recognized as a cmdlet, function, operable program, or script file." y se quedaría sin saber qué hacer para borrar el contenido de la pantalla.

A continuación se muestra una pequeña lista de los comandos comunes de Cmd.exe y UNIX que puede utilizar en 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

type

del

lp

r

write

diff

ls

ren

 

Si observa que utiliza uno de estos comandos de forma instintiva y desea conocer el nombre real del comando nativo de Windows PowerShell, puede usar el comando Get-Alias:

PS> Get-Alias cls

CommandType     Name                            Definition
-----------     ----                            ----------
Alias           cls                             Clear-Host

Para facilitar la lectura de los ejemplos, en el Manual del usuario de Windows PowerShell se evita normalmente el uso de alias. No obstante, aumentar los conocimientos acerca de los alias en esta etapa temprana puede resultar útil si trabaja con fragmentos arbitrarios de código de Windows PowerShell procedentes de otro origen o si desea definir sus propios alias. El resto de esta sección trata de los alias estándar y de cómo definir sus propios alias.

Interpretación de los alias estándar

A diferencia de los alias descritos anteriormente, diseñados para la compatibilidad con nombres de comandos de otras interfaces, los alias integrados en Windows PowerShell suelen estar diseñados con fines de concisión en la escritura. Estos nombres más cortos se pueden escribir rápidamente, pero no se entienden si no se sabe a qué hacen referencia.

Windows PowerShell intenta encontrar el equilibrio entre claridad y concisión al proporcionar un conjunto de alias estándar basados en nombres abreviados de verbos y sustantivos comunes. Esto permite usar un conjunto principal de alias de cmdlets comunes que se pueden leer cuando se conocen los nombres abreviados. Por ejemplo, con alias estándar, el verbo Get se abrevia como g y el verbo Set como s, mientras que los sustantivos Item, Location y Command se abrevian como i, l y cm, respectivamente.

A continuación se muestra un breve ejemplo para ilustrar cómo funciona esto: El alias estándar de Get-Item procede de combinar la g de Get y la i de Item: gi. El alias estándar de Set-Item procede de combinar la s de Set y la i de Item: si. El alias estándar de Get-Location procede de combinar la g de Get y la l de Location: gl. El alias estándar de Set-Location procede de combinar la s de Set y la l de Location: sl. El alias estándar de Get-Command procede de combinar la g de Get y cm de Command: gcm. No hay un cmdlet denominado Set-Command, pero si lo hubiera, se podría deducir que el alias estándar procede de combinar la s de Set y cm de Command: scm. Además, los usuarios familiarizados con los alias de Windows PowerShell que se encuentren con scm podrían deducir que el alias corresponde a Set-Command.

Crear nuevos alias

Puede crear sus propios alias usando el cmdlet Set-Alias. Por ejemplo, las siguientes instrucciones crean los alias estándar de cmdlets descritos en la sección Interpretación de los alias estándar:

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, Windows PowerShell utiliza comandos como éstos durante el inicio, pero estos alias no se pueden modificar. Si intenta ejecutar realmente uno de estos comandos, aparecerá un error que indica que el alias no se puede modificar. Por ejemplo:

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




Tabla de contenido