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.
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.
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.
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.
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.
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.
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.
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"
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
)
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
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
