Manual de Comandos Linux

Guía extensa para administración de sistemas desde básico hasta avanzado

Tabla de Contenidos

1. Comandos Básicos

Navegación y Exploración

pwd
Muestra el directorio de trabajo actual (Print Working Directory).
ls [opciones] [directorio]
Lista los archivos y directorios. Algunas opciones comunes:
cd [directorio]
Cambia el directorio de trabajo. Ejemplos:

Manipulación de Archivos

cp [opciones] origen destino
Copia archivos o directorios. Opciones comunes:
mv [opciones] origen destino
Mueve o renombra archivos/directorios. Opciones similares a cp.
rm [opciones] archivo
Elimina archivos o directorios. ¡Usar con cuidado!
Advertencia: rm -rf / puede destruir todo el sistema. Nunca ejecutes esto.

2. Sistema de Archivos

df [opciones]
Muestra el espacio en disco disponible. Opciones útiles:
du [opciones] [directorio/archivo]
Muestra el uso de disco por archivos/directorios. Opciones:
find [ruta] [expresión]
Busca archivos/directorios. Ejemplos:
mount [opciones] dispositivo punto_de_montaje
Monta un sistema de archivos. Para ver lo montado actualmente:
mount o findmnt
umount punto_de_montaje
Desmonta un sistema de archivos.

3. Usuarios y Grupos

useradd [opciones] nombre_usuario
Crea un nuevo usuario. Opciones comunes:
usermod [opciones] nombre_usuario
Modifica un usuario existente. Opciones similares a useradd.
userdel [opciones] nombre_usuario
Elimina un usuario. -r elimina también el directorio home.
passwd [nombre_usuario]
Cambia la contraseña de un usuario. Sin argumentos cambia la del usuario actual.
groupadd [opciones] nombre_grupo
Crea un nuevo grupo.
groupmod [opciones] nombre_grupo
Modifica un grupo existente.
groupdel nombre_grupo
Elimina un grupo.
id [nombre_usuario]
Muestra información de usuario y grupos.
who o w
Muestra usuarios conectados.
last
Muestra historial de inicios de sesión.

4. Permisos y Propiedad

chmod [opciones] permisos archivo/directorio
Cambia los permisos de archivos/directorios. Los permisos pueden ser: Opción -R para recursivo.
chown [opciones] usuario:grupo archivo/directorio
Cambia el dueño y grupo de archivos/directorios. Opción -R para recursivo.
chgrp [opciones] grupo archivo/directorio
Cambia el grupo de archivos/directorios.
umask
Muestra o establece la máscara de permisos por defecto para nuevos archivos.
getfacl archivo/directorio
setfacl [opciones] archivo/directorio
Maneja Access Control Lists (ACLs) para permisos avanzados.

5. Redes y Conexiones

ip [objeto] [comando]
Herramienta moderna para gestión de red. Objetos comunes:
ifconfig (obsoleto) o ip addr
Muestra información de interfaces de red.
ping [opciones] destino
Prueba conectividad a un host. Opciones:
traceroute [opciones] destino
Muestra la ruta que siguen los paquetes hasta un destino.
netstat [opciones]
Muestra información de conexiones de red, tablas de rutas, etc. Opciones: Alternativas modernas: ss y ip route
ss [opciones]
Reemplazo moderno para netstat. Opciones similares.
dig [opciones] dominio [tipo]
Consulta DNS. Ejemplos:
nslookup dominio
Herramienta más antigua para consultas DNS.
host dominio
Otra herramienta para consultas DNS.
whois dominio
Consulta información de registro de dominios.
wget [opciones] URL
Descarga archivos de la web. Opciones:
curl [opciones] URL
Transfiere datos desde/para servidores. Opciones:

6. SSH y Conexiones Remotas

ssh [opciones] usuario@host [comando]
Conexión segura a un host remoto. Opciones: Ejemplo con comando remoto: ssh usuario@host "ls -l /tmp"
ssh-keygen [opciones]
Genera pares de claves SSH. Opciones: Ejemplo moderno: ssh-keygen -t ed25519 -a 100
ssh-copy-id [opciones] usuario@host
Copia la clave pública al host remoto para autenticación sin password.
scp [opciones] origen destino
Copia archivos de forma segura entre hosts. Sintaxis: Opciones similares a ssh (-P para puerto, -i para clave, etc.).
rsync [opciones] origen destino
Sincroniza archivos de forma eficiente. Ejemplos: Opciones comunes:
sftp [opciones] usuario@host
Cliente SFTP (Secure FTP). Una vez conectado, comandos similares a FTP:

7. Procesos y Rendimiento

ps [opciones]
Muestra información de procesos. Combinaciones comunes:
top [opciones]
Monitor interactivo de procesos. Comandos dentro de top: Alternativas modernas: htop, btop, glances
htop [opciones]
Versión mejorada de top con interfaz más amigable.
kill [opciones] PID
Envía señales a procesos. Señales comunes:
killall [opciones] nombre_proceso
Mata procesos por nombre en lugar de PID.
pkill [opciones] patron
Mata procesos por patrones en nombres u otros atributos.
pgrep [opciones] patron
Busca procesos por patrones y muestra sus PIDs.
nice [opciones] comando
Ejecuta un comando con prioridad modificada (nice value de -20 a 19, menor = más prioridad).
renice [opciones] prioridad [-p PID] [-u usuario] [-g grupo]
Cambia la prioridad de procesos ya en ejecución.
time comando
Muestra tiempo de ejecución de un comando.
uptime
Muestra tiempo de actividad del sistema y carga promedio.
free [opciones]
Muestra uso de memoria. Opciones:
vmstat [intervalo] [contador]
Muestra estadísticas de sistema: procesos, memoria, paginación, bloques I/O, CPU.
iostat [opciones] [intervalo] [contador]
Muestra estadísticas de uso de CPU y dispositivos de almacenamiento.
mpstat [opciones] [intervalo] [contador]
Muestra estadísticas de uso de CPU por procesador.
sar [opciones] [intervalo] [contador]
Herramienta completa de monitoreo del sistema (parte del paquete sysstat).
lsof [opciones]
Lista archivos abiertos y procesos que los usan. Ejemplos:
strace [opciones] comando
Rastrea llamadas al sistema y señales. Útil para depuración.

8. Systemd (systemctl y journalctl)

systemctl [opciones] comando [unidad]
Controla el sistema y servicios. Comandos principales:
Comando Descripción
start unidad Inicia una unidad (servicio, socket, etc.)
stop unidad Detiene una unidad
restart unidad Reinicia una unidad
reload unidad Recarga configuración sin reiniciar
enable unidad Habilita inicio automático al arranque
disable unidad Deshabilita inicio automático
status unidad Muestra estado de una unidad
is-active unidad Muestra si la unidad está activa
is-enabled unidad Muestra si la unidad está habilitada
list-units [--type=service] Lista unidades cargadas
list-unit-files Lista todas las unidades instaladas
mask unidad Bloquea permanentemente una unidad
unmask unidad Desbloquea una unidad
daemon-reload Recarga configuración de systemd
reboot, poweroff, halt, suspend, hibernate Control del estado del sistema
journalctl [opciones]
Consulta los logs del sistema. Opciones útiles: Ejemplos:
hostnamectl [opciones]
Consulta o cambia el nombre de host del sistema.
timedatectl [opciones]
Consulta o cambia la configuración de fecha y hora.
loginctl [opciones]
Gestiona sesiones de usuario.

9. Gestión de Paquetes

Debian/Ubuntu (APT)

apt update
Actualiza la lista de paquetes disponibles.
apt upgrade
Actualiza todos los paquetes instalados.
apt full-upgrade
Actualiza paquetes, manejando dependencias que requieran eliminaciones.
apt install paquete
Instala un paquete.
apt remove paquete
Elimina un paquete pero deja archivos de configuración.
apt purge paquete
Elimina completamente un paquete y sus archivos de configuración.
apt autoremove
Elimina paquetes automáticos no necesarios.
apt search patron
Busca paquetes que coincidan con un patrón.
apt show paquete
Muestra información detallada de un paquete.
apt list [--installed|--upgradeable|--all-versions]
Lista paquetes según criterios.
apt edit-sources
Edita el archivo sources.list (configuración de repositorios).

RedHat/CentOS (DNF/YUM)

dnf update o yum update
Actualiza todos los paquetes instalados.
dnf install paquete o yum install paquete
Instala un paquete.
dnf remove paquete o yum remove paquete
Elimina un paquete.
dnf search patron o yum search patron
Busca paquetes.
dnf info paquete o yum info paquete
Muestra información de un paquete.
dnf repolist o yum repolist
Lista repositorios configurados.
dnf history o yum history
Muestra historial de transacciones.

Arch Linux (Pacman)

pacman -Syu
Sincroniza repositorios y actualiza todos los paquetes.
pacman -S paquete
Instala un paquete.
pacman -R paquete
Elimina un paquete.
pacman -Rs paquete
Elimina un paquete y sus dependencias no requeridas.
pacman -Ss patron
Busca paquetes.
pacman -Qi paquete
Muestra información de un paquete instalado.

Snap

snap install paquete
Instala un paquete snap.
snap remove paquete
Elimina un paquete snap.
snap list
Lista snaps instalados.
snap refresh
Actualiza snaps instalados.

Flatpak

flatpak install paquete
Instala un paquete flatpak.
flatpak remove paquete
Elimina un paquete flatpak.
flatpak list
Lista flatpaks instalados.
flatpak update
Actualiza flatpaks instalados.

10. Discos y Particiones

lsblk [opciones]
Lista dispositivos de bloque (discos, particiones). Opciones:
blkid [dispositivo]
Muestra UUIDs y tipos de sistemas de archivos.
fdisk -l [dispositivo]
Lista particiones o inicia modo interactivo para editarlas.
parted [opciones] [dispositivo] [comando]
Herramienta avanzada para manipulación de particiones.
mkfs.tipo [opciones] dispositivo
Crea un sistema de archivos. Tipos comunes:
fsck [opciones] [dispositivo]
Verifica y repara sistemas de archivos. Usar con dispositivo desmontado.
badblocks [opciones] dispositivo
Busca bloques defectuosos en un dispositivo.
lsusb [opciones]
Lista dispositivos USB conectados.
lspci [opciones]
Lista dispositivos PCI conectados.
hdparm [opciones] dispositivo
Obtiene/establece parámetros de dispositivos IDE/SATA.
smartctl [opciones] dispositivo
Monitorea estado SMART de discos.
dd if=entrada of=salida [opciones]
Copia y convierte archivos a bajo nivel. Ejemplos:
Advertencia: Usar dd con cuidado, puede sobrescribir datos irremediablemente.
resize2fs dispositivo [tamaño]
Redimensiona sistema de archivos ext2/ext3/ext4.
swapon [opciones] dispositivo
swapoff [opciones] dispositivo
Activa/desactiva espacio swap.

11. Monitoreo del Sistema

dmesg [opciones]
Muestra mensajes del buffer del kernel. Opciones:
sar [opciones] [intervalo] [contador]
Sistema de reporte de actividad del sistema. Requiere paquete sysstat.
nmon
Herramienta interactiva de monitoreo de rendimiento.
glances
Monitor completo del sistema en terminal.
iftop [opciones]
Monitor de ancho de banda de red en tiempo real.
iotop [opciones]
Monitor de I/O de disco en tiempo real.
ncdu [opciones] [directorio]
Analizador interactivo de uso de disco.
tcpdump [opciones] [filtro]
Captura y analiza tráfico de red. Ejemplos:
wireshark
Interfaz gráfica avanzada para análisis de tráfico de red (similar a tcpdump pero con GUI).

12. Scripting Básico

#!/bin/bash
Shebang para scripts Bash (primera línea del script).
chmod +x script.sh
Hace un script ejecutable.
./script.sh
Ejecuta un script en el directorio actual.

Variables

variable=valor
Asigna valor a variable (sin espacios alrededor del =).
echo $variable
Muestra valor de variable.
read variable
Lee entrada del usuario y la asigna a variable.

Condicionales

if [ condición ]; then
comandos
fi
Estructura básica if. Condiciones comunes:

Bucles

for var in lista; do
comandos
done
Bucle for. Ejemplo: for i in {1..10}; do echo $i; done
while [ condición ]; do
comandos
done
Bucle while.

Funciones

nombre_funcion() {
comandos
}
Define una función.
nombre_funcion arg1 arg2
Llama a una función con argumentos.

Argumentos

$0
Nombre del script.
$1, $2, ..., $9
Argumentos posicionales.
$#
Número de argumentos.
$@
Todos los argumentos como lista separada.
$*
Todos los argumentos como un solo string.
$?
Código de salida del último comando (0 = éxito).

13. Seguridad Básica

passwd [usuario]
Cambia contraseña de usuario.
chage [opciones] usuario
Configura caducidad de contraseñas. Opciones:
visudo
Edita el archivo sudoers de forma segura.
sudo [opciones] comando
Ejecuta comando como superusuario. Opciones:
su [opciones] [usuario]
Cambia de usuario. Sin argumentos, cambia a root.
whoami
Muestra el usuario actual.
id [usuario]
Muestra información de usuario y grupos.
lastlog
Muestra último inicio de sesión de todos los usuarios.
fail2ban-client [opciones]
Herramienta para prevenir ataques de fuerza bruta.
ufw [opciones]
Firewall simple (Uncomplicated Firewall). Ejemplos:
iptables [opciones]
Firewall avanzado (más complejo que ufw).
nft [opciones]
Reemplazo moderno para iptables.
openssl [comando] [opciones]
Herramienta para criptografía y certificados SSL/TLS.
ss -tulnp
Muestra puertos abiertos y servicios asociados.
netstat -tulnp
Alternativa a ss para mostrar puertos abiertos.
lsof -i
Muestra procesos con conexiones de red abiertas.
clamscan [opciones] [ruta]
Antivirus de código abierto.

14. Comandos Avanzados

grep [opciones] patron [archivos]
Busca patrones en archivos. Opciones:
awk 'patron { accion }' archivo
Lenguaje para procesamiento de texto. Ejemplos:
sed [opciones] 'comando' archivo
Editor de flujo de texto. Ejemplos:
cut [opciones] archivo
Extrae secciones de cada línea. Opciones:
sort [opciones] archivo
Ordena líneas de texto. Opciones:
uniq [opciones] archivo
Filtra líneas duplicadas (generalmente después de sort). Opciones:
wc [opciones] archivo
Cuenta líneas, palabras y caracteres. Opciones:
tar [opciones] archivo [archivos/directorios]
Crea o extrae archivos tar. Combinaciones comunes:
gzip [opciones] archivo
gunzip [opciones] archivo
Comprime/descomprime archivos .gz.
bzip2 [opciones] archivo
bunzip2 [opciones] archivo
Comprime/descomprime archivos .bz2.
xz [opciones] archivo
unxz [opciones] archivo
Comprime/descomprime archivos .xz.
zip [opciones] archivo.zip archivos
unzip [opciones] archivo.zip
Comprime/descomprime archivos .zip.
screen [opciones]
Multiplexor de terminal que permite múltiples sesiones en una sola terminal. Comandos dentro de screen: Alternativa moderna: tmux
tmux [opciones]
Multiplexor de terminal más moderno que screen. Comandos básicos:
cron [opciones]
Programa para programar tareas. Editar crontab:
crontab -e
Formato de línea crontab:
* * * * * comando
Donde los asteriscos representan: minuto, hora, día del mes, mes, día de la semana.
at [opciones] tiempo
Programa un comando para ejecución única en tiempo específico.
nohup comando &
Ejecuta comando que continúa después de cerrar la terminal.
disown [opciones] [jobspec]
Elimina jobs de la lista de jobs de la shell.
bg [jobspec]
Reanuda job en segundo plano.
fg [jobspec]
Trae job a primer plano.
jobs [opciones]
Lista jobs activos.