15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar
30.10.2024
1 +1

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.

pwd

Ejemplo de salida:

/home/username/documents/projects

2. 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.

ls

Puedes ampliar su funcionalidad con varias opciones útiles:

OpciónDescripción
ls -lFormato largo — muestra permisos de archivo, propietario, tamaño y fecha de modificación
ls -aMostrar todos los archivos, incluidos los archivos ocultos (los que comienzan con .)
ls -lhFormato largo con tamaños de archivo legibles por humanos (KB, MB, GB)
ls -ltOrdenar archivos por tiempo de modificación, el más reciente primero
ls -laCombinar formato largo con visualización de archivos ocultos

Ejemplo:

ls -lah /var/www/html

3. 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/directory

Atajos 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 directory

4. mkdir — Crear directorio

El comando mkdir crea un nuevo directorio en la ruta especificada.

mkdir new_directory

Para crear directorios anidados en un solo comando, usa el indicador -p:

mkdir -p /home/username/projects/website/assets

Esto 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_name

Para 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.txt

Puedes crear múltiples archivos simultáneamente:

touch file1.txt file2.txt file3.txt

2. cp — Copiar archivos y directorios

El comando cp copia archivos o directorios de una ubicación a otra.

cp source_file destination

Opciones útiles:

OpciónDescripción
cp -rCopiar recursivamente un directorio y todo su contenido
cp -iSolicitar confirmación antes de sobrescribir un archivo existente
cp -vModo detallado — muestra cada archivo a medida que se copia
cp -uSolo 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_backup

3. 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.txt

Mover y renombrar simultáneamente:

mv /home/user/old_name.txt /var/www/html/new_name.txt

4. rm — Eliminar archivos y directorios

El comando rm elimina permanentemente archivos y directorios del sistema de archivos.

rm file_name.txt

Opciones comunes:

OpciónDescripción
rm -rEliminar recursivamente un directorio y todo su contenido
rm -fForzar la eliminación sin solicitar confirmación
rm -iSolicitar confirmación antes de eliminar cada archivo
rm -rfForzar 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.txt

También puedes usar cat para combinar múltiples archivos:

cat file1.txt file2.txt > combined.txt

Y para mostrar números de línea junto al contenido:

cat -n file_name.txt

2. 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.txt

Navegación dentro de less:

TeclaAcción
Space o fAvanzar una página
bRetroceder una página
Arrow keysDesplazarse línea por línea
/search_termBuscar hacia adelante un término
?search_termBuscar hacia atrás un término
qSalir 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.txt

Atajos de teclado esenciales de Nano:

AtajoAcción
Ctrl + OGuardar (escribir) el archivo
Ctrl + XSalir de Nano
Ctrl + KCortar la línea actual
Ctrl + UPegar la línea cortada
Ctrl + WBuscar 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.txt

Para especificar un número personalizado de líneas:

head -n 25 file_name.txt

5. 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.txt

Para seguir un archivo de registro a medida que se actualiza en tiempo real (extremadamente útil para el monitoreo de servidores):

tail -f /var/log/syslog

Para mostrar un número personalizado de líneas:

tail -n 50 /var/log/auth.log

Comandos 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 search

find — 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 100MB

chmod — 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 users

chown — Cambiar propietario de archivos

chown username:groupname file.txt
chown -R www-data:www-data /var/www/html

sudo — Ejecutar comandos como superusuario

sudo apt update
sudo systemctl restart nginx

apt — 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 package

man — Acceder a páginas del manual

man ls        # View the manual for the ls command
man grep      # View the manual for grep

Encadenamiento 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 running

Redirecció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 file

Redirección de entrada (<)

sort < unsorted_list.txt           # Sort contents of a file

Casos 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 con tail -f y gestionar directorios raíz web con cp, mv y rm
  • Instalación de certificados SSL: Navegar a los directorios de certificados, verificar permisos de archivos con ls -l y editar archivos de configuración — todos pasos críticos al configurar Certificados SSL en tu servidor
  • Administración de bases de datos: Usar grep para buscar en registros de consultas, find para localizar archivos de base de datos y chmod para proteger archivos de configuración sensibles
  • Copias de seguridad automatizadas: Escribir scripts Bash que combinen cp, tar y find para 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, less y tail

Referencia rápida: hoja de trucos de comandos Bash esenciales

ComandoPropósitoEjemplo
pwdImprimir directorio actualpwd
lsListar contenido del directoriols -lah
cdCambiar directoriocd /var/www
mkdirCrear directoriomkdir -p /new/dir
rmdirEliminar directorio vacíormdir old_dir
touchCrear archivo vacíotouch index.html
cpCopiar archivos/directorioscp -r src/ dest/
mvMover o renombrarmv old.txt new.txt
rmEliminar archivos/directoriosrm -rf /tmp/cache
catMostrar contenido de archivocat config.txt
lessPaginar archivos grandesless access.log
nanoEditar archivos en la terminalnano nginx.conf
headVer las primeras N líneashead -n 20 log.txt
tailVer las últimas N líneas / en vivotail -f syslog
grepBuscar patrones de textogrep "error" log.txt
findLocalizar archivosfind / -name "*.conf"
chmodCambiar permisoschmod 755 script.sh
sudoEjecutar como superusuariosudo apt update
manVer manual del comandoman 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.

15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar