Zsh и мифы о нём

Алексей Федорчук

Вокруг командной оболочки Zsh линуксоидами создано не намного меньше легенд и мифов, чем древнеримскими греками — вокруг Троянской войны. И столь же тесно мифы эти и легенды сопряжены с типичной подменой понятий, когда тёплое смешивается с мягким, а интерактивное со скриптовым. Ибо, как «Илиада» описывает один из эпизодов осады города Илиона (который настолько не совсем Троя, что совсем даже не она), так и от прочтения всяких сетевых материалов про Zsh складывается впечатление, что говорят о какой-то другой оболочке, вовсе не той, с которой её применители имеют дело изо дня в день.

Читать далее

Несколько мелочей для .zshrc: ещё раз о приглашениях

Алексей Федорчук

О разновидностях приглашений командной строки в Zsh и настройке их вида некогда говорилось достаточно подробно. Так что к сказанному хотелось бы добавить лишь пару слов.

Читать далее

Несколько мелочей для .zshrc: навигация и редактирование

Алексей Федорчук

Как я неоднократно говорил, настройка Zsh — это занятие, от которого оторваться столь же трудно, как от созерцания текущей воды, горящего костра или прогресс-бара скачивания iso-образа дистрибутива на модемной скорости. И я время от времени натыкаюсь в его документации или в примерах из Сети на всякие мелкие полезности, которые беру на вооружение и заношу в свои шпаргалки для памяти. И добавляю к общему их списку.

Читать далее

За что я люблю Zsh. Конфигурационные файлы

Алексей Федорчук

Да, дорогие мои читатели, больше всего я люблю Zsh за возможности конфигурирования, ограниченные только потребностями и пониманием своих действий. И в знак своей любви на этой странице размещаю свой ~/.zshrc, прокомментированный, по мере сил, подробно. Этот конфиг существует с 2001 года, кочуя с машина на машину, из системы в систему, постоянно модернизируюсь в соответствие с изменениями моих потребностей и возможностей Zsh. И в текущем состоянии он обеспечивает все функции и особенности, о которых я говорил ранее, и некоторые другие, о которых я, возможно, ещё напишу.

Читать далее

За что я люблю Zsh. Темы приглашений

Алексей Федорчук

В очерке о приглашении к любви речь шла о том, как оформить приглашение командной строки Zsh своими руками, в соответствие с собственными вкусами и предпочтениями. Однако можно пойти другим путём, и воспользоваться уже готовыми темами приглашений. Они входят в пакет zsh-common, который всегда, насколько я знаю, устанавливается как зависимость пакета zsh. После установки местоположение их — каталог /usr/share/zsh/functions/Prompts.

Читать далее

За что я люблю Zsh. Перенаправление расширенное и множественное

Алексей Федорчук

Что такое перенаправление ввода/вывода — знают все применители CLI. Однако в Zsh возможности его очень широки, почему он и называется расширенным перенаправлением. Этот механизм позволяет в ряде случаев обходиться без некоторых команд вообще. Например, обычно для просмотра текстового файла применяют или команду cat, или команды-пейджеры типа more, less, most. Выбор между конкатенатором и одним из пейджеров определяется ситуацией, выбор внутри «тройки по борьбе с басмачами файлами» зависит от привычек или предпочтений. Однако Zsh может избавить применителя от мук буриданова осла, подменяя любую из этих команд оператором перенаправления в виде команды

Читать далее

За что я люблю Zsh. Рекурсивный поиск

Алексей Федорчук

Все применители CLI знают и любят утилиту find — и любят заслуженно, ибо это апофеоз командного интерфейса: с её помощью можно отыскать в файловой системе всё, что угодно — и почти всё, что нужно, с найденным сделать, конечно, с помощью некоторых дополнительных средств, вроде xargs и конвейеров. Однако для многих рутинных задач мощь этой команды кажется излишней, напоминая знаменитое упражнение по отстрелу мелких пернатых их зенитно-ракетных комплексов. И вот тут Zsh опять позволяет решать такие задачи малой кровью — то есть с минимальным ударением по клавишам. Ибо поддерживает такую штуку, как рекурсивные поиск.

Читать далее

За что я люблю Zsh. Ещё немного о псевдонимах

Алексей Федорчук

Об одной, но ответственной фиче Zsh мне напомнил джуйковец @kapsh. Она действительно сравнима с честью открытия Дворца бракосочетания спортсменкой, комсомолкой, отличницей и, наконец, просто красавицей Наталией Варлей. Фича эта — «суффиксные», более удачного определения на языке родных осин я не придумал, псевдонимы. что это?

Читать далее

За что я люблю Zsh. Любовь к истории

Алексей Федорчук

Возможность просмотра истории введённых ранее команд клавишами Up/Down кажется таким же неотъемлемым атрибутом CLI, как и автодополнение командной строки. И, как и последнее, напрочь отсутствовало в перворождённом шелле Борна, однако ныне имеется во всеш развитых шеллах. Причём доступ к истории команд в них не ограничивается командой history и упомянутыми стрелками. В частности, в Bash широко практикуется инкрементный поиск по клавишной последовательности Control+R и вводу последовательности символов одной из предыдущих команд или её аргументов.

Читать далее

За что я люблю Zsh. Автодополнение

zsh_autocomplit-02

Алексей Федорчук

Волшебное свойство клавиши Tab, вызывающей автодополние — одно из первых, с чем знакомится применитель CLI. Хотя при этом часто забывается, что когда-то, в
перворождёмнном шелле Борна, никакого автодополнения не было. Оно появилось в
Csh — и сначала только для путей, но не для команд. Тем не менее, ныне
представить себе интерактиную работу в командной строке без автодополнения
невозможно (да и не нужно).

Читать далее

За что я люблю Zsh. Приёмы навигации

Алексей Федорчук

Сознательные граждане, активно применяющие CLI, используют множество команд, как встроенных в их любимый шелл, так и внешних. Но, думаю, что самыми употребимыми в повседневной жизни являются такие:

Читать далее

За что я люблю Zsh. Просто псевдонимы и псевдонимы глобальные

Алексей Федорчук

Что такое псевдонимы, по простому aliases, — знают все, кто применяет любую командную оболочку: их поддержка существует со времён перворождённого шелла Борна. Это один из простых способов минимизировать ввод командных директив, начиная с простейшего рекурсивного копирования файлов:

Читать далее

За что я люблю Zsh. Приглашение к любви

Алексей Федорчук

Как известно со времён со времён Константин Сергеича Станиславского, театр начинается с вешалки, а дистрибутив — с инсталлятора. Командная же оболочка начинается с приглашения командной строки. Каковая, во-первых, отражает готовность системы к выполнению действий применителя, а во-вторых, несёт (или должна бы нести) некую существенную для него информацию.

Читать далее

За что я люблю Zsh. Перед тем как заняться любовью

Алексей Федорчук

Можно, конечно, любить платонически. Однако обычно для полноты чувств необходимо объект любви заполучить. Это относится и к нашей героине — оболочке Zsh. Правда, сделать это очень легко: во многих распространённых дистрибутивах, например, в openSUSE, он устанавливается по умолчанию при стандартной инсталляции, в других же, вроде Mint’а или Salix’а/Slackel’а, доступен в официальных репозиториях, откуда устанавливается штатными средствами. Так что на установке этой оболочки я останавливаться не буду.

Читать далее

За что я люблю Zsh

Алексей Федорчук

На следующих страницах вниманию читателей предлагается материал о лучшем в мире шелле — о Zsh’е. Это не руководство, а скорее серия очерков, посвящённым тем аспектам его применения, которые представляются мне самыми интересными и важными. И которые дали мне основание для определения этого шелла, данного в первой фразе. Речь пойдёт исключительно о работе в интерактивном режиме, вопросов скриптинга я касаться не буду (по крайней мере, сейчас).

Читать далее

За что я люблю Zsh. Вступление

Алексей Федорчук

Для начала — несколько слов о причинах, привёдших к этому сочинению. В своих статьях и заметках мне сплошь и рядом требуется вводить в текст всякого рода команды и их конструкции, данные в строке шелла (Command Line Interface — далее повсеместно будет использоваться общепринятая аббревиатура, CLI). И проще всего это делать «мышиным копипастом» из окна эмулятора терминала, благо можно прибегнуть терминалу, встроенному в такие редакторы, как Geany или Kate. Если же такового нет, как в ныне полюбившемся мне Komodo Editor, не менее удобно делать это из выпадающего терминала типа Guake или Yakuake. Однако…

Читать далее

За что я люблю Zsh. Так начиналась любовь

Алексей Федорчук

Это случилось в далёком 2001 году, когда я впервые поставил себе на домашнюю машину FreeBSD. В которой login shell по умолчанию был — /bin/sh для пользователя и /bin/csh для администратора. Первый, точно соответствуя спецфикациям пресловутого POSIX Shell, не умел ничего, что выходило за их пределы, в том числе авотдополнения, ни нормальной истории команд, ни даже управляющих последовательностей, кроме Control+H. Впрочем, представить себе возможности (точнее, невозможности) POSIX Shell может каждый — для этого достаточно в строке свого любимого Bash’е запустить /bin/sh.

Читать далее

За что я люблю Zsh. Повод первый: документированность

Алексей Федорчук

Как я уже сказал, Zsh прекрасно документирован. Правда, по первости можно удивиться отсутствию для его текущих версий (5.0.X) стандартных man-страниц. Раньше они были, причём во множестве — вот их список, который, как скоро будет ясно, представляет не только исторический интерес:

Читать далее

Zsh: установка и настройка

Алексей Федорчук
2001-2002 г

В одной из предыдущих заметок мы ознакомились с возможностями командной оболочки zsh. Теперь же займёмся его настройкой. Это довольно старая заметка, не утратившая, однако, актуальности. Хотя со времени её написания zsh приобрёл много дополнительных полезных свойств, среди которых: средства автоконфигурирования, поддержка UTF8 и многие другие.

Читать далее

Немного о bash и его настройках

Автор: Алексей Федорчук

Командной оболочке bash посвящено бессчётное число материалов, к которым я, не являясь ни ее любителем, ни, тем более, знатоком, мало чего могу добавить. Однако bash — наиболее распространенная среди пользователей Linux командная оболочка, выступающая в этой ОС к тому же общесистемной и умолчальной. Популярна она, насколько мне известно, и среди пользователей иных POSIX-систем: так, она является единственной оболочкой в базовой установке OpenSolaris. А ныне принята она и в MacOS X, где сменила традиционную для BSD-систем csh.

Читать далее

Командная оболочка tcsh

Поводом для этой заметки послужило обсуждение вопроса об автодополнении в командной оболочке csh, которая во FreeBSD представляется по умолчанию как login shell администратора. В процессе его обсуждения я вспомнил о своей старой заметке, посвященной C-shell и tcsh, не потерявшей актуальности, но очень схематичной. Всё это и подвигло меня завершить, наконец, работу, которую я так долго откладывал: обобщить все материалы по командной оболочке tcsh, результаты которой и составят предмет настоящего очерка.

Читать далее

Перейти к верхней панели