Skip to Content
DocumentaciónPrimeros pasosEmpezandoConceptos básicos de la línea de comandos

Conceptos básicos de la línea de comandos

Para los usuarios nuevos en Linux, la línea de comando puede parecer desconocida o incluso intimidante. Pero, en realidad, la línea de comandos es la herramienta más poderosa y flexible en un sistema Linux. Dominar las operaciones básicas de la línea de comandos no sólo hace que la administración del sistema sea más eficiente, sino que también le ayuda a comprender cómo funciona Linux internamente.

Este artículo lo llevará desde cero hasta comprender los conceptos de terminales y shells, dominar los comandos más utilizados y aprender conocimientos básicos como rutas de archivos, canalizaciones y permisos.

¿Qué son la terminal y el shell?

terminales

Una terminal es una aplicación que proporciona una ventana donde puedes interactuar con la computadora escribiendo comandos de texto. En el entorno de escritorio de Ubuntu, la terminal es la ventana con un fondo negro (u oscuro) que ves.

La aplicación de terminal predeterminada en Ubuntu 26.04 es Ptyxis. Reemplaza la Terminal GNOME tradicional y proporciona una mejor integración de contenedores. Aún puedes instalar el clásico Terminal GNOME si es necesario.

Si desea probar una terminal más moderna acelerada por GPU, Ghostty está disponible como paquete de vista previa en el repositorio del universo 26.04:

sudo apt install ghostty

Ghostty no es el terminal predeterminado. En dispositivos sin compatibilidad con OpenGL 4.3, es posible que necesite un respaldo de procesamiento de software.

Concha

Un shell es el programa detrás de la terminal que realmente procesa los comandos. Cuando escribe comandos en la terminal, el shell los analiza y ejecuta. El shell predeterminado de Ubuntu es Bash (Bourne Again Shell).

Los caparazones comunes incluyen:

ConchaDescripción
golpeShell predeterminado de Ubuntu, rico en funciones y buena compatibilidad
ZshUn shell más moderno con mejores temas y autocompletado
pescadoUn shell fácil de usar con resaltado de sintaxis listo para usar
guiónUn shell liviano utilizado por Ubuntu para scripts del sistema

Puede verificar su shell actual con el siguiente comando:

echo $SHELL

Formas de abrir la terminal

En Ubuntu 26.04, hay varias formas de abrir la terminal:

Método 1: método abreviado de teclado

La forma más rápida es presionar Ctrl + Alt + T, lo que abre directamente una ventana de terminal.

Método 2: desde el menú de la aplicación

  1. Haga clic en el botón Actividades en la esquina superior izquierda (o presione la tecla Súper)
  2. Escribe “Terminal” en la barra de búsqueda
  3. Haga clic en el icono de la terminal para abrirlo.

Método 3: desde el Administrador de archivos

En el administrador de archivos de GNOME (Nautilus), puede hacer clic derecho en un área vacía y seleccionar “Abrir en Terminal”. El terminal navegará automáticamente al directorio actual.

Método 4: Terminal virtual TTY

Presione Ctrl + Alt + F3 (F3 a F6) para cambiar a una terminal virtual de solo texto. Presione Ctrl + Alt + F2 para volver a la interfaz gráfica. Esto es especialmente útil cuando la interfaz gráfica tiene problemas.

Comandos básicos

pwd - Imprimir directorio de trabajo

pwd (Imprimir directorio de trabajo) muestra la ruta de su directorio actual:

pwd # Example output: /home/username

ls - Listar el contenido del directorio

ls (Lista) es uno de los comandos más utilizados para ver archivos y carpetas en un directorio:

# List current directory contents ls # Show detailed information (permissions, size, modification time, etc.) ls -l # Show hidden files (files starting with .) ls -a # Combined usage: detailed info + hidden files + human-readable file sizes ls -lah # List contents of a specific directory ls /etc # Sort by modification time (newest first) ls -lt

cd - Cambiar directorio

cd (Cambiar directorio) se utiliza para cambiar entre directorios:

# Enter a specific directory cd /var/log # Go up one level cd .. # Return to the home directory cd ~ # Or simply type cd # Return to the previous directory cd - # Enter a multi-level directory cd /usr/share/doc

mkdir - Crear directorios

# Create a single directory mkdir myproject # Create nested directories (-p auto-creates parent directories) mkdir -p projects/web/frontend # Create multiple directories at once mkdir dir1 dir2 dir3

cp - Copiar archivos y directorios

# Copy a file cp file.txt backup.txt # Copy a file to a specific directory cp file.txt /home/username/Documents/ # Copy an entire directory (requires -r for recursive copy) cp -r myproject myproject-backup # Copy while preserving file attributes (permissions, timestamps, etc.) cp -a source/ destination/

mv - Mover o cambiar nombre

# Rename a file mv oldname.txt newname.txt # Move a file to another directory mv file.txt /home/username/Documents/ # Move and rename mv file.txt /home/username/Documents/newname.txt # Move an entire directory mv myproject /opt/

rm - Eliminar archivos y directorios

# Remove a file rm file.txt # Remove a directory and its contents (recursive deletion) rm -r myproject # Force removal (no confirmation prompt) rm -f file.txt # Confirm before each deletion rm -i *.txt
Warning

Los archivos eliminados con rm no van a la papelera: ¡se eliminan permanentemente de inmediato! En particular, un comando como rm -rf / destruirá todo su sistema. Antes de usar rm, asegúrese siempre de eliminar los archivos correctos. Los principiantes primero deben usar ls para verificar qué archivos coinciden y luego eliminarlos solo después de confirmar.

cat - Ver contenido del archivo

# View the complete contents of a file cat file.txt # Display line numbers cat -n file.txt # Concatenate multiple files cat file1.txt file2.txt # Create a new file (Ctrl+D to finish input) cat > newfile.txt

menos - Visualización paginada

Cuando el contenido del archivo es muy largo, less es más adecuado que cat:

less /var/log/syslog

Operaciones comunes en less:

  • Espacio: Página siguiente
  • b: página anterior
  • g: salta al principio del archivo
  • G: Saltar al final del archivo
  • /palabra clave: Buscar
  • n: Siguiente resultado de búsqueda
  • q: Salir

head and tail - Ver el principio y el final de los archivos

# View the first 10 lines (default) head file.txt # View the first 20 lines head -n 20 file.txt # View the last 10 lines tail file.txt # View the last 50 lines tail -n 50 file.txt # Follow file changes in real time (commonly used for viewing logs) tail -f /var/log/syslog

Rutas de archivos

Comprender las rutas de los archivos es fundamental para utilizar la línea de comandos. El sistema de archivos de Linux comienza desde / (el directorio raíz) y todos los archivos y directorios están organizados en esta estructura de árbol.

Rutas absolutas vs relativas

Rutas absolutas comienzan desde el directorio raíz / y proporcionan la ubicación completa de un archivo:

# Absolute path examples /home/username/Documents/file.txt /etc/nginx/nginx.conf /var/log/syslog

Las rutas relativas se calculan a partir del directorio actual:

# Assuming you are in /home/username # The following two are equivalent: cat /home/username/Documents/file.txt # Absolute path cat Documents/file.txt # Relative path

Símbolos de ruta especiales

SímboloSignificadoEjemplo
/directorio raízcd /
~Directorio de inicio del usuario actualcd ~ es lo mismo que cd /home/username
.directorio actual./script.sh ejecuta un script en el directorio actual
..Directorio principalcd ../.. sube dos niveles
-Directorio anterior (sólo para cd)cd -
# Practical examples # Return to the home directory from anywhere cd ~ # View the contents of the parent directory ls .. # Run a script in the current directory ./my-script.sh # Copy a file from two levels up to the current directory cp ../../config.txt .

Tuberías y redirección

Las canalizaciones y la redirección son características extremadamente poderosas de la línea de comando. Le permiten combinar múltiples comandos simples para realizar tareas complejas.

Tuberías (|)

Una tubería pasa la salida de un comando como entrada a otro comando:

# View all processes and search for lines containing "nginx" ps aux | grep nginx # List directory contents and display them page by page ls -la /etc | less # Count the number of files in the current directory ls | wc -l # View disk usage, sorted by size du -sh * | sort -h # Multi-level pipe: find errors in logs, deduplicate, and sort cat /var/log/syslog | grep "error" | sort | uniq -c | sort -rn

Redirección de salida (> y >>)

# Write command output to a file (overwrites existing content) echo "Hello, Ubuntu!" > hello.txt # Append command output to the end of a file echo "Another line" >> hello.txt # Save a command listing to a file ls -la > filelist.txt # Redirect error output to a file command 2> errors.log # Redirect both standard output and error output command > output.log 2>&1 # Or the shorter version command &> output.log

Redirección de entrada <

# Read input from a file wc -l < file.txt # Common usage: import an SQL file into a database mysql -u root -p database_name < backup.sql

Conceptos básicos de permisos

Linux es un sistema multiusuario y la gestión de permisos garantiza la seguridad del sistema.

sudo - Ejecutar como administrador

sudo (Superusuario Do) permite a los usuarios normales ejecutar comandos con privilegios de administrador (root):

# Install software sudo apt install vim # Edit a system configuration file sudo nano /etc/hosts # Open a shell as root (use with caution) sudo -i # Check sudo privileges sudo -l

Cuando utilice sudo por primera vez, le pedirá su propia contraseña de usuario (no la contraseña de root). La contraseña se recordará durante un período de tiempo.

chmod - Modificar permisos de archivos

Los permisos de archivos de Linux se dividen en tres grupos: propietario (u), grupo (g) y otros (o). Cada grupo tiene permisos de lectura (r=4), escritura (w=2) y ejecución (x=1).

# View file permissions ls -l file.txt # Example output: -rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt # Add execute permission to a file chmod +x script.sh # Set exact permissions (owner: rwx, group: rx, others: rx) chmod 755 script.sh # Common permission combinations chmod 644 file.txt # Owner read/write, others read-only chmod 600 secret.key # Owner read/write only chmod 777 shared.txt # Full permissions for everyone (not recommended) # Recursively modify directory permissions chmod -R 755 /var/www/html

Atajos de teclado comunes

Dominar los atajos de teclado puede mejorar significativamente la eficiencia de su línea de comandos:

AtajoFunción
PestañaComandos de autocompletar, nombres de archivos, nombres de directorios
Pestaña PestañaMostrar todas las opciones de finalización posibles
Ctrl+CInterrumpir el comando actualmente en ejecución
Ctrl + DSalga del shell actual (equivalente a escribir exit)
Ctrl+RBúsqueda inversa a través del historial de comandos
Ctrl+LBorrar la pantalla (equivalente al comando clear)
Ctrl + AMover el cursor al principio de la línea.
Ctrl + EMover el cursor al final de la línea.
Ctrl + WEliminar la palabra antes del cursor
Ctrl + UEliminar desde el cursor hasta el principio de la línea.
Ctrl + KEliminar desde el cursor hasta el final de la línea.
Flechas arriba/abajoExplorar el historial de comandos
!!Vuelva a ejecutar el último comando
!$Hacer referencia al último argumento del comando anterior.
# Tab completion example cd /etc/ng[Tab] # Auto-completes to cd /etc/nginx/ # Typical usage of !!: forgot to add sudo apt install vim # Permission error, then: sudo !! # Equivalent to sudo apt install vim # Ctrl+R search history # Press Ctrl+R, type "docker", and the most recent command containing "docker" will appear

Obtener ayuda

En Linux, hay muchas maneras de obtener ayuda:

hombre - Páginas del manual

man (Manual) es la documentación de comando más autorizada:

# View the manual for the ls command man ls # Search manuals (by keyword) man -k "copy file" # View a specific section of the manual man 5 crontab # View the crontab file format (section 5)

La bandera —help

La mayoría de los comandos admiten el indicador --help, que muestra un resumen de uso conciso:

ls --help cp --help systemctl --help

tldr - Manual simplificado

tldr (Demasiado largo; No leído) proporciona ejemplos de comandos prácticos y concisos, perfectos para principiantes:

# Install tldr sudo apt install tldr # Update the database tldr --update # View command usage tldr tar tldr rsync tldr systemctl

Otros recursos de ayuda

# View a brief description of a command whatis ls # Find the path of a command which python3 whereis nginx # Check the command type (built-in, external, alias, etc.) type cd type ls

Hoja de trucos de comandos esenciales para principiantes

Tip

Aquí están los 20 comandos más utilizados para principiantes. ¡Marque esto como referencia! No es necesario que los memorice todos a la vez; simplemente búsquelos cuando sea necesario y, con el tiempo, se convertirán en algo natural.

ComandoPropósitoEjemplo común
pwdMostrar directorio actualpwd
lsListar el contenido del directoriols -lah
cdCambiar directoriocd /var/log
mkdirCrear directoriosmkdir -p a/b/c
cpCopiar archivos/directorioscp -r src/ dst/
mvMover/cambiar nombremv old.txt new.txt
rmEliminar archivos/directoriosrm -r dirname
catVer contenido del archivocat file.txt
lessVer archivos página por páginaless /var/log/syslog
head/tailVer principio/final de archivostail -f log.txt
grepBuscar textogrep "error" log.txt
findBuscar archivosfind / -name "*.conf"
sudoEjecutar con privilegios de administradorsudo apt update
aptAdministrador de paquetessudo apt install vim
chmodModificar permisoschmod +x script.sh
nano/vimEditores de textonano file.txt
dfVerificar el uso del discodf -h
top/htopVer procesoshtop
systemctlGestionar servicios del sistemasystemctl status nginx
historyVer historial de comandoshistory | grep ssh

Consejos avanzados

Alias de comando

Puede crear alias cortos para comandos utilizados con frecuencia:

# Temporary alias (only valid for the current session) alias ll='ls -lah' alias gs='git status' # Permanent alias (written to ~/.bashrc) echo "alias ll='ls -lah'" >> ~/.bashrc echo "alias update='sudo apt update && sudo apt upgrade -y'" >> ~/.bashrc # Apply aliases immediately source ~/.bashrc

Historial de comandos

# View command history history # Search command history history | grep "apt install" # Execute command #42 from history !42 # Clear history history -c

comodines

# * matches any characters ls *.txt # All .txt files cp *.jpg photos/ # Copy all .jpg files # ? matches a single character ls file?.txt # Matches file1.txt, fileA.txt, etc. # [] matches a specified range ls file[1-3].txt # Matches file1.txt, file2.txt, file3.txt

Después de aprender estos conceptos básicos, ya podrá manejar la mayoría de las operaciones diarias en la línea de comandos de Ubuntu. Puede continuar aprendiendo temas más avanzados, como scripts de shell, administración de sistemas, configuración de red y más. Recuerde, la práctica hace la perfección: la experiencia práctica es la mejor manera de dominar la línea de comandos.