Установка zsh. Для живущих в консоли.

После того, как я пообщался с CLI у Cisco я понял что стандартный bash немного слабоват. Было принято решение поискать что-то более удобное, чем он и мой выбор пал на zsh, поэтому и опишу, как его установить и первично настроить.
для начала поставим его из репозиториев:

apt-get install zsh

после этого пропишем его в качестве стандартной оболочки(ВНИМАНИЕ! это требуется повторить для каждого пользователя в системе, под которым мы хоти мего использовать)
для этого выполним под нужным пользователем команду:

chsh
и в появившемся диалоге напишем:
/bin/zsh
теперь в качестве интерпретатора команд для данного пользователя будет использоваться zsh.
Но хотелось бы почувствовать мощь нового командного интерпретатора, а для ее раскрытия надо сначала создать конфигурацию.
Вообще в сети много примеров, но я на данный момент приведу основы.

для начала создадим файл ~/.zshrc и добавим в него следующее:

#. /etc/zsh_command_not_found
autoload -U compinit
compinit

#калькулятор
autoload -U zcalc

#настройки истории
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
setopt APPEND_HISTORY
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_REDUCE_BLANKS

# автосмена директории без команды cd
setopt autocd

#Коректировка ошибок
setopt CORRECT_ALL
SPROMPT="Ошибка! Вы хотели ввести %r вместо %R? (Yes/No/Edit/Abort) "

# не пищать!
setopt No_Beep

#Экспорт путей
export PS1 NLSPATH PAGER MAIL LS_COLORS LS_OPTIONS LIBRARY_PATH \
C_INCLUDE_PATH CPLUS_INCLUDE_PATH EDITOR TERM XFILESEARCHPATH

manpath="/usr/man:/usr/share/man:\
/usr/local/man:/usr/X11R6/man:/opt/qt/doc"

export MANPATH

#дополнение в виде меню
zmodload zsh/complist
setopt menucomplete
zstyle ':completion:*' menu yes select
#zstyle ':completion:*' add-space true # в теории добавляет пробел после вода, но на практеке неудобно блин...
bindkey -M menuselect "^M" .accept-line

# разрешить только одну ошибку во вводе
zstyle -e ':completion:*:approximate:*' max-errors'reply=( $(( ($#PREFIX+$#SUFFIX)/3 )) numeric )'

#биндинг батонов
bindkey -e

if [[ $EUID == 0 ]]; then
PS1=$'%{\e[1;7m%}%n@%m:%~ #%{\e[1;0m%} ';
else
PS1=$'%{\e[1;7m%}%n@%m:%~ >%{\e[1;0m%} ';
fi
PROMPT=$PS1;
RPROMPT=$'%{\e[1;34m%}%T%{\e[0m%}'

alias ls='ls -F --color=auto'
alias ll='ls -l'
alias la='ls -A'
alias li='ls -ial'
alias lsd='ls -ld *(-/DN)'
alias mountiso='sudo mount -o loop -t iso9660 '
alias mv='nocorrect mv' # переименование-перемещение c пogтвepжgeнueм
alias cp='nocorrect cp' # рекурсивное копирование с подтверждением
alias rm='nocorrect rm' # удаление с подтверждением
alias mkdir='nocorrect mkdir' # создание каталогов без коррекции
alias mount='sudo mount'
alias umount='sudo umount'
alias ifconfig='sudo ifconfig'
alias apt-get='sudo apt-get'
alias wpa_start='sudo wpa_supplicant -B -Dwext -i wlan0 -c /home/black/wpa.conf'
alias dhclient='sudo dhclient'
alias reboot='sudo reboot'
alias shutdown='sudo shutdown'
alias hibernate='sudo hibernate'
alias wpa_gui='sudo wpa_gui'
alias mkiso_fast='mkisofs -JrvV Disk -o '
alias cdrecord_fast='cdrecord -v -eject dev=1000,0,0 '
alias powertop='sudo powertop'
alias sx='startx'
alias ntp='sudo ntpdate pool.ntp.org'
alias cgrep='grep -v -E "^#|^$|^;"'

#alias -s avi=mplayer
#alias -s exe=wine
#alias -s djv=evince
#alias -s pdf=evince
#alias -s jpg=geeqie
#alias -s JPG=geeqie

Теперь сохраняем и запускам консоль для проверики того, что мы натворили.
Для начала попробуем сметить местоположение. для этого просто введем путь к новому местоположение и нажмем Enter. Вуаля! она сменилась!
Далее попробуем посмотреть ман по какой-нибудь команде. Для этого введем нужную нам команду( например mkdir и нажмем комбинацию Alt+H) у нас выведется ман по данной команде. Причем при выходе из мана мы вернемся к тому же месту, на котором остановились во вводе команды.
Ну и напоследок попробуем вывести список всех возможных ключей какой-нить утилиты (скажем это будет ssh). для этого введем ssh – и нажмем на Tab. По этим ключам можно будет перемещаться стрелочками.

Заказать создание и поддержку безопасной IT-инфраструктуры любой сложности

Быть уверенным в своей IT-инфраструктуре – это быть уверенным в завтрашнем дне.

Для того, чтобы сделать заказ:

Заполните форму обратной связи и мы обязательно с вам свяжемся:
Форма обратной связи
Позвоните нам по телефону:
+7(909)952-44-33
Напишите нам на электронную почту:
order@blackdiver.net
Напишите нам в Telegram:
Telegram
Другие способы связи Вы сможете найти в разделе Контакты.

Please Login to Comment.