Creación de alias, para agilizar el trabajo en linea de comandos.
Cuando realizas tareas en el terminal de Linux es muy habitual teclear de forma recursiva comandos extensos con opciones complejas, que si no eres un buen mecanografista puede ser frustrante a la hora de escribir, corregir, volver a escribir, o repasar en que carácter nos hemos equivocado.
Por ejemplo, supongamos que realizamos una recarga, actualización y limpieza de vez en cuando de los paquetes de nuestra distribución:
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
💻 Desglose del Comando
El operador && asegura que el siguiente comando solo se ejecute si el anterior finalizó exitosamente (código de salida 0).
1. sudo apt update
- Propósito: Este comando descarga la información más reciente sobre los paquetes disponibles desde los repositorios configurados. No actualiza ningún paquete en sí, sino que actualiza la lista local de paquetes que tu sistema conoce (el índice). Si no ejecutas este comando primero,
apt upgradepodría no saber que hay versiones más nuevas de software disponibles.
2. sudo apt upgrade -y
- Propósito: Este comando instala las nuevas versiones de todos los paquetes instalados actualmente en tu sistema.
- Qué hace: Compara las versiones instaladas con las listas que obtuviste en el paso anterior (
update) e instala todas las actualizaciones de software.-y(o--yes): Este flag indica que responda automáticamente ‘sí’ a cualquier pregunta de confirmación durante el proceso de instalación. Esto permite que el proceso se ejecute sin supervisión.
3. sudo apt autoremove -y
- Propósito: Este comando elimina automáticamente los paquetes obsoletos que ya no son necesarios.
- Qué hace: Identifica y elimina las dependencias que fueron instaladas para un paquete, pero que ya no son requeridas por ningún otro paquete instalado. Por ejemplo, si actualizaste tu kernel de Linux, este comando elimina las versiones antiguas que ya no usas, liberando espacio en disco.
-y: De nuevo, asegura que la eliminación se ejecute sin pedir confirmación.
La creación de alias tanto temporales como permanentes nos permite crear comandos que resulten cortos e intuitivos y que realicen instrucciones que usamos habitualmente.
Nuestra distribución linux viene con alias predeterminados, para saber cual son, podemos usar el comando:
alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'
Si queremos crear una alias temporal que solo existirá mientras la sesión de terminal esté abierta:
alias nombre_del_alias='comando_a_reemplazar'
Usando el comando anterior como ejemplo podríamos crear una alias temporal:
alias actualizar="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y"
Si queremos crear un alias permanente del mismo comando, debes añadirlo a uno de los archivos de configuración de inicio de tu shell.
Para la mayoría de los usuarios de Bash (el shell más común), este archivo es el .bashrc (o a veces .bash_profile o .profile).
nano ~/.bashrc
Añade tus alias al final del archivo en una nueva linea. Es buena práctica agruparlos bajo un comentario para mantener el archivo organizado:
# Mis Alias Personalizados
#Actualiza lista de paquete y los actualiza desde los repositorios y borra automaticamente los paquetes obsoletos
alias actualizar="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y"
Guarda el archivo y ejecuta:
source ~/.bashrc
Esto recarga la configuración para que los alias estén disponibles inmediatamente.
Archivos de configuración de los principales gestores de comando utilizados en linux
| Shell | Archivo Principal de Configuración | Descripción |
|---|---|---|
| Bash (Bourne-Again Shell) | ~/.bashrc |
El shell más común. Este archivo se carga para las sesiones no interactivas e interactivas (cuando se abre una terminal). |
| Zsh (Z Shell) | ~/.zshrc |
Ganando mucha popularidad (es el shell predeterminado en macOS). Este archivo es el equivalente directo a .bashrc. |
| Fish (Friendly Interactive Shell) | ~/.config/fish/config.fish |
Un shell moderno con sintaxis simplificada y características avanzadas (como autocompletado avanzado) listas para usar. |
| Ksh (Korn Shell) | ~/.kshrc o ~/.profile |
El .kshrc es el preferido para configuraciones interactivas. |
| csh/tcsh (C Shell / Tenex C Shell) | ~/.cshrc o ~/.tcshrc |
El C Shell usa un estilo de sintaxis diferente (parecido a C). |
Sugerencias de alias de los comandos mas utilizados en terminal:
| Alias en Español | Comando Completo (Original) | Descripción | Categoría |
|---|---|---|---|
listar |
ls -alh |
Muestra lista detallada, con tamaños legibles y archivos ocultos. (Muy usado) | Archivos |
lista |
ls -CF |
Lista simple, en columnas, con indicadores de tipo (/, *). |
Archivos |
subir |
cd .. |
Sube un nivel en la jerarquía de directorios. | Navegación |
casa |
cd ~ |
Vuelve al directorio personal (Home). | Navegación |
hacerdir |
mkdir -p |
Crea un directorio y todos los padres necesarios. | Archivos |
eliminar |
rm -i |
Elimina archivos, preguntando por confirmación (-i). |
Archivos |
copiar |
cp -iv |
Copia, preguntando antes de sobrescribir y mostrando el progreso. | Archivos |
mover |
mv -i |
Mueve o renombra archivos, preguntando antes de sobrescribir. | Archivos |
leer |
cat |
Muestra el contenido completo de un archivo. | Archivos |
verlog |
tail -f |
Muestra las últimas líneas de un archivo y sigue añadiendo las nuevas (útil para logs). | Archivos |
buscar |
grep --color=auto |
Busca texto en archivos, resaltando los resultados en color. | Búsqueda |
encontrar |
find . -name |
Inicia una búsqueda de archivos por nombre en el directorio actual. | Búsqueda |
historial |
history |
Muestra la lista de comandos ejecutados previamente. | Sistema |
quiensoy |
whoami |
Muestra el nombre del usuario actual. | Sistema |
memoria |
free -h |
Muestra el uso de la memoria RAM y Swap en formato legible. | Sistema |
disco |
df -h |
Muestra el uso del espacio en disco en formato legible. | Sistema |
tamanio |
du -sh * |
Muestra el tamaño total de cada directorio y archivo en el directorio actual. | Sistema |
actualizar |
sudo apt update && sudo apt upgrade -y |
Actualiza la lista de paquetes e instala las actualizaciones (solo para Debian/Ubuntu). | Mantenimiento |
limpiar |
sudo apt autoremove -y |
Elimina las dependencias de paquetes que ya no son necesarias (solo para Debian/Ubuntu). | Mantenimiento |
todo |
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y |
Actualización completa y limpieza. | Mantenimiento |
ejecutar |
chmod +x |
Otorga permisos de ejecución a un archivo (por ejemplo, un script). | Permisos |
procesos |
ps aux |
Muestra todos los procesos del sistema. | Procesos |
matar |
kill |
Envía una señal para terminar un proceso por su PID. | Procesos |
servidor |
ssh |
Inicia una conexión segura remota. | Red |
descargar |
wget |
Descarga un archivo desde una URL. | Red |
# ==================================
# Alias Personalizados en Español
# ==================================
# Navegación y Archivos
alias listar='ls -alh'
alias lista='ls -CF'
alias subir='cd ..'
alias casa='cd ~'
alias hacerdir='mkdir -p'
alias eliminar='rm -i'
alias copiar='cp -iv'
alias mover='mv -i'
alias leer='cat'
alias verlog='tail -f'
# Búsqueda
alias buscar='grep --color=auto'
alias encontrar='find . -name'
# Mantenimiento (Debian/Ubuntu)
alias actualizar='sudo apt update && sudo apt upgrade -y'
alias limpiar='sudo apt autoremove -y'
alias todo='sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y'
# Información y Sistema
alias historial='history'
alias quiensoy='whoami'
alias memoria='free -h'
alias disco='df -h'
alias tamanio='du -sh *'
alias ejecutar='chmod +x'
alias procesos='ps aux'
alias matar='kill'
alias servidor='ssh'
alias descargar='wget'