Я имею дело с множеством разных машин, поэтому один из моих любимых - псевдонимы для каждой машины, для которой мне часто требуется SSH:
alias claudius="ssh dinomite@claudius"
Также полезно настроить хорошие .ssh/config
и ssh-ключи, чтобы сделать переход между машинами еще проще.
Еще один из моих любимых псевдонимов - для перемещения по каталогам:
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
И некоторые для часто используемых вариантов ls
(и опечаток):
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"
История может быть очень полезной, но по умолчанию в большинстве дистрибутивов ваша история сдувается при каждом выходе из оболочки, и с самого начала она не имеет большого значения. Мне нравится иметь 10000 строк истории:
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"
Таким образом, если я знаю, что я что-то делал раньше, но не могу вспомнить подробности, быстрый history | grep foo
пробежит мою память.
Я часто обнаруживал, что передаю выходные данные awk
, чтобы получить определенный столбец вывода, например, df -h | awk '{print $2}'
чтобы найти размер каждого из моих дисков. Чтобы сделать это проще, я создал функцию fawk
в моем .bashrc:
function fawk {
first="awk '{print "
last="}'"
cmd="${first}\$${1}${last}"
eval $cmd
}
Теперь я могу запустить, df -h|fawk 2
что экономит много текста.
Если вам нужно указать разделитель ( например , awk -F:
для /etc/passwd
), эта функция, очевидно, не сможет справиться с этим. Слегка пересмотренная версия в этой сущности может обрабатывать произвольные awk
аргументы перед номером поля (но все же требует ввода от stdin).