This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
настройка_командных_интерпретаторов [2017/06/20 10:29] val [bash] |
настройка_командных_интерпретаторов [2025/04/04 16:49] (current) val |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| * [[Переменные окружения]] | * [[Переменные окружения]] | ||
| - | |||
| - | ===== sh ===== | ||
| - | <code> | ||
| - | $ cat .profile | ||
| - | |||
| - | $ cat .shrc | ||
| - | |||
| - | freebsd$ set -E | ||
| - | |||
| - | freebsd$ set -V | ||
| - | </code> | ||
| ===== bash ===== | ===== bash ===== | ||
| - | * [[http://linsovet.org.ua/bash-tunings|ЛинСовет: мелкий тюнинг bash'а]] | + | * [[http://www.michurin.net/tools/bash-history.html|Работа с историей команд bash]] |
| + | * [[https://wiki.archlinux.org/index.php/Bash/Prompt_customization_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)|Bash/Prompt customization (Русский)]] | ||
| + | * [[https://habr.com/post/99843/|Горячие клавиши в шелле]] | ||
| <code> | <code> | ||
| $ PS1="[\h:\W] # " | $ PS1="[\h:\W] # " | ||
| + | |||
| + | $ history -d NN | ||
| + | |||
| + | $ . /usr/share/bash-completion/bash_completion | ||
| $ cat .profile | $ cat .profile | ||
| + | </code><code> | ||
| + | alias kubectl='minikube kubectl --' | ||
| + | source <(kubectl completion bash) | ||
| + | ... | ||
| + | . ~/.bashrc | ||
| + | ... | ||
| + | </code><code> | ||
| $ cat .bashrc | $ cat .bashrc | ||
| + | |||
| + | или | ||
| + | |||
| + | # cat /etc/bash.bashrc | ||
| </code><code> | </code><code> | ||
| - | export PATH="$PATH:/opt/mssql-tools/bin" | + | ... |
| + | export HISTCONTROL=ignorespace:ignoredups:erasedups | ||
| + | #unset HISTFILE | ||
| + | |||
| + | HISTSIZE=20000 | ||
| + | HISTFILESIZE=20000 | ||
| + | |||
| + | # export PATH="$PATH:/opt/mssql-tools/bin" | ||
| + | |||
| + | alias ssn2='ssh node2' | ||
| + | |||
| + | scn2() { | ||
| + | scp $1 node2:$1 | ||
| + | } | ||
| + | ... | ||
| </code><code> | </code><code> | ||
| $ source .bashrc | $ source .bashrc | ||
| + | |||
| + | # (echo '"\e[A": history-search-backward'; echo '"\e[B": history-search-forward') >> /etc/inputrc | ||
| + | |||
| + | или | ||
| $ cat .inputrc | $ cat .inputrc | ||
| Line 33: | Line 57: | ||
| "\e[A": history-search-backward | "\e[A": history-search-backward | ||
| "\e[B": history-search-forward | "\e[B": history-search-forward | ||
| + | </code><code> | ||
| + | $ bind -f .inputrc | ||
| + | </code> | ||
| + | ===== sh ===== | ||
| + | <code> | ||
| + | $ cat .shrc | ||
| + | |||
| + | freebsd$ set -E | ||
| + | |||
| + | freebsd$ set -V | ||
| </code> | </code> | ||
| Line 55: | Line 89: | ||
| </code> | </code> | ||
| - | ===== Горячие клавиши ===== | ||
| - | * [[http://zabbix-monitoring.tk/2008/04/22/bash-shortcuts/|Горячие клавиши bash]] | ||
| - | <code> | ||
| - | Сначала немного сочетаний клавиш с ctrl. | ||
| - | |||
| - | Ctrl + a — переход в начало строки (cisco, csh, zsh) | ||
| - | Ctrl + b — переход на 1 символ назад (cisco, csh, zsh) | ||
| - | Ctrl + c — посылает программе SIGINT. Обычно, прерывает текущее задание (csh, zsh) | ||
| - | Ctrl + d — удаляет символ под курсором (аналог delete) (cisco, csh, zsh) | ||
| - | Ctrl + e — переход к концу строки (cisco, csh, zsh) | ||
| - | Ctrl + f — переход на 1 символ вперёд (cisco, csh, zsh) | ||
| - | Ctrl + k — удаляет всё, до конца строки (EOL, а не на экране!) (cisco, csh, zsh) | ||
| - | Ctrl + l — очищает экран. Аналог команды clear. (csh, zsh) | ||
| - | Ctrl + r — поиск по истории. Повторение поиска (листание результатов поиска). То есть инкрементальный поиск. (zsh) | ||
| - | Ctrl + j — прекращает поиск и позволяет отредактировать найденную команду. Если поиск не производился, то аналогично нажатию return. (в zsh выполняет команду) | ||
| - | Ctrl + t — меняет символ под курсором на предыдущий. Или, если хотите, тянет предыдущий символ к концу строки. (cisco,csh, zsh) | ||
| - | Ctrl + u — удаляет все символы слева от курсора до начала строки. (cisco, в csh, zsh удаляет всю строку) | ||
| - | Ctrl + w — удаляет символы слева от курсора до начала слова. (cisco, csh, zsh) | ||
| - | Ctrl + xx — переходит от текущей позиции курса в начало строки и обратно. На циске работает аналогично ctrl + u. (csh) | ||
| - | Ctrl + x @ — показывает возможные дополнения имени хоста (имена берутся из /etc/hosts) | ||
| - | Ctrl + z — suspend'ит текущую задачу (csh, zsh) | ||
| - | Ctrl + x; Ctrl + e — открывает $EDITOR для изменения введённой строки. После сохранения изменений, команда отправляется на исполнение. Если переменная не задана, то открывается системный текстовый редактор (для линукса это, зачастую, nano) | ||
| - | |||
| - | Теперь немного о сочетаниях с альтом. | ||
| - | |||
| - | Alt + < — переход к первой команде в истории команд (zsh) | ||
| - | Alt + > — переход к последней команде в истории | ||
| - | Alt +? — показывает список возможных дополнений команды(аналогично tab-tab) (в csh, zsh аналог which string) | ||
| - | Alt + * — вставляет все возможные дополнений команды в строку команд | ||
| - | Alt + / — пытается дополнить имя файла (аналогично табуляции) | ||
| - | Alt +. — вставляет последний аргумент предыдущей команды (аналог !$, только не надо делать :p, чтобы проверить ) | ||
| - | Alt + b — сдвигает курсор влево на 1 слово (cisco, csh, zsh) | ||
| - | Alt + c — делает букву под курсором большой, а остальные, до конца слова, маленькими. (cisco, csh, zsh) | ||
| - | Alt + d — удаляет символы с текущей позиции курсора и до конца слова. (cisco, csh, zsh) | ||
| - | Alt + f — передвигает курсор на одно слово вперёд (cisco, csh, zsh) | ||
| - | Alt + l — делает все буквы с текущей позиции курсора и до конца слова маленькими (cisco, csh, zsh) | ||
| - | Alt + t — меняет местами слова под курсором и предыдущее (zsh) | ||
| - | Alt + u — переводит буквы с текущей позиции курсора и до конца слова в верхний регистр (cisco, csh, zsh) | ||
| - | Alt + back-space — удаляет символы с текущей позиции курсора до начала слова (cisco, csh, zsh) | ||
| - | |||
| - | В следующем абзаце я, для краткости, буду писать «2Т» чтобы обозначить двойное нажатие табуляции. | ||
| - | |||
| - | 2T — дополнение команды. Если нажать при пустой строке — выведет список всех доступных команд | ||
| - | (string)2T — выведет список возможных дополнений | ||
| - | (dir)2T — покажет подпапки папки dir | ||
| - | *2T — покажет подпапки исключая скрытые (имена которых начинаются с точки) | ||
| - | ~2T — выведет всех пользователей из /etc/passwd. Дополнив имя пользователя можно перейти в его домашний каталог. Например ~oxpa/ — домашний каталог пользователя oxpa | ||
| - | $2T — выводит список дополнений для системных переменных | ||
| - | @2T — дополняет имена хостов содержащимися в /etc/hosts | ||
| - | =2T — листинг текущей директории, аналогичный ls. | ||
| - | |||
| - | C уважением | ||
| - | |||
| - | Павел Гольдберг | ||
| - | </code> | ||