Je traite avec beaucoup de machines différentes, donc un de mes favoris est les alias pour chaque machine que je dois fréquemment SSH pour:
alias claudius="ssh dinomite@claudius"
Il est également utile de configurer une bonne clé.ssh/config
et une clé ssh pour faciliter encore plus le saut parmi les machines.
Un autre de mes alias préférés concerne les répertoires suivants:
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
Et quelques-unes des variantes ls
(et des fautes de frappe) couramment utilisées :
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"
L’historique peut être très utile, mais par défaut sur la plupart des distributions, votre historique est époustouflé par la sortie de chaque shell et il n’en reste pas beaucoup. J'aime avoir 10 000 lignes d'histoire:
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 cette façon, si je sais que j'ai déjà fait quelque chose mais que je ne me souviens pas des détails, un petit coup de history | grep foo
pouce aidera à rafraîchir ma mémoire.
Je me suis souvent retrouvé en train de passer awk
en sortie pour obtenir une certaine colonne de sortie, par exemple df -h | awk '{print $2}'
pour trouver la taille de chacun de mes disques. Pour faciliter ceci, j'ai créé une fonction fawk
dans mon .bashrc:
function fawk {
first="awk '{print "
last="}'"
cmd="${first}\$${1}${last}"
eval $cmd
}
Je peux maintenant courir, df -h|fawk 2
ce qui économise un peu de frappe.
Si vous devez spécifier un délimiteur ( par exemple , awk -F:
pour /etc/passwd
), cette fonction ne peut évidemment pas gérer cela. La version légèrement remaniée de cette liste peut gérer des awk
arguments arbitraires avant le numéro de champ (mais requiert toujours une entrée de stdin).