Línea de Comandos de Ubuntu: Comandos Bash Esenciales para Principiantes y Usuarios Avanzados
La línea de comandos en Ubuntu — comúnmente conocida como terminal — es una de las herramientas más poderosas disponibles para los usuarios de Linux. Ya sea que estés gestionando archivos, instalando software, configurando ajustes del sistema o automatizando tareas repetitivas, la terminal te brinda un control directo y eficiente sobre tu sistema operativo. En el corazón de la terminal de Ubuntu se encuentra Bash, un robusto shell de línea de comandos que interpreta y ejecuta tus comandos con velocidad y precisión.
Esta guía completa cubre los comandos Bash más importantes y utilizados en Ubuntu, proporcionándote una base sólida para trabajar con confianza y eficiencia en la terminal — ya seas un principiante absoluto o estés buscando perfeccionar tus habilidades existentes.
¿Qué es Bash?
Bash (abreviatura de *Bourne Again Shell*) es el shell de línea de comandos predeterminado en Ubuntu y en la gran mayoría de las distribuciones de Linux. Es una interfaz basada en texto que permite a los usuarios emitir comandos directamente al sistema operativo, omitiendo por completo las interfaces gráficas para un control más rápido y preciso.
Bash es extraordinariamente potente y admite una amplia gama de características, entre ellas:
- Scripting de shell — automatiza secuencias complejas de comandos
- Historial de comandos — recuerda y reutiliza comandos ejecutados anteriormente
- Alias — crea atajos para comandos de uso frecuente
- Tuberías y redirección — encadena comandos para flujos de trabajo avanzados
- Variables de entorno — configura el comportamiento del sistema y las aplicaciones de forma dinámica
Cómo abrir la terminal en Ubuntu
Puedes abrir la terminal de Ubuntu de dos maneras:
- Presiona Ctrl + Alt + T en tu teclado
- Busca "Terminal" en el menú de aplicaciones (Actividades o Cajón de aplicaciones)
Una vez que la terminal esté abierta, estás listo para comenzar a ingresar comandos Bash.
> Consejo profesional: Si estás gestionando un servidor remoto — como un plan de VPS Hosting — normalmente accederás a la terminal a través de SSH en lugar de una interfaz de escritorio local. Los mismos comandos Bash se aplican en ambos entornos.
Comandos básicos de navegación
Navegar eficientemente por el sistema de archivos de Linux es la primera habilidad que todo usuario de terminal debe dominar. Los siguientes comandos forman la columna vertebral de la navegación de directorios en Ubuntu.
1. pwd — Imprimir directorio de trabajo
El comando pwd muestra la ruta completa del directorio en el que estás trabajando actualmente. Esto es especialmente útil cuando estás dentro de una estructura de directorios anidados y necesitas confirmar tu ubicación.
pwdEjemplo de salida:
/home/username/documents/projects2. ls — Listar contenido del directorio
El comando ls lista todos los archivos y directorios dentro del directorio de trabajo actual. Es uno de los comandos más utilizados en Linux.
lsPuedes ampliar su funcionalidad con varias opciones útiles:
| Opción | Descripción |
|---|---|
ls -l | Formato largo — muestra permisos de archivo, propietario, tamaño y fecha de modificación |
ls -a | Mostrar todos los archivos, incluidos los archivos ocultos (los que comienzan con .) |
ls -lh | Formato largo con tamaños de archivo legibles por humanos (KB, MB, GB) |
ls -lt | Ordenar archivos por tiempo de modificación, el más reciente primero |
ls -la | Combinar formato largo con visualización de archivos ocultos |
Ejemplo:
ls -lah /var/www/html3. cd — Cambiar directorio
El comando cd se utiliza para navegar entre directorios. Es posiblemente el comando más utilizado en cualquier sesión de terminal de Linux.
cd /path/to/directoryAtajos comunes:
cd # Navigate to your home directory
cd ~ # Also navigates to your home directory
cd .. # Move up one directory level
cd - # Return to the previous directory
cd / # Navigate to the root directory4. mkdir — Crear directorio
El comando mkdir crea un nuevo directorio en la ruta especificada.
mkdir new_directoryPara crear directorios anidados en un solo comando, usa el indicador -p:
mkdir -p /home/username/projects/website/assetsEsto crea todos los directorios intermedios automáticamente, incluso si aún no existen.
5. rmdir — Eliminar directorio vacío
El comando rmdir elimina un directorio vacío. Si el directorio contiene archivos o subdirectorios, devolverá un error.
rmdir directory_namePara eliminar un directorio junto con todo su contenido, usa el comando rm con el indicador recursivo (cubierto en la siguiente sección):
rm -r directory_name> Advertencia: El comando rm -r elimina permanentemente archivos y directorios. No hay recuperación desde la Papelera o Recycle Bin. Siempre verifica la ruta antes de ejecutar.
Comandos de gestión de archivos
Gestionar archivos es una responsabilidad fundamental cuando se trabaja en cualquier sistema Linux — desde un escritorio personal hasta un Servidor Dedicado en producción. Los siguientes comandos cubren la creación, copia, movimiento y eliminación de archivos.
1. touch — Crear un nuevo archivo
El comando touch crea un nuevo archivo vacío. Si el archivo ya existe, simplemente actualiza las marcas de tiempo de acceso y modificación del archivo sin alterar su contenido.
touch file_name.txtPuedes crear múltiples archivos simultáneamente:
touch file1.txt file2.txt file3.txt2. cp — Copiar archivos y directorios
El comando cp copia archivos o directorios de una ubicación a otra.
cp source_file destinationOpciones útiles:
| Opción | Descripción |
|---|---|
cp -r | Copiar recursivamente un directorio y todo su contenido |
cp -i | Solicitar confirmación antes de sobrescribir un archivo existente |
cp -v | Modo detallado — muestra cada archivo a medida que se copia |
cp -u | Solo copiar archivos que sean más recientes que el destino |
Ejemplos:
# Copy a single file
cp config.txt /etc/myapp/config.txt
# Copy an entire directory
cp -r /var/www/html /backup/html_backup3. mv — Mover o renombrar archivos
El comando mv tiene un doble propósito: mueve archivos o directorios a una nueva ubicación y los renombra.
Mover un archivo a un nuevo directorio:
mv file_name.txt /new/directory/Renombrar un archivo:
mv old_name.txt new_name.txtMover y renombrar simultáneamente:
mv /home/user/old_name.txt /var/www/html/new_name.txt4. rm — Eliminar archivos y directorios
El comando rm elimina permanentemente archivos y directorios del sistema de archivos.
rm file_name.txtOpciones comunes:
| Opción | Descripción |
|---|---|
rm -r | Eliminar recursivamente un directorio y todo su contenido |
rm -f | Forzar la eliminación sin solicitar confirmación |
rm -i | Solicitar confirmación antes de eliminar cada archivo |
rm -rf | Forzar la eliminación recursiva — usar con extrema precaución |
# Delete a single file
rm old_log.txt
# Delete a directory and all its contents
rm -r /tmp/old_project/> Advertencia crítica: Ejecutar rm -rf en la ruta incorrecta — especialmente como usuario root — puede causar daños irreversibles al sistema. Siempre verifica tu comando antes de presionar Enter.
Visualización y edición de archivos
La terminal de Ubuntu proporciona varias herramientas potentes para leer y editar archivos de texto directamente, sin necesidad de abrir un editor de texto gráfico. Estos comandos son esenciales para los administradores de sistemas que gestionan archivos de configuración en servidores que ejecutan entornos de Hosting Web Compartido o infraestructura dedicada.
1. cat — Ver contenido de archivos
El comando cat (abreviatura de *concatenate*) muestra el contenido completo de un archivo directamente en la terminal.
cat file_name.txtTambién puedes usar cat para combinar múltiples archivos:
cat file1.txt file2.txt > combined.txtY para mostrar números de línea junto al contenido:
cat -n file_name.txt2. less — Ver archivos página por página
El comando less es ideal para leer archivos grandes, ya que muestra el contenido una pantalla a la vez en lugar de volcar todo de una vez.
less file_name.txtNavegación dentro de less:
| Tecla | Acción |
|---|---|
Space o f | Avanzar una página |
b | Retroceder una página |
Arrow keys | Desplazarse línea por línea |
/search_term | Buscar hacia adelante un término |
?search_term | Buscar hacia atrás un término |
q | Salir y volver a la terminal |
3. nano — Editar archivos en la terminal
El comando nano abre el editor de texto Nano directamente dentro de la terminal. Es amigable para principiantes, con atajos de teclado mostrados en la parte inferior de la pantalla.
nano file_name.txtAtajos de teclado esenciales de Nano:
| Atajo | Acción |
|---|---|
Ctrl + O | Guardar (escribir) el archivo |
Ctrl + X | Salir de Nano |
Ctrl + K | Cortar la línea actual |
Ctrl + U | Pegar la línea cortada |
Ctrl + W | Buscar dentro del archivo |
Para una edición más avanzada, los administradores experimentados suelen preferir Vim (vim file_name.txt) o GNU Emacs, aunque Nano es el punto de partida recomendado para nuevos usuarios.
4. head — Ver el inicio de un archivo
El comando head muestra las primeras 10 líneas de un archivo por defecto. Esto es útil para verificar rápidamente el inicio de archivos de registro o archivos de configuración.
head file_name.txtPara especificar un número personalizado de líneas:
head -n 25 file_name.txt5. tail — Ver el final de un archivo
El comando tail muestra las últimas 10 líneas de un archivo. Esto es particularmente valioso para monitorear archivos de registro en tiempo real.
tail file_name.txtPara seguir un archivo de registro a medida que se actualiza en tiempo real (extremadamente útil para el monitoreo de servidores):
tail -f /var/log/syslogPara mostrar un número personalizado de líneas:
tail -n 50 /var/log/auth.logComandos Bash adicionales esenciales
Más allá de los fundamentos cubiertos anteriormente, los siguientes comandos son indispensables para cualquier usuario de Ubuntu o administrador de sistemas.
grep — Buscar patrones de texto
grep "search_term" file_name.txt
grep -r "error" /var/log/ # Recursive search through a directory
grep -i "warning" system.log # Case-insensitive searchfind — Localizar archivos y directorios
find /home -name "*.txt" # Find all .txt files in /home
find /var/www -type f -name "*.php" # Find all PHP files
find / -size +100M # Find files larger than 100MBchmod — Cambiar permisos de archivos
chmod 755 script.sh # Owner: read/write/execute; Group/Others: read/execute
chmod +x deploy.sh # Add execute permission for all userschown — Cambiar propietario de archivos
chown username:groupname file.txt
chown -R www-data:www-data /var/www/htmlsudo — Ejecutar comandos como superusuario
sudo apt update
sudo systemctl restart nginxapt — Gestión de paquetes
sudo apt update # Refresh package lists
sudo apt upgrade # Upgrade all installed packages
sudo apt install package_name # Install a new package
sudo apt remove package_name # Remove a packageman — Acceder a páginas del manual
man ls # View the manual for the ls command
man grep # View the manual for grepEncadenamiento de comandos Bash y redirección
Una de las características más poderosas de Bash es la capacidad de encadenar comandos y redirigir entrada/salida.
Tuberías (|)
El operador de tubería envía la salida de un comando como entrada a otro:
ls -la | grep ".txt" # List only .txt files
cat access.log | grep "404" # Find all 404 errors in a log
ps aux | grep nginx # Check if nginx is runningRedirección de salida (> y >>)
echo "Hello World" > output.txt # Write to file (overwrites)
echo "New line" >> output.txt # Append to file
ls -la > directory_listing.txt # Save directory listing to fileRedirección de entrada (<)
sort < unsorted_list.txt # Sort contents of a fileCasos de uso prácticos: comandos Bash en la gestión de servidores
Comprender los comandos Bash no solo es útil para el uso en escritorio local — es absolutamente esencial para gestionar servidores remotos. Ya sea que estés configurando un servidor web, desplegando una aplicación o solucionando problemas de rendimiento, la terminal es tu herramienta principal.
Aquí hay algunos escenarios del mundo real donde estos comandos se aplican diariamente:
- Gestión de servidor web: Editar archivos de configuración de Nginx o Apache con
nano, verificar registros de errores contail -fy gestionar directorios raíz web concp,mvyrm - Instalación de certificados SSL: Navegar a los directorios de certificados, verificar permisos de archivos con
ls -ly editar archivos de configuración — todos pasos críticos al configurar Certificados SSL en tu servidor - Administración de bases de datos: Usar
greppara buscar en registros de consultas,findpara localizar archivos de base de datos ychmodpara proteger archivos de configuración sensibles - Copias de seguridad automatizadas: Escribir scripts Bash que combinen
cp,taryfindpara crear copias de seguridad programadas de datos críticos - Configuración de servidor de correo: Gestionar archivos de configuración y monitoreo de registros para configuraciones de Email Hosting usando
cat,lessytail
Referencia rápida: hoja de trucos de comandos Bash esenciales
| Comando | Propósito | Ejemplo |
|---|---|---|
pwd | Imprimir directorio actual | pwd |
ls | Listar contenido del directorio | ls -lah |
cd | Cambiar directorio | cd /var/www |
mkdir | Crear directorio | mkdir -p /new/dir |
rmdir | Eliminar directorio vacío | rmdir old_dir |
touch | Crear archivo vacío | touch index.html |
cp | Copiar archivos/directorios | cp -r src/ dest/ |
mv | Mover o renombrar | mv old.txt new.txt |
rm | Eliminar archivos/directorios | rm -rf /tmp/cache |
cat | Mostrar contenido de archivo | cat config.txt |
less | Paginar archivos grandes | less access.log |
nano | Editar archivos en la terminal | nano nginx.conf |
head | Ver las primeras N líneas | head -n 20 log.txt |
tail | Ver las últimas N líneas / en vivo | tail -f syslog |
grep | Buscar patrones de texto | grep "error" log.txt |
find | Localizar archivos | find / -name "*.conf" |
chmod | Cambiar permisos | chmod 755 script.sh |
sudo | Ejecutar como superusuario | sudo apt update |
man | Ver manual del comando | man grep |
Conclusión
Dominar los comandos Bash es una de las habilidades más valiosas que puedes desarrollar como usuario de Linux, desarrollador o administrador de sistemas. Los comandos cubiertos en esta guía — desde la navegación básica con pwd, ls y cd, hasta la gestión de archivos con cp, mv y rm, hasta la visualización y edición de archivos con cat, less, nano, head y tail — forman el conjunto de herramientas esencial para trabajar eficazmente en la terminal de Ubuntu.
A medida que te sientas más cómodo con estos fundamentos, avanzarás naturalmente hacia temas más avanzados como scripting de shell, gestión de procesos, diagnósticos de red y monitoreo del sistema — todos los cuales se construyen directamente sobre la base establecida aquí.
Si estás buscando poner en práctica estas habilidades en un entorno Linux real, AlexHost ofrece VPS Hosting de alto rendimiento con acceso SSH root completo, dándote control total sobre tu servidor desde la línea de comandos. Nuestra infraestructura está diseñada para la confiabilidad, velocidad y flexibilidad — ya sea que estés alojando un proyecto personal, una aplicación empresarial o una arquitectura compleja de múltiples servidores.
Comienza a explorar el poder de la línea de comandos de Ubuntu hoy — y toma el control total de tu entorno Linux.
