En informática , alias es un comando en varios intérpretes de línea de comandos ( shells ), que permite reemplazar una palabra por otra cadena. [1] Se utiliza principalmente para abreviar un comando del sistema o para agregar argumentos predeterminados a un comando usado regularmente. alias
está disponible en shells de Unix , AmigaDOS , 4DOS / 4NT , FreeDOS , KolibriOS , Windows PowerShell , ReactOS y el shell EFI . [2] La funcionalidad de alias en los sistemas operativos MS-DOS y Microsoft Windows la proporciona la utilidad de línea de comandos DOSKey .
Un alias durará toda la vida de la sesión de shell. Los alias que se usan regularmente se pueden configurar desde el archivo rc del shell (como .bashrc
) para que estén disponibles al iniciar la sesión de shell correspondiente. Los comandos de alias se pueden escribir directamente en el archivo de configuración o se pueden obtener de un archivo independiente.
En Unix, los alias se introdujeron en el shell C para sobrevivir en los shells descendientes como tcsh y bash . Los alias del shell C se limitaban estrictamente a una línea. Esto era útil para crear comandos de acceso directo simples, pero no construcciones más complejas. Las versiones anteriores del shell Bourne no ofrecían alias, pero sí funciones, que son más potentes que el concepto de alias de csh. El concepto de alias de csh se importó en Bourne Again Shell (bash) y el shell Korn (ksh). Con shells que admiten tanto funciones como alias pero no scripts de shell en línea parametrizados, se recomienda el uso de funciones siempre que sea posible. Los casos en los que son necesarios los alias incluyen situaciones en las que se requieren alias encadenados (bash y ksh). El comando alias también se ha trasladado al sistema operativo IBM i . [3]
Se pueden crear alias no persistentes proporcionando pares de nombre/valor como argumentos para el comando alias. En los shells de Unix, la sintaxis es:
alias gc = 'confirmación de git'
La sintaxis correspondiente en el shell C o tcsh es:
alias gc "confirmación de git"
Este alias significa que cuando el comando gc
se lee en el shell, será reemplazado por git commit
y se ejecutará ese comando en su lugar.
En el shell 4DOS/4NT se utiliza la siguiente sintaxis para definir cp
un alias para el copy
comando 4DOS:
alias cp copia
Para crear un nuevo alias en Windows PowerShell, new-alias
se puede utilizar el cmdlet:
Nuevo alias de copia de elemento CI
Esto crea un nuevo alias llamado ci
que será reemplazado por el copy-item
cmdlet cuando se ejecute.
En PowerShell, no se puede utilizar un alias para especificar argumentos predeterminados para un comando. En su lugar, esto se debe hacer agregando elementos a la colección $PSDefaultParameterValues, una de las variables de preferencia de PowerShell.
Para ver los alias definidos se pueden utilizar los siguientes comandos:
alias # Se utiliza sin argumentos; muestra una lista de todos los alias actuales alias -p # Enumera los alias de una manera que permite la recreación obteniendo la salida; no disponible en 4DOS/4NT y PowerShell alias myAlias # Muestra el comando para un alias definido
En los shells de Unix, es posible anular un alias entrecomillando cualquier carácter en el nombre del alias cuando se utiliza el alias. Por ejemplo, considere la siguiente definición de alias:
alias ls = 'ls -la'
Para anular este alias y ejecutar el ls
comando como se definió originalmente, se puede utilizar la siguiente sintaxis:
"los"
o
\los
En el shell 4DOS/4NT es posible anular un alias anteponiéndole un asterisco. Por ejemplo, considere la siguiente definición de alias:
alias dir = *dir /2/p
El asterisco en la segunda instancia de hace que se invoque dir
el alias sin alias , lo que evita la expansión recursiva del alias. El usuario también puede obtener el comportamiento sin alias de en la línea de comandos utilizando la misma sintaxis:dir
dir
*director
En Windows PowerShell, el set
verbo se puede usar con el alias
cmdlet para cambiar un alias existente:
conjunto-alias ci cls
El alias ci
ahora apuntará al cls
comando.
En el shell 4DOS/4NT, el eset
comando proporciona una línea de comando interactiva para editar un alias existente:
eset /a cp
Hace que se edite /a
el alias , a diferencia de una variable de entorno con el mismo nombre.cp
En los shells de Unix y 4DOS/4NT, los alias se pueden eliminar ejecutando el unalias
comando:
unalias copy # Elimina el alias de copia unalias -a # El modificador -a eliminará todos los alias; no disponible en 4DOS/4NT unalias * # Equivalente de 4DOS/4NT de `unalias -a` - se admiten comodines
En Windows PowerShell, el alias se puede eliminar de la unidad alias:\ mediante remove-item
:
remove-item alias : ci # Elimina el alias ci
Un alias normalmente reemplaza solo la primera palabra. Pero algunos shells, como bash
y ksh
, permiten reemplazar una secuencia o palabras. Esta característica particular no está disponible a través del mecanismo de función.
La sintaxis habitual es definir el primer alias con un espacio al final. Por ejemplo, si se utilizan los dos alias:
alias list = 'ls ' # tenga en cuenta el espacio final para activar el encadenamiento alias long = '-Flas' # opciones para ls para una lista larga
permite:
lista larga myfile # se convierte en "ls -Flas myfile" cuando se ejecuta
para una lista larga, donde "largo" también se evalúa como un alias.
En C Shell , los argumentos se pueden incrustar dentro del comando utilizando la cadena \!* . Por ejemplo, con este alias:
alias ls-more 'ls \!* | más'
ls-more /etc /usr
se expande para ls /etc /usr | more
enumerar el contenido de los directorios /etc y /usr, deteniéndose después de cada pantalla completa. Sin \!* ,
alias ls-more 'ls | más'
en lugar de eso se expandiría a ls | more /etc /usr
lo que intenta incorrectamente abrir los directorios en más . [4]
Los shells Bash y Korn, en cambio, utilizan funciones de shell (consulte el § Alternativas a continuación).
Los alias deben ser sencillos. Si no lo son, se recomienda utilizar uno de los siguientes:
PATH
(como /bin
). Este método es útil para proporcionar una forma adicional de llamar al comando y, en algunos casos, puede permitir el acceso a una función de comando oculta para la pequeña cantidad de comandos que utilizan su nombre de invocación para seleccionar el modo de operación.rm
, cp
, mv
etc.).La forma más común de alias, que simplemente agrega unas pocas opciones a un comando y luego incluye el resto de la línea de comando, se puede convertir fácilmente en funciones de shell siguiendo este patrón:
alias ll = 'ls -Flas' # listado largo, alias
ll () { ls -Flas " $@ " ; } # listado largo, función
Para evitar que una función se llame a sí misma recursivamente , utilice command
:
ls () { comando ls --color = auto " $@ " ; }
En los shells Bourne más antiguos, utilice /bin/ls
en lugar de command ls
.