Ich beschäftige mich mit vielen verschiedenen Maschinen, so dass einer meiner Favoriten Aliase für jede Maschine sind, für die ich häufig SSH ausführen muss, um:
alias claudius="ssh dinomite@claudius"
Es ist auch nützlich, einen guten .ssh/config
und einen ssh-Schlüssel einzurichten , um das Wechseln zwischen Maschinen noch einfacher zu machen.
Ein anderer meiner Lieblingsaliasnamen ist das Verschieben von Verzeichnissen:
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
Und einige für häufig verwendete Variationen von ls
(und Tippfehler):
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"
Verlauf kann sehr nützlich sein, aber standardmäßig wird Ihr Verlauf bei den meisten Distributionen von jeder Shell, die beendet wird, weggeblasen, und es hält zunächst nicht viel. Ich mag es, 10.000 Zeilen Geschichte zu haben:
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"
Wenn ich weiß, dass ich zuvor etwas getan habe, mich aber nicht an die Einzelheiten erinnern kann, history | grep foo
hilft mir ein kurzer Moment dabei, mein Gedächtnis zu verbessern.
Ich habe oft festgestellt, dass ich die Ausgabe awk
durchgeleitet habe, um eine bestimmte Spalte der Ausgabe zu erhalten, z. B. df -h | awk '{print $2}'
um die Größe jeder meiner Festplatten zu ermitteln. Um dies zu vereinfachen, habe ich fawk
in meinem .bashrc eine Funktion erstellt:
function fawk {
first="awk '{print "
last="}'"
cmd="${first}\$${1}${last}"
eval $cmd
}
Ich kann jetzt laufen, df -h|fawk 2
was ein gutes Stück Tipparbeit erspart.
Wenn Sie ein Trennzeichen angeben müssen ( zB , awk -F:
für /etc/passwd
), kann diese Funktion natürlich nicht damit umgehen. Die leicht überarbeitete Version in dieser Liste kann beliebige awk
Argumente vor der Feldnummer verarbeiten (erfordert jedoch weiterhin die Eingabe von stdin).