Manual de comandos avanzados de Linux
Recopilación de las utilidades modernas que sustituyen, una por una, a las clasicas de siempre. Pensado para un analista o administrador que vive en la terminal: menos teclas, más información por pantalla y menos dependencia de find, ls, du y ps sin formato.
Todo lo que aparece aquí esta probado en Debian/Ubuntu y funciona igual en un servidor sin entorno gráfico.
Navegación y listado
| Clasico | Moderno | por qué |
|---|---|---|
ls -la | exa -la --git --group-directories-first | Colores, iconos, estado git por fichero |
ls -R | exa --tree --level=2 | Árbol con profundidad controlada |
cd a mano | z directorio (zoxide) | Salta a los directorios más usados por historial |
| — | ranger | Gestor de ficheros en terminal con vista previa |
exa -la --git --group-directories-first
exa --tree --level=2
z proyecto # zoxide: salta al directorio aprendido
ranger # navegador de ficheros con tres panelesBusqueda
| Clasico | Moderno | por qué |
|---|---|---|
find . -name | fd patron | Respeta .gitignore, sintaxis simple |
grep -R | rg patron | Mucho más rápido, ignora binarios y .git |
| — | fzf | Busqueda difusa interactiva sobre cualquier lista |
fd '.log$' /var/log
fd -e py -x wc -l {} # ejecuta wc sobre cada resultado
rg -n --hidden -g '!*.min.js' "password" .
rg -l "BEGIN RSA PRIVATE KEY" # solo nombres de fichero
history | fzf # buscar y reejecutar un comandoInformación de ficheros
stat fichero.txt # tamano, inodos, permisos y fechas exactas
stat -f / # informacion del sistema de ficheros
lsof -p 1234 # ficheros abiertos por un proceso
lsof +D /ruta # quien tiene abierto algo dentro de una rutaEspacio y disco
duf # uso de disco por punto de montaje, legible
ncdu # explorador interactivo de consumo por carpeta
dust /var # arbol de tamanos, sin interfazBorrado seguro
shred -u -z -n 3 informe.pdf # sobrescribe 3 pasadas y borra
rmlint /ruta # busca duplicados y ficheros huerfanosAviso: sobre SSD o sistemas con copy-on-write el borrado seguro es aproximado. Para datos sensibles, cifrado de disco antes que shred.
Compresión
7z a backup.7z carpeta/ # compresion con cifrado opcional
7z x backup.7z # extraer
unp fichero.zip # extrae cualquier formato sin recordar flags
zcat fichero.log.gz | less # leer sin descomprimir en disco
tar -czf backup.tar.gz carpeta/ # tar clasico, sigue siendo el mas portableProcesos y rendimiento
btop # monitor completo: CPU, RAM, red, discos, procesos
glances # vision general con salida web opcional
procs # ps moderno con arbol, colores y puertos
procs --tree
watch -n 2 'ss -tunp' # refresca una orden cada 2 segundos
strace -f -p 1234 # traza de llamadas al sistema de un procesoRed
ss -tunp # sockets con proceso y estado
mtr -n ejemplo.com # traceroute continuo con estadisticas
tcpdump -ni eth0 -c 100 'tcp port 443'
tcpdump -r captura.pcap -nn 'host 10.10.10.20'
progress # progreso de cp, mv, dd en otro terminalDatos y texto
jq '.items[] | {id, name}' datos.json # consultas JSON
yq '.services.web.image' docker-compose.yml
delta # diff legible dentro de git
tldr tar # ejemplos en vez de manual completoAtajos de shell
sudo !! # repetir el ultimo comando con sudo
!$ # ultimo argumento del comando anterior
Ctrl+R # busqueda inversa en el historial
Ctrl+X Ctrl+E # editar la linea actual en $EDITORComo instalar el conjunto
sudo apt install exa bat fd-find ripgrep fzf zoxide ranger ncdu btop \
procs progress jq lsof strace tcpdump mtr-tiny glances p7zip-full
cargo install duf dust rmlint # si hay toolchain de RustCriterio de uso
No se trata de instalar veinte herramientas y usarlas todas: cada una sustituye a algo que ya sabes hacer. Si en un servidor ajeno no están instaladas, los comandos clasicos siguen siendo el plan B y hay que saberlos igual.