7 Terminal Tricks to Multiply Your Productivity

Empezamos la semana con tips para dominar la terminal. Muchos developers subutilizan esta herramienta poderosa. Estos trucos te harán un ninja de la línea de comandos:

1. :high_voltage: Navegación Turbo con z y fzf

Olvida cd ../../projects/mi-app. Instala zoxide y fzf:

# Después de usar directorios, simplemente:
z react-app      # Salta al directorio más usado que contenga "react-app"
z               # Lista directorios frecuentes con búsqueda interactiva

# Con fzf para archivos
ctrl+t          # Búsqueda fuzzy de archivos
ctrl+r          # Búsqueda fuzzy en historial de comandos

2. :wrench: Aliases Inteligentes que Ahorran Tiempo

Configura estos aliases en tu .zshrc o .bashrc:

# Git workflows
alias gst="git status"
alias gcm="git commit -m"
alias gps="git push"
alias gpl="git pull --rebase"
alias gco="git checkout"
alias gbr="git branch"

# Proyectos comunes
alias ll="ls -la"
alias la="ls -A"
alias l="ls -CF"

# Docker shortcuts
alias dc="docker-compose"
alias dcu="docker-compose up"
alias dcd="docker-compose down"

3. :clipboard: Historial de Comandos Mejorado

Convierte tu historial en una herramienta de productividad:

# En tu .zshrc
export HISTSIZE=10000
export SAVEHIST=10000
export HISTFILE=~/.zsh_history
setopt INC_APPEND_HISTORY
setopt SHARE_HISTORY
setopt HIST_IGNORE_DUPS

# Buscar en historial con contexto
history | grep "npm install"

4. :bullseye: Comandos Pipe Potentes

Combina comandos para flujos de trabajo complejos:

# Encontrar archivos grandes en proyecto
du -sh * | sort -rh | head -10

# Ver procesos que usan más CPU
ps aux | sort -nrk 3,3 | head -10

# Monitorear archivos de log en tiempo real
tail -f logs/app.log | grep ERROR

# Contar líneas de código por tipo
find . -name "*.js" | xargs wc -l | sort -n

5. :rocket: Scripts One-liner Útiles

# Backup rápido con timestamp
cp archivo.js archivo.js.bak.$(date +%Y%m%d-%H%M%S)

# Crear estructura de proyecto
mkdir -p {src,tests,docs}/{components,utils,assets}

# Encontrar y eliminar node_modules antiguos
find . -name "node_modules" -type d -mtime +30 -exec rm -rf {} +

# Port kill rápido
kill -9 $(lsof -ti:3000)

6. :bar_chart: Monitoring en Tiempo Real

# Monitorear uso de sistema
htop                    # Procesos interactivos
iotop                   # I/O en tiempo real
nethogs                 # Uso de red por proceso

# Para proyectos Node.js
npm run dev | bunyan    # Logs formateados
nodemon --inspect app.js # Debug con hot reload

7. :light_bulb: Terminal Multiplexing con tmux

Gestiona múltiples sesiones y ventanas:

# Sesión nueva
tmux new -s proyecto

# Dividir ventanas
ctrl+b %    # División vertical
ctrl+b "    # División horizontal
ctrl+b c    # Nueva ventana

# Sesiones útiles para desarrollo
tmux new -s frontend "cd frontend && npm run dev"
tmux new -s backend "cd backend && npm start"
tmux new -s logs "tail -f logs/*.log"

:fire: Bonus: Setup de Terminal Profesional

# Oh My Zsh con temas útiles
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# Plugins recomendados en .zshrc
plugins=(
  git
  node
  npm
  docker
  zsh-autosuggestions
  zsh-syntax-highlighting
)

:bullseye: Desafío de la Semana

Implementa estos trucos gradualmente:

Día 1-2: Configura aliases básicos que uses diariamente
Día 3-4: Instala zoxide y fzf, practica navegación rápida
Día 5-7: Experimenta con pipes y scripts one-liner

:light_bulb: Pro Tip Final

Crea un archivo .functions con funciones personalizadas:

# Función para crear proyecto React rápido
mkr() {
    npx create-react-app $1 && cd $1 && code .
}

# Función para backup de proyecto
backup() {
    tar -czf ../$(basename $PWD)_$(date +%Y%m%d).tar.gz .
}

¿Cuál es tu comando de terminal favorito que no muchos conocen? ¿Tienes algún alias o script que te ahorre tiempo diariamente?

La terminal puede parecer intimidante, pero dominarla es como tener superpoderes de productividad. Cada comando que automatizes es tiempo que ganas para resolver problemas más interesantes.

techtipsmonday terminal productivity commandline devtools automation