Linux – Guía práctica
Esta página está destinada a ser una referencia de Linux compacta pero útil.
Todos los ejemplos son genéricos y aplicables a la mayoría de las distribuciones de Linux
(Debian/Ubuntu, RHEL/Fedora, Arch, Alpine), a menos que se indique lo contrario.
1. Estructura de archivos y navegación
Linux trabaja con una única estructura de árbol central (/), no con letras de unidad como en Windows.
Mapas importantes:
/– raíz del sistema/home– carpetas de usuario personales/etc– archivos de configuración/var– datos variables (registros, correo, caché)/usr– programas y bibliotecas/tmp– archivos temporales/srv– datos para servicios (web, aplicaciones)
La navegación se realiza completamente a través de la terminal. Siempre trabajas desde un "directorio actual".
Ver el camino actual:
pwd
Mostrar archivos y carpetas en la carpeta actual:
ls
ls -lah
Opciones:
-lmuestra una vista de lista-amuestra también archivos ocultos-hhace que los tamaños sean legibles
Moverse por la estructura de carpetas:
cd /path/to/folder
cd ..
cd ~
2. Administrar archivos y carpetas
Los archivos y carpetas se crean, mueven y eliminan completamente a través de comandos.
Crear una carpeta:
mkdir folder
mkdir -p a/b/c
-p asegura que también se creen las carpetas intermedias que faltan.
Crear un archivo vacío o actualizar la marca de tiempo:
touch file.txt
Copiar archivos o carpetas:
cp source dest
cp -a source dest
-a (archivo) conserva derechos, propiedad y enlaces simbólicos y se recomienda casi siempre.
Mover o renombrar archivos o carpetas:
mv old new
Eliminar archivos y carpetas:
rm file
rm -r folder
rm -rf folder
-r= recursivo-f= forzado, sin confirmación
Usa rm -rf solo si estás seguro de lo que haces.
Crear un enlace simbólico:
ln -s target link
3. Ver archivos y leer
Para ver archivos, hay diferentes herramientas disponibles, dependiendo del tamaño y uso.
Mostrar todo el contenido:
cat file
Adecuado para archivos pequeños.
Ver vista interactiva (desplazar y buscar):
less file
Ver las primeras o últimas líneas:
head -n 20 file
tail -n 20 file
Seguir un archivo en vivo (por ejemplo, registros):
tail -f /var/log/syslog
4. Buscar y filtrar texto
Linux ofrece potentes herramientas para buscar y filtrar texto, especialmente en registros y archivos de configuración.
Buscar texto:
grep "text" file
grep -R "text" folder
grep -Rni "tekst" folder
Opciones:
-R= recursivo-n= número de línea-i= insensible a mayúsculas
Buscar archivos por nombre:
find . -name "*.log"
Buscar archivos por fecha de modificación:
find . -type f -mtime -7
Extraer columnas o campos de texto:
awk '{print $1}' file
cut -d: -f1 file
5. Derechos y propiedad
Linux trabaja con usuarios, grupos y permisos por archivo.
Ver derechos:
ls -l
Ajustar derechos:
chmod 644 file
chmod 755 script.sh
Significado:
644= leer/escribir para el propietario, leer para otros755= ejecutable para todos
Modificar propietario y grupo:
chown user:group file
Ver usuarios y grupos actuales:
id
groups
6. Procesos y estado del sistema
Linux proporciona información detallada sobre procesos activos y uso del sistema.
Mostrar todos los procesos:
ps aux
Vista en vivo de CPU y memoria:
top
htop
Ver uso de memoria:
free -h
Espacio en disco por sistema de archivos:
df -h
Tamaño de una carpeta:
du -sh folder
Finalizar un proceso:
kill PID
kill -9 PID
-9 fuerza el cierre y debe usarse solo como último recurso.
7. Red y conectividad
El estado de la red y la conectividad son esenciales para servidores y aplicaciones.
Interfaces de red y rutas:
ip a
ip r
Puertos y procesos en escucha:
ss -tulpn
Probar la conexión de red:
ping domain.tld
Realizar solicitudes HTTP:
curl https://site.tld
curl -I https://site.tld
Consultar información DNS:
dig domain.tld
Comprobar si un puerto es accesible:
nc -vz host 443
8. Servicios y registros (systemd)
La mayoría de los sistemas Linux modernos utilizan systemd para la gestión de servicios.
Estado y gestión de servicios:
systemctl status service
systemctl start service
systemctl stop service
systemctl restart service
systemctl reload service
Servicios que se inician automáticamente al arrancar:
systemctl enable service
systemctl disable service
Ver registros:
journalctl -u service
journalctl -u service -f
journalctl -p err
9. Gestores de paquetes
El software se instala a través del gestor de paquetes de la distribución.
Debian / Ubuntu (apt)
apt update
apt install package
apt remove package
apt purge package
apt autoremove
RHEL / Fedora (dnf)
dnf install package
dnf remove package
dnf search package
Arco (pacman)
pacman -S package
pacman -Rns package
pacman -Syu
Alpino (apk)
apk add package
apk del package
10. Git – control de versiones
Git se utiliza para el control de versiones de código y configuración.
Comandos básicos:
git init
git clone url
git status
git add .
git commit -m "description"
Sincronizar con un remoto:
git pull --rebase
git push
Perspectiva sobre cambios:
git log --oneline --graph
git diff
11. Docker – contenedores
Docker permite ejecutar aplicaciones de manera aislada.
Gestionar imágenes en contenedores:
docker pull image
docker images
docker ps
docker ps -a
Iniciar y gestionar un contenedor:
docker run -d -p 8080:80 image
docker logs container
docker exec -it container sh
Docker Compose:
docker compose up -d
docker compose down
12. Seguridad básica
Una base de seguridad mínima es esencial, especialmente en servidores.
Cortafuegos (Ubuntu):
ufw status
ufw allow 22
ufw enable
Nftables (cortafuegos de bajo nivel):
nft list ruleset
Protección contra ataques de fuerza bruta:
fail2ban-client status
Actualizaciones de seguridad automáticas:
apt install unattended-upgrades
13. Herramientas auxiliares comunes
curl,wget– solicitudes HTTPjq– Procesar JSONrsync– sincronización de archivos eficientetmux– múltiples shells en una sesiónncdu– analizar el espacio en discolsof– archivos y puertos abiertostcpdump– inspeccionar el tráfico de red
