Trato con muchas máquinas diferentes, por lo que uno de mis favoritos es el alias para cada máquina que necesito frecuentemente para SSH para:
alias claudius="ssh dinomite@claudius"
También es útil configurar unas teclas buenas .ssh/config
y ssh para que el salto entre máquinas sea aún más fácil.
Otro de mis alias favoritos es para subir directorios:
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
Y algunos para variaciones comúnmente utilizadas de ls
(y errores tipográficos):
alias ll="ls -l"
alias lo="ls -o"
alias lh="ls -lh"
alias la="ls -la"
alias sl="ls"
alias l="ls"
alias s="ls"
El historial puede ser muy útil, pero de manera predeterminada en la mayoría de las distribuciones, cada historial que sale se desvanece, y para empezar no tiene mucho. Me gusta tener 10,000 líneas de historia:
export HISTFILESIZE=20000
export HISTSIZE=10000
shopt -s histappend
# Combine multiline commands into one in history
shopt -s cmdhist
# Ignore duplicates, ls without options and builtin commands
HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:[bf]g:exit"
De esa manera, si sé que he hecho algo antes pero no puedo recordar los detalles, un rápido history | grep foo
ayudará a refrescar mi memoria.
A menudo me encontraba canalizando la salida awk
para obtener una determinada columna de la salida, como df -h | awk '{print $2}'
para encontrar el tamaño de cada uno de mis discos. Para facilitar esto, creé una función fawk
en mi .bashrc:
function fawk {
first="awk '{print "
last="}'"
cmd="${first}\$${1}${last}"
eval $cmd
}
Ahora puedo ejecutar lo df -h|fawk 2
que ahorra un poco de tipeo.
Si necesita especificar un delimitador ( por ejemplo , awk -F:
para /etc/passwd
), esta función obviamente no puede manejar eso. La versión ligeramente revisada en este resumen puede manejar awk
argumentos arbitrarios antes del número de campo (pero aún requiere la entrada de stdin).