Saltar a contenido

Power Tools — Herramientas Pro 🚀

Colección de herramientas modernas de terminal que reemplazan los comandos clásicos de Linux con alternativas más rápidas, visuales y productivas. La mayoría están escritas en Rust y son extremadamente rápidas.

🚩 Pendiente de probar

Todas las herramientas en esta página están marcadas con 🚩 para ir probándolas una por una. Cuando la adoptes, quita la bandera.


1. bat — Reemplazo de cat 🚩

Muestra archivos con resaltado de sintaxis, números de línea e integración con Git. Una vez que lo usas, nunca vuelves a cat.

sudo apt install bat

En Ubuntu/Debian el binario se llama batcat

Para usar el nombre bat directamente, crea un enlace simbólico:

mkdir -p ~/.local/bin
ln -s /usr/bin/batcat ~/.local/bin/bat

Uso:

bat archivo.py              # Ver archivo con syntax highlighting
bat src/*.ts                # Ver múltiples archivos
bat -d archivo.py           # Solo mostrar diferencias Git
cat archivo.log | bat -l log  # Usar como pipe con lenguaje específico


2. eza — Reemplazo de ls 🚩

ls moderno con colores, íconos, estado de Git y vista de árbol. Fork mantenido de exa.

sudo apt install eza

Uso:

eza                         # Listado básico con colores
eza -la --icons             # Listado detallado con íconos
eza --tree --level=2        # Vista de árbol (2 niveles)
eza -la --icons --git       # Con estado de Git por archivo


3. fzf — Fuzzy Finder 🚩

Buscador difuso universal. Busca archivos, historial de comandos, ramas de Git, procesos... cualquier cosa. Es el pegamento que conecta todo.

sudo apt install fzf

Activar integración con el shell (agrega esto a ~/.zshrc o ~/.bashrc):

eval "$(fzf --bash)"   # Para bash
# eval "$(fzf --zsh)"  # Para zsh

Uso:

fzf                         # Buscar archivos interactivamente
history | fzf               # Buscar en historial de comandos
git branch | fzf            # Seleccionar rama de Git
cat archivo.txt | fzf       # Buscar dentro de cualquier output

# Atajos de teclado (tras activar integración):
# Ctrl+R → Historial de comandos con búsqueda fuzzy
# Ctrl+T → Buscar archivos en directorio actual
# Alt+C  → cd a subdirectorio con búsqueda fuzzy

Combo killer: fzf + bat

fzf --preview 'bat --color=always {}'
Busca archivos con preview en tiempo real con syntax highlighting.


4. ripgrep (rg) — Reemplazo de grep 🚩

El grep más rápido del mundo. Respeta .gitignore, busca recursivamente por defecto y tiene output con colores. Imprescindible para buscar en codebases grandes.

sudo apt install ripgrep

Uso:

rg "useState"               # Buscar en todo el proyecto
rg "TODO" --type vue        # Buscar solo en archivos .vue
rg "api_key" -i             # Búsqueda case-insensitive
rg "function" -l            # Solo listar archivos que coinciden
rg "error" --glob '*.log'   # Buscar solo en logs


5. fd — Reemplazo de find 🚩

Alternativa rápida e intuitiva a find. Sintaxis simple, respeta .gitignore, output con colores.

sudo apt install fd-find

En Ubuntu/Debian el binario se llama fdfind

ln -s $(which fdfind) ~/.local/bin/fd

Uso:

fd "\.vue$"                 # Buscar todos los archivos .vue
fd readme                   # Buscar archivos que contengan "readme"
fd -e dart -x wc -l         # Contar líneas en cada archivo .dart
fd -t d node_modules        # Buscar directorios llamados node_modules
fd -H .env                  # Incluir archivos ocultos


6. zoxide — Reemplazo de cd 🚩

cd inteligente que aprende tus directorios más visitados. Escribe z proj en lugar de cd ~/Projects/Personal/setup-guide.

curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

Activar en el shell (agrega a ~/.zshrc o ~/.bashrc):

eval "$(zoxide init bash)"   # Para bash
# eval "$(zoxide init zsh)"  # Para zsh

Uso:

z projects                  # Salta a ~/Projects (o donde sea que más uses "projects")
z setup                     # Salta al directorio más frecuente que contenga "setup"
z jiha brain                # Salta a ~/Documents/Obsidian/JIHA-Brain
zi                          # Modo interactivo con fzf


7. tldr — Reemplazo de man 🚩

Páginas de manual simplificadas y con ejemplos prácticos. Cuando necesitas recordar cómo usar un comando rápidamente sin leer 500 líneas de man.

sudo apt install tldr

Uso:

tldr tar                    # Ejemplos rápidos de tar
tldr docker compose         # Ejemplos de docker compose
tldr ffmpeg                 # Cómo usar ffmpeg (los más comunes)
tldr git rebase             # Ejemplos de rebase


8. btop — Reemplazo de htop 🚩

Monitor de sistema hermoso e interactivo. Muestra CPU, RAM, disco, red y procesos con gráficas en tiempo real. Hace que htop se vea antiguo.

sudo apt install btop

Uso:

btop                        # Abrir el monitor
# Navega con flechas, filtra con /, mata procesos con k


9. delta — Diffs de Git con estilo 🚩

Reemplazo del pager de diffs de Git con syntax highlighting, números de línea y vista side-by-side. Se integra directamente con Git y con lazygit.

sudo dpkg -i $(curl -sL https://api.github.com/repos/dandavison/delta/releases/latest \
  | grep -Po '"browser_download_url": "\K[^"]*amd64\.deb') 2>/dev/null \
  || { \
    DELTA_URL=$(curl -sL https://api.github.com/repos/dandavison/delta/releases/latest \
      | grep -Po '"browser_download_url": "\K[^"]*amd64\.deb'); \
    wget -O /tmp/delta.deb "$DELTA_URL" && sudo dpkg -i /tmp/delta.deb; \
  }

Configurar como pager de Git (agrega a ~/.gitconfig):

[core]
    pager = delta

[interactive]
    diffFilter = delta --color-only

[delta]
    navigate = true
    side-by-side = true
    line-numbers = true

[merge]
    conflictstyle = diff3

[diff]
    colorMoved = default

Uso:

git diff                    # Automáticamente usa delta
git log -p                  # Log con diffs hermosos
git show HEAD               # Ver último commit con syntax highlighting

Combo con lazygit

Si configuras delta como pager de Git, lazygit lo usará automáticamente para mostrar sus diffs.


10. dust — Reemplazo de du 🚩

Visualizador de uso de disco intuitivo. Muestra un gráfico de barras con los archivos/carpetas más pesados. Perfecto para limpiar espacio.

DUST_VERSION=$(curl -s "https://api.github.com/repos/bootandy/dust/releases/latest" \
  | grep -Po '"tag_name": "v\K[^"]*')

wget -O /tmp/dust.deb \
  "https://github.com/bootandy/dust/releases/latest/download/du-dust_${DUST_VERSION}-1_amd64.deb"

sudo dpkg -i /tmp/dust.deb

Uso:

dust                        # Uso de disco del directorio actual
dust ~/Projects             # Analizar un directorio específico
dust -n 5                   # Top 5 elementos más pesados
dust -r                     # Orden inverso


Aliases recomendados

Agrega estos aliases a tu ~/.zshrc o ~/.bashrc para reemplazar los comandos clásicos:

# ─── Power Tools (Modern replacements) ────────────────────────
alias cat='bat --paging=never'
alias ls='eza --icons'
alias ll='eza -la --icons --git'
alias lt='eza --tree --level=2 --icons'
alias grep='rg'
alias find='fd'
alias du='dust'
alias top='btop'
alias man='tldr'

Gradual

No tienes que instalar todas de golpe. Ve probándolas una a una y si la adoptas, agrega su alias y quita la bandera 🚩.


Resumen

# Herramienta Reemplaza ¿Por qué la necesitas? Estado
1 bat cat Syntax highlighting en todo lo que lees 🚩
2 eza ls Listados con íconos, Git status y árboles 🚩
3 fzf Búsqueda fuzzy universal (archivos, historial, ramas) 🚩
4 ripgrep grep Buscar en codebases 10x más rápido 🚩
5 fd find Encontrar archivos con sintaxis humana 🚩
6 zoxide cd Navegar directorios con 2 letras 🚩
7 tldr man Ejemplos prácticos en lugar de manuales eternos 🚩
8 btop htop Monitor del sistema hermoso y completo 🚩
9 delta diff Git diffs con colores y side-by-side 🚩
10 dust du Visualizar espacio en disco de forma intuitiva 🚩