После Bash и Корн сегодня мы откроем для себя очень популярную оболочку Zsh. На самом деле Zsh настолько популярен, что многие люди ушли из Bash в пользу него. Основная причина его популярности связана с невероятной интерактивностью с пользователем, а также с очень обширной и мощной функцией автозаполнения.
История
Первая версия Zsh была создана в 1990 году студентом Принстона по имени Пол Фалстад. Название «Zsh» предположительно происходит от идентификатора соединения профессора Принстона Чжун Шао. На саму оболочку повлияли Bash, Ksh и Tcsh: Zsh имеет очень мощную
История
олнения, а также рекурсивный поиск и включенный корректор. И, конечно же, подсказка может быть определена по желанию пользователя. Несмотря на все это, некоторые считают Zsh расширенной оболочкой Bourne Shell.Установка
Теперь, когда вы знаете больше о Zsh, давайте установим его. Для Ubuntu установка довольно проста:
sudo apt-get install zsh
Для других дистрибутивов он также должен быть доступен в ваших репозиториях. В худшем случае загрузите пакет из официальная страница .
После установки пакета вы можете запустить Zsh Shell с любого терминала с помощью команды:
zsh
Если вам действительно нравится эта оболочка и вы хотите, чтобы она заменила вашу те
Установка
делать это, набравsudo usermod -s /bin/zsh [user name]
Обратите внимание, что, как обычно, файл конфигурации находится по адресу «~/.zshrc» и будет создан при первом запуске. Как и в случае с bash, его можно использовать для добавления псевдонимов и персонализации приглашения.
Использование
Zsh очень интуитивно понятен. Поначалу вы не заметите никакой разницы в поведении Bash. Однако хороший способ обнаружить первую особенность — набрать:
rm - [tabulation key]
а затем используйте клавишу табуляции. Это отобразит все возможные аргументы для команды «rm». Как видите, автодополнение в Zsh просто потрясающее.
Не только аргументы команды, но также хосты ssh, представленные в /etc/hosts, возможные цели для команды make, страницы руководства, файлы на удаленном сервере и т. д. — все это может быть автоматически заполнено. от Зш. И скорость автозаполнения тоже впечатляет.
Вы также можете попробовать ввести неправильную команду, например
gdit .zshrc
и это активирует функцию исправления:
Если исправление сначала не работает, значит, вы его еще не активировали. Для этого просто введите:
setopt correct
Исправление — не
Использование
торую вы можете активировать. После команды «setopt» вы также можете использовать- звуковой сигнал : воспроизведение звукового сигнала при возникновении ошибки.
- hist_ignore_all_dups : чтобы предотвратить повторную запись одной и той же команды в историю.
- auto_cd : перейти в каталог, просто введя его имя (команда cd больше не требуется)
Напротив, если вы хотите удалить параметр, синтаксис будет следующий:
unsetopt [option]
Еще одно хорошее применение Zsh — рекурсивный поиск. В Bash вы использовали оператор «*», означающий «все». Теперь с помощью Zsh «**» можно перевести как «все во всем». Другими словами, рекурсивный поиск. Позвольте мне проиллюстрировать это примером. Если вы хотите удалить файл с именем «foobar», но не можете вспомнить, где он находится, вам пригодится эта строка:
rm **/foobar
Zsh будет искать файл foobar в текущем каталоге и во всех подкаталогах, пока не удалит его.
Рекурсивный оператор может оказаться очень полезным при поиске файлов определенного типа. Можно использовать комбинацию команды «ls» и регулярного выражения. Простая команда, например
ls **/*.mp3
вернёт все mp3-файлы, которые Zsh сможет рекурсивно найти в текущем каталоге.
Напоследок поговорим немного о конфигурации Zsh. Как вы знаете, это происходит в ~/.zshrc. Если вы хотите попробовать персонализированные подсказки, в Zsh есть несколько сохраненных тем. Чтобы увидеть, какой из них доступен, загрузите систему подсказок с помощью
autoload -U promptinit promptinit
А затем перечислите темы с помощью:
prompt -l
А чтобы изменить текущее приглашение, введите
prompt [theme's name]
Если вы создали множество псевдонимов в bash, они не будут работать в zsh. Вам придется перенести их через файл ~/.zsh. Основной синтаксис такой же, как в Bash:
alias [alias' name]="[command]"
Кроме того, вы также можете определить конкретный псевдоним для расширения файла. Это позволяет автоматически запускать соответствующую команду для нужного файла. Например, я использую программу «mpg123» для воспроизводить mp3 из командной строки . Поэтому я могу добавить в свой.zshrc:
alias -s mp3="mpg123"
Оттуда каждый раз я пишу что-то вроде
./song.mp3
Mpg123 будет запущен и воспроизведет песню. Проявив немного воображения, мы можем объединить эту функциональность с моей предыдущей статьей о работе с архивами из командной строки:
alias -s tar="tar -xvf" alias -s rar="unrar x" alias -s zip="unzip" alias -s pdf="evince"
Заключение
Да, Zsh и Bash очень похожи, но Zsh более гибок, что делает его более популярным. Лично я очень ценю функцию автозаполнения и псевдоним расширения файла. Вышеупомянутые советы охватывают лишь малую часть возможностей zsh. Чтобы узнать больше о Zsh, я приглашаю вас прочитать вики Archlinux .
Что вы думаете о Zsh Shell? Вы пробовали еще один? Есть ли у вас какие-либо вопросы по поводу снарядов в целом? Пожалуйста, дайте нам знать в комментариях.