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/configy 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 fooayudará a refrescar mi memoria.
A menudo me encontraba canalizando la salida awkpara 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 fawken mi .bashrc:
function fawk {
first="awk '{print "
last="}'"
cmd="${first}\$${1}${last}"
eval $cmd
}
Ahora puedo ejecutar lo df -h|fawk 2que 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 awkargumentos arbitrarios antes del número de campo (pero aún requiere la entrada de stdin).