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.

ClasicoModernopor qué
ls -laexa -la --git --group-directories-firstColores, iconos, estado git por fichero
ls -Rexa --tree --level=2Árbol con profundidad controlada
cd a manoz directorio (zoxide)Salta a los directorios más usados por historial
—rangerGestor 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 paneles

Busqueda

ClasicoModernopor qué
find . -namefd patronRespeta .gitignore, sintaxis simple
grep -Rrg patronMucho más rápido, ignora binarios y .git
—fzfBusqueda 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 comando

Informació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 ruta

Espacio y disco

duf                         # uso de disco por punto de montaje, legible
ncdu                        # explorador interactivo de consumo por carpeta
dust /var                   # arbol de tamanos, sin interfaz

Borrado seguro

shred -u -z -n 3 informe.pdf   # sobrescribe 3 pasadas y borra
rmlint /ruta                   # busca duplicados y ficheros huerfanos

Aviso: 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 portable

Procesos 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 proceso

Red

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 terminal

Datos 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 completo

Atajos 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 $EDITOR

Como 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 Rust

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