ГлавнаяОперационные системыLinuxПонимание различных оболочек в Linux: Zsh Shell

Понимание различных оболочек в Linux: Zsh Shell

Понимание различных оболочек в Linux: Zsh ShellПосле 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 просто потрясающее.

zsh-rm_completion

Не только аргументы команды, но также хосты ssh, представленные в /etc/hosts, возможные цели для команды make, страницы руководства, файлы на удаленном сервере и т. д. — все это может быть автоматически заполнено. от Зш. И скорость автозаполнения тоже впечатляет.

Вы также можете попробовать ввести неправильную команду, например

gdit .zshrc

и это активирует функцию исправления:

zsh-коррекция

Если исправление сначала не работает, значит, вы его еще не активировали. Для этого просто введите:

setopt correct

Исправление — не

Использование

торую вы можете активировать. После команды «setopt» вы также можете использовать

  • звуковой сигнал : воспроизведение звукового сигнала при возникновении ошибки.
  • hist_ignore_all_dups : чтобы предотвратить повторную запись одной и той же команды в историю.
  • auto_cd : перейти в каталог, просто введя его имя (команда cd больше не требуется)

Напротив, если вы хотите удалить параметр, синтаксис будет следующий:

unsetopt [option]

Еще одно хорошее применение Zsh — рекурсивный поиск. В Bash вы использовали оператор «*», означающий «все». Теперь с помощью Zsh «**» можно перевести как «все во всем». Другими словами, рекурсивный поиск. Позвольте мне проиллюстрировать это примером. Если вы хотите удалить файл с именем «foobar», но не можете вспомнить, где он находится, вам пригодится эта строка:

rm **/foobar

Zsh будет искать файл foobar в текущем каталоге и во всех подкаталогах, пока не удалит его.

zsh-recursive_search

Рекурсивный оператор может оказаться очень полезным при поиске файлов определенного типа. Можно использовать комбинацию команды «ls» и регулярного выражения. Простая команда, например

ls **/*.mp3

вернёт все mp3-файлы, которые Zsh сможет рекурсивно найти в текущем каталоге.

Напоследок поговорим немного о конфигурации Zsh. Как вы знаете, это происходит в ~/.zshrc. Если вы хотите попробовать персонализированные подсказки, в Zsh есть несколько сохраненных тем. Чтобы увидеть, какой из них доступен, загрузите систему подсказок с помощью

autoload -U promptinit
promptinit

А затем перечислите темы с помощью:

prompt -l

А чтобы изменить текущее приглашение, введите

prompt [theme's name]

zsh-подсказка

Если вы создали множество псевдонимов в 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? Вы пробовали еще один? Есть ли у вас какие-либо вопросы по поводу снарядов в целом? Пожалуйста, дайте нам знать в комментариях.

Заключение

ПОХОЖИЕ СТАТЬИ

Популярные записи