Archive for the ‘Консоль и шеллы’ Category.
Апрель 11, 2011, 19:55
Ознакомившись с возможностями командной оболочки zsh
и убедившись в том, что это -- очень стоящая штука, самое время опробовать её в деле. Для чего хорошо бы установить её. Continue reading ‘Zsh. Сборка из из исходников’ »
. .
Апрель 10, 2011, 19:19
Здесь перечислена лишь небольшая часть возможностей оболочки zsh
. В частности, я не останавливался на его встроенных функциях, хотя именно они и есть та база, что обеспечивает всё описанное (и не описанное) богачество возможностей этого шелла. Не говорил я и о подгружаемых модулях (по типу plug-ins) -- а ведь среди последних есть даже собственный ftp-клиент. Ибо для этого потребовалось бы пересказать всю официальную документацию к нему. Continue reading ‘Zsh. Документация’ »
. .
Апрель 10, 2011, 19:17
Легко видеть, что все изобилие возможностей zsh
далеко выходит за рамки стандарта POSIX для командных оболочек. Однако, в подтверждение своего соответствия оному, zsh
, наступая на горло собственной песне, способен к эмуляции POSIX Shell. Continue reading ‘Zsh. Вопросы совместимости’ »
. .
Апрель 10, 2011, 18:56
Очень интересна (и удобна) в zsh
работа с командными конструкциями перенаправления. Здесь и
При перенаправлении возможна группировка команд и использование шаблонов. Так, файлы с именами вида file1
и file2
можно просмотреть одной командой
$ < file{1,2}
Перенаправление ввода/вывода может иногда заменять конвейеризацию команд. Так, конструкция вида
$ sort < file{1,2}
отсортирует содержимое обоих файлов точно так же, как это сделал бы конвейер команд
$ cat file1 file2 | sort
Наконец, ещё одна специфическая особенность zsh
-- так называемая пред-исполнимая модификация команд (precommand modifier), осуществляющаяся перед их интерпретацией. Именно таким образом можно отменить чрезмерно навязчивую автокоррекцию аргументов для одной отдельно взятой команды, например, копирования:
$ nocorrect cp file1 file2
Это запретит попытки коррекции имени вновь создаваемого файла file2
похожим из числа существующих. Причём, занеся в профильный файл псевдоним для команды cp
как самой себя с таким премодификатором
alias cp='nocorrect cp'
от нежелательной для определённых команд автокоррекции можно избавиться раз и навсегда.
. .
Апрель 10, 2011, 18:49
Надеюсь, что мне удалось убедить читателя в превосходных интерактивных возможностях оболочки zsh
. Теперь стоит поговорить о функциональности, которая проявляется не только в интерактивной работе (но и, скажем, при сочинении скриптов). Continue reading ‘Zsh. Встроенные команды’ »
. .
Апрель 10, 2011, 18:47
В качестве приглашений командной строки могут использоваться:
Continue reading ‘Zsh. Варианты приглашений’ »
. .
Апрель 10, 2011, 18:46
Важный момент облегчения существования пользователя в любом шелле -- вид приглашения командной строки, должная настройка которого может часто избавить от лишнего набора команд (уж от команды pwd
я по возможности стараюсь избавиться именно таким образом). Continue reading ‘Zsh. Настройка приглашения’ »
. .
Апрель 10, 2011, 18:41
И, наконец, такое мощное средство минимизации пользовательского ввода, как псевдонимы команд (aliases). Разумеется, в zsh
(как и в bash
или tcsh
) псевдоним может быть присвоен любой команде со сколь угодно длинным набором опций. Так, куда как проще раз и навсегда определить команду ls
как псевдоним самой же себя, но с опциями -FG
, нежели каждый раз вспоминать, как отличить в ее выводе каталоги от обычных файлов. Continue reading ‘Zsh. Псевдонимы’ »
. .
Апрель 10, 2011, 15:48
Оболочка zsh
обладает всеми стандартными средствами доступа к буферу истории команд -- перехода к началу и концу буфера истории, просмотра оного вперед и назад (как клавишами управления курсором, так и соответствующими управляющими последовательностями), обычного и т.н. наращиваемого поиска в обоих направлениях, исполнения выуженной из буфера команды с автоматическим переходом к следующей.
Плюс к этому -- поддерживаются весьма изощренные способы вывода в строку отдельных фрагментов команд из буфера истории. Например, отдельного командного "слова", начиная с последнего, с дальнейшим перебором "слов" буферизованных команд назад. Или -- вывод полного списка команд из буфера с их последовательным перебором в том или ином направлении.Автодополнение в zsh
гармонично сочетается с автокоррекцией (т.н. spelling командной строки). Конечно, и это само по себе не уникально. Однако проверка правильности ввода и автокоррекция в zsh
распространяются не только на встроенные (как в bash
) и даже внешние (как в tcsh
) команды, но даже на пути и аргументы. Причём если автокоррекция становится назойливой (например, для команд типа cp
или mv
она порывается исправить вновь создаваемые аргументы на имена существующих файлов), её можно отключить -- и именно только для определённых команд.
. .
Апрель 10, 2011, 14:45
Средства навигации по командной строке и ее автоматического редактирования -- необходимое условие комфорта в интерактивной работе внутри оболочки. Здесь говорить, казалось бы, не о чем -- управляющие клавишные последовательности для таких действий давно уже вошли в обиход всех командных оболочек, претендующих на развитость. Однако и в этой области zsh
есть чем похвастаться -- в нем задействованы все комбинации клавиш для перемещения и удаления (как посимвольного, так и командными "словами" и фрагментами строки), которые существуют в bash
и tcsh
. Continue reading ‘Zsh. Навигация и редактирование’ »
. .
Апрель 10, 2011, 14:44
Автодополнение в zsh
гармонично сочетается с автокоррекцией (т.н. spelling командной строки). Конечно, и это само по себе не уникально. Continue reading ‘Zsh. Автокоррекция’ »
. .
Апрель 10, 2011, 14:43
Автодополнением клавишей Tab команд, частично введённых в ответ на приглашение оболочки, трудно удивить пользователей bash
или tcsh
. Столь же естественно, что при возможности безальтернативного дополнения именно оно и происходит, а при наличии некоторых альтернатив выводятся возможные варианты. Однако zsh
идёт дальше -- и после вывода таковых в ответ на последующие нажатия клавиши табулятора начинает автоматический их перебор. Continue reading ‘Zsh. Автодополнение’ »
. .
Апрель 10, 2011, 14:39
Итак, zsh
(или Z-shell) -- оболочка из клана sh-совместимых, первоначально разрабатывавшаяся Паулем Фальстадом (Paul Falstad), начиная с 1990 года. Буква Z в названии этого шелла происходит от логина учётной записи Zhong, принадлежавшей одному из аспирантов Принстонского университета (Zhong Shao), в котором в то время обучался Пауль, и, видимо, появилась тут "для прикола". Однако Z в данном контексте может символизировать и последнее слово в развитии командных оболочек вообще. Continue reading ‘Zsh. Представление героя’ »
. .
Апрель 10, 2011, 14:37
Как уже говорилось во вступительном цикле , одной из причин для смены шелла, принятого в данном дистрибутиве или ОСи по умолчанию, является поиск идеала. И в поиске этом пользователь никак не может пройти мимо командной оболочки под именем Z-shell (или, по простому, zsh
). Continue reading ‘Zsh. Вступление’ »
. .
Апрель 10, 2011, 14:35
Это начало цикла заметок про Z-shell (zsh), в котором предполагается дать всестороннее описание самой мощной и функциональной командной оболочки. Continue reading ‘Zsh — лучший в мире шелл’ »
. .
Март 24, 2011, 16:53
В заключение -- пара слов о том, что можно внести в файл ~/.logout
. Во-первых, можно вообще обойтись без него. А можно вписать в него нечто вроде таких строк: Continue reading ‘Tcsh: последние штрихи настройки’ »
. .
Март 24, 2011, 16:49
На этом можно закончить настройку пользовательского файла ~/.tcshrc
. Конфигурационный файл администратора (/root/.tcshrc
) можно построить аналогично, с некоторыми отличиями. Continue reading ‘Tcsh: особенности конфига администратора’ »
. .
Март 24, 2011, 14:50
Основываясь на "рыбе", доставшейся нам в комплекте, попробуем составить собственный файл ~/.tcshrc
. Для начала создаём его в своём домашнем каталоге, например, командой Continue reading ‘Tcsh: пример пользовательского конфига’ »
. .
Март 24, 2011, 14:48
Однако в нашем распоряжении после создания пользовательского аккаунта, использующего регистрационный шелл /bin/tcsh
, и авторизации под новым именем имеется только файл ~/.cshrc
с некоторыми минимальными, но вполне разумными настройками, который выглядит так: Continue reading ‘Tcsh: эталонный конфиг’ »
. .
Март 24, 2011, 14:45
Возникает вопрос: как при таком обилии конфигурационных файлов производить настройку tcsh
, и в каком порядке это делать? Ответить на него несложно, ибо изобилие это кажущееся, и на самом деле какое-то действительно серьёзное редактирование необходимо будет выполнить только в отношении одного-единственного файла. Continue reading ‘Принципы настройки tcsh’ »
. .