Guía de Comandos Esenciales y Paquetes Útiles para Ubuntu¶
Esta guía proporciona una lista de comandos esenciales para administrar un sistema Ubuntu en Windows Subsystem for Linux (WSL) y una selección de paquetes útiles para tareas comunes, desarrollo y productividad. Es un complemento ideal para configuraciones como WSL con Nginx y Certbot.
Requisitos Previos¶
- Ubuntu instalado en WSL (por ejemplo, Ubuntu 20.04 LTS o 22.04 LTS).
- Acceso a la terminal de Ubuntu.
- Conexión a Internet para instalar paquetes.
- Familiaridad básica con la terminal.
Sección 1: Comandos Esenciales de Ubuntu¶
Los siguientes comandos son fundamentales para administrar y navegar en Ubuntu. Se dividen en categorías para facilitar su uso.
Gestión de Paquetes¶
-
Actualizar la lista de paquetes:
sudo apt update
Actualiza el índice de paquetes disponibles.
-
Actualizar paquetes instalados:
sudo apt upgrade -y
Instala las últimas versiones de los paquetes instalados.
-
Instalar un paquete:
sudo apt install <nombre_paquete> -y
Ejemplo:
sudo apt install nginx -y
. -
Eliminar un paquete:
sudo apt remove <nombre_paquete> -y
Elimina un paquete, pero conserva los archivos de configuración.
-
Eliminar un paquete y sus configuraciones:
sudo apt remove --purge <nombre_paquete> -y
-
Limpiar paquetes no necesarios:
sudo apt autoremove -y
Elimina dependencias obsoletas.
-
Buscar un paquete:
apt search <término>
Busca paquetes en los repositorios.
Gestión de Archivos y Directorios¶
-
Listar archivos y directorios:
ls
Opciones útiles:
ls -l
(detallado),ls -a
(incluye ocultos). -
Cambiar de directorio:
cd <ruta_directorio>
Ejemplo:
cd /var/www/html
. -
Crear un directorio:
mkdir <nombre_directorio>
-
Crear un archivo:
touch <nombre_archivo>
-
Copiar archivos o directorios:
cp <origen> <destino>
Ejemplo:
cp /var/www/html/index.html /var/www/html/index.html.bak
. -
Mover o renombrar archivos:
mv <origen> <destino>
-
Eliminar archivos o directorios:
rm <archivo> rm -r <directorio>
Usa
-f
para forzar eliminación sin confirmación (con cuidado). -
Ver contenido de un archivo:
cat <archivo>
Otras opciones:
less <archivo>
(navegación),more <archivo>
(paginado).
Gestión de Permisos¶
-
Cambiar permisos:
chmod <permisos> <archivo_o_directorio>
Ejemplo:
chmod 755 /var/www/html
. -
Cambiar propietario:
chown <usuario>:<grupo> <archivo_o_directorio>
Ejemplo:
chown www-data:www-data /var/www/html
.
Gestión de Procesos¶
-
Ver procesos activos:
ps aux
-
Monitorear procesos en tiempo real:
top
Alternativa:
htop
(requiere instalación). -
Terminar un proceso:
kill <PID>
Usa
kill -9 <PID>
para forzar terminación.
Gestión de Servicios¶
-
Iniciar un servicio:
sudo systemctl start <nombre_servicio>
Ejemplo:
sudo systemctl start nginx
. -
Detener un servicio:
sudo systemctl stop <nombre_servicio>
-
Habilitar un servicio al inicio:
sudo systemctl enable <nombre_servicio>
-
Verificar estado de un servicio:
sudo systemctl status <nombre_servicio>
Gestión de Red¶
-
Verificar puertos abiertos:
sudo netstat -tuln
-
Comprobar conectividad:
ping <dominio_o_ip>
Ejemplo:
ping google.com
. -
Ver configuración de red:
ip addr
Gestión de Usuarios¶
-
Crear un usuario:
sudo adduser <nombre_usuario>
-
Cambiar contraseña:
sudo passwd <nombre_usuario>
-
Agregar usuario a un grupo:
sudo usermod -aG <grupo> <nombre_usuario>
Ejemplo:
sudo usermod -aG sudo <nombre_usuario>
.
Otros Comandos Útiles¶
-
Ver uso de disco:
df -h
-
Ver tamaño de directorios:
du -sh <directorio>
-
Buscar archivos:
find / -name "<nombre_archivo>"
-
Comprimir/descomprimir archivos:
tar -cvf archivo.tar <directorio> tar -xvf archivo.tar
Sección 2: Paquetes Útiles para Ubuntu¶
A continuación, se listan paquetes recomendados para mejorar la funcionalidad de Ubuntu en WSL, junto con su propósito y comando de instalación.
Herramientas de Administración del Sistema¶
-
htop: Monitor de procesos interactivo.
sudo apt install htop -y
-
tmux: Multiplexor de terminal para sesiones persistentes.
sudo apt install tmux -y
-
curl: Herramienta para transferir datos desde/hacia servidores.
sudo apt install curl -y
-
wget: Descarga archivos desde la web.
sudo apt install wget -y
Herramientas de Desarrollo¶
-
git: Sistema de control de versiones.
sudo apt install git -y
Configura Git:
git config --global user.name "Tu Nombre" git config --global user.email "tu.email@ejemplo.com"
-
build-essential: Paquete con herramientas de compilación (gcc, g++, make).
sudo apt install build-essential -y
-
python3: Lenguaje de programación Python (versión 3).
sudo apt install python3 python3-pip -y
-
nodejs y npm: Entorno para JavaScript y gestor de paquetes.
sudo apt install nodejs npm -y
Herramientas de Red y Seguridad¶
-
nmap: Escáner de puertos y redes.
sudo apt install nmap -y
-
ufw: Cortafuegos simple para gestionar reglas de red.
sudo apt install ufw -y
Habilita y configura:
sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable
-
fail2ban: Protección contra ataques de fuerza bruta.
sudo apt install fail2ban -y
Herramientas de Productividad¶
-
vim o nano: Editores de texto en terminal.
sudo apt install vim -y sudo apt install nano -y
-
jq: Procesador de JSON para scripts.
sudo apt install jq -y
-
tree: Muestra la estructura de directorios en forma de árbol.
sudo apt install tree -y
Herramientas para Nginx y Certbot¶
-
nginx: Servidor web ligero (ya incluido en la guía anterior).
sudo apt install nginx -y
-
certbot: Herramienta para obtener certificados SSL (ya incluido en la guía anterior).
sudo apt install certbot python3-certbot-nginx -y
Sección 3: Consejos para WSL¶
-
Acceder a archivos de WSL desde Windows:
Usa\\wsl$\Ubuntu-22.04
en el Explorador de Archivos de Windows. -
Acceder a archivos de Windows desde WSL:
Los discos de Windows están montados en/mnt/c
,/mnt/d
, etc. -
Respaldar la distribución:
Exporta la distribución para respaldo:wsl --export Ubuntu-22.04 C:\WSL\Backups\Ubuntu-22.04-backup-$(date +%Y%m%d).tar
-
Clonar la distribución:
Importa un respaldo como una nueva distribución:wsl --import Ubuntu-22.04-Clone C:\WSL\Ubuntu-22.04-Clone C:\WSL\Backups\Ubuntu-22.04-backup-<fecha>.tar
-
Actualizar WSL:
En PowerShell:wsl --update
Sección 4: Ejemplo de Script Útil¶
Este script instala todos los paquetes recomendados de una vez:
#!/bin/bash
sudo apt update
sudo apt install -y htop tmux curl wget git build-essential python3 python3-pip nodejs npm nmap ufw fail2ban vim nano jq tree
echo "Paquetes instalados correctamente."
Guarda el script como install_tools.sh
, hazlo ejecutable y ejecútalo:
chmod +x install_tools.sh
./install_tools.sh
Solución de Problemas¶
-
Comando no encontrado:
Asegúrate de que el paquete esté instalado:sudo apt install <paquete>
. -
Permisos denegados:
Usasudo
para comandos que requieren permisos de administrador. -
Problemas de red en WSL:
Reinicia WSL en PowerShell:wsl --shutdown
-
Paquetes no encontrados:
Asegúrate de que los repositorios estén actualizados:sudo apt update
.
Actualizado por Anibal Pendas Amador hace 4 días · 1 revisiones