Alias (comando)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Comando en varios intérpretes de línea de comandos

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. Se utiliza principalmente para abreviar un comando del sistema o para agregar argumentos predeterminados a un comando utilizado habitualmente. alias está disponible en shells Unix, AmigaDOS, 4DOS/4NT, FreeDOS, KolibriOS, Windows PowerShell, ReactOS y el shell EFI. 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 utilizados habitualmente se pueden configurar desde el archivo rc del shell (como .bashrc) para que estén disponibles al inicio de la sesión de shell correspondiente. Los comandos de alias pueden escribirse directamente en el archivo de configuración o obtenerse de un archivo separado.

Historia

En Unix, los alias se introdujeron en el shell C y sobreviven en shells descendientes como tcsh y bash. Los alias del shell C estaban estrictamente limitados a una línea. Esto fue ú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í proporcionaban funciones que son más poderosas que el concepto de alias csh. El concepto de alias de csh se importó a Bourne Again Shell (bash) y Korn Shell (ksh). Con shells que admiten funciones y alias pero sin scripts de shell en línea parametrizados, se recomienda el uso de funciones siempre que sea posible. Los casos en los que se necesitan 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.

Uso

Crear alias

Shells comunes de Unix

Se pueden crear alias no persistentes proporcionando pares de nombre/valor como argumentos para el comando alias. En shells de Unix la sintaxis es:

alias gc='git commit '

Cáscara C

La sintaxis correspondiente en el shell C o tcsh es:

alias gc "git commit"

Este alias significa que cuando el comando gc se lee en el shell, será reemplazado por git commit y ese comando se ejecutará en su lugar.

4DOS

En el shell 4DOS/4NT se utiliza la siguiente sintaxis para definir cp como un alias para el comando copia de 4DOS:

alias cp copy

Windows PowerShell

Para crear un nuevo alias en Windows PowerShell, se puede utilizar el cmdlet new-alias:

new-alias ci copy-item

Esto crea un nuevo alias llamado ci que será reemplazado por el cmdlet copy-item 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.

Ver alias definidos actualmente

Para ver los alias definidos se pueden utilizar los siguientes comandos:

alias # Utilizado sin argumentos; muestra una lista de todos los alias actualesalias -p # List alias de una manera que permite la re-creación mediante la obtención de la salida; no disponible en 4DOS/4NT y PowerShellalias myAlias # Muestra el comando para un alias definido

Anular alias

En shells de Unix, es posible anular un alias citando cualquier carácter en el nombre del alias cuando se utiliza el alias. Por ejemplo, considere la siguiente definición de alias:

alias Is='s -la '

Para anular este alias y ejecutar el comando ls tal como se definió originalmente, se puede utilizar la siguiente sintaxis:

's '

o

ls

En el shell 4DOS/4NT es posible anular un alias anteponiéndolo con un asterisco. Por ejemplo, considere la siguiente definición de alias:

alias dir = *dir /2/p

El asterisco en la segunda instancia de dir hace que se invoque el dir sin alias, lo que evita la expansión recursiva del alias. Además, el usuario puede obtener el comportamiento sin alias de dir en la línea de comando usando la misma sintaxis:

*dir

Cambiar alias

En Windows PowerShell, el verbo set se puede usar con el cmdlet alias para cambiar un alias existente:

set-alias ci cls

El alias ci ahora apuntará al comando cls.

En el shell 4DOS/4NT, el comando eset proporciona una línea de comando interactiva para editar un alias existente:

eset /a cp

/a hace que se edite el alias cp, a diferencia de una variable de entorno del mismo nombre.

Eliminar alias

En shells Unix y 4DOS/4NT, los alias se pueden eliminar ejecutando el comando unalias:

unalias Copia # Elimina el alias de la copiaunalias -a # El -un interruptor eliminará todos los alias; no está disponible en 4DOS/4NTunalias * # 4DOS/4NT equivalent of `unalias -a` - wildcards are supported

En Windows PowerShell, el alias se puede eliminar de la unidad alias: usando remove-item:

Tema eliminado alias:ci # Quita el alias ci

Características

Encadenamiento

Un alias normalmente reemplaza solo la primera palabra. Pero algunos shells, como bash y ksh, permite 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 carácter de espacio al final. Por ejemplo, usando los dos alias:

alias lista='Es ' # note the trailing space to trigger chainingalias largo='-Flas ' # options to ls for a long listing

permite:

lista largo myfile # se convierte en "ls -Flas myfile" cuando corre

para una lista larga, donde "long" también se evalúa como un alias.

Argumentos del comando

En C Shell, los argumentos se pueden incrustar dentro del comando usando la cadena !*. Por ejemplo, con este alias:

 alias ls-more 's ! '

ls-more /etc /usr se expande a ls /etc /usr | more para enumerar el contenido de los directorios /etc y /usr, haciendo una pausa después de cada pantalla completa. Sin !*,

 alias ls-more Es más que vivir '

en su lugar se expandiría a ls | more /etc /usr que intenta incorrectamente abrir los directorios en more.

En cambio, los shells Bash y Korn utilizan funciones de shell; consulte § Alternativas a continuación.

Alternativas

Los alias normalmente deben mantenerse simples. Cuando no sea sencillo, la recomendación suele ser utilizar uno de los siguientes:

  • Los scripts Shell, que esencialmente proporcionan la plena capacidad de crear nuevos comandos del sistema.
  • Enlaces simbólicos en el usuario 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 enterrada para el pequeño número de comandos que utilizan su nombre de invocación para seleccionar el modo de operación.
  • Funciones de Shell, especialmente si el comando que se crea necesita modificar el entorno de tiempo de funcionamiento interno de la propia cáscara (como variables ambientales), necesita cambiar el directorio de trabajo actual de la cáscara, o debe ser implementado de una manera que garantice que aparezca en la ruta de búsqueda de comandos para cualquier cosa excepto una concha interactiva (especialmente cualquier versión "salida" de la cáscara) rm, cp, mv y así sucesivamente).

La forma más común de alias, que simplemente agrega algunas 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 ' # largo listado, aliasll () {} Is -Flas "$@" ; } # larga lista, función

Para evitar que una función se llame a sí misma de forma recursiva, utilice comando:

Is () {} comando Is --color=auto "$@" ; }

En shells Bourne más antiguos, utilice /bin/ls en lugar de command ls.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save