- iTerm2: модный терминал маковода
- Кому подходит
- Как установить и настроить
- Как начать пользоваться
- Консоль для маководов: Beyond the GUI
- Лирическое отступление
- Начнём работу
- Продолжаем знакомство с консолью. Команда open
- Пара слов о бандлах
- Скрипт?
- Скрипты AppleScript
- Кратко о других полезных командах Mac OS X
- Что-то типа заключения
iTerm2: модный терминал маковода
Как установить и начать пользоваться.
Опытные технари общаются с компьютером не мышкой и экранным интерфейсом, а с помощью клавиатуры. Когда знаешь, какие команды отдать компьютеру, написать их на клавиатуре намного быстрее, чем ковыряться в меню.
Текстовые команды компьютеру чаще всего дают через командную строку. В Mac OS для этого есть приложение Terminal. И есть его младший брат с наворотами: iTerm2. Вот что он может и в чём смысл.
Кому подходит
✅ iTerm2 подходит опытным тестировщикам, веб-разработчикам и всем, кто проводит много времени в терминале — здесь удобно работать с множеством вкладок, автоматизировать рутинные команды и находить регулярные выражения.
✅ iTerm2 подходит новичкам, которые только знакомятся с командами терминала или изучают систему контроля версий Git для командной работы — визуальное оформление помогает не запутаться в проектах со сложной структурой.
✅ iTerm2 подходит любителям скоростного кодинга — тем, кому приходится писать большие объёмы кода или кто учится это делать. Терминал предлагает программируемые горячие клавиши для ускорения разработки. Ещё на эту тему читайте: горячие клавиши и Vim.
❌ iTerm2 однозначно не подходит тем пользователям, у которых нет времени на его изучение и настройку.
Как установить и настроить
Шаг 1. Перейдите на iterm2.com, скачайте терминал и установите его как обычную маковскую программу. iTerm2 распространяется бесплатно, но к сайту прикручены донаты — по желанию вы можете отблагодарить разработчиков за их труд.
👉 iTerm2 не совместим с Windows, Linux и ранними версиями macOS. Нужна OS X 10.14 или более новая версия.
После скачивания iTerm2 визуально не отличается от стандартного терминала: слева — стандартный терминал; справа — iTerm2. Всё изменится после настройки.
Шаг 2. Устанавливаем оболочку Oh My Zsh — специальное расширение, которое позволяет менять оформление iTerm2. Для установки вам необходимо скопировать следующую строку, вставить её в терминал и нажать на Enter:
sh -c «$(curl -fsSL
https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)»
После загрузки нажмите «Y», Enter и введите пароль от своего мака — Oh My Zsh заменит стандартную оболочку терминала, установит стандартную тему и включит подсветку синтаксиса. Можно оставить так или полностью изменить оформление.
Ставим оболочку Oh My Zsh в iTerm2.
Шаг 3. Откройте репозиторий Oh My Zsh и посмотрите список тем, встроенных в оболочку по умолчанию, — таких, которые можно изменить одной командой без скачивания дополнительных компонентов. Для примера выберем тему Apple. Открываем iTerm2 и пишем команду для перехода к файлу настройки терминала:
Появится текстовый документ, в котором нужно найти строчку «ZSH_THEME =»Пишем название выбранной темы»». Закрываем файл и перезагружаем iTerm2.
Редактируем файл настройки терминала и устанавливаем тему Apple
После выбора темы можно поменять цветовую схему, контрастность и все цветные элементы синтаксиса. Для этого наведите мышкой на меню → выберите iTerm2 → Preferences → Profiles → Colors. Для изменения цветовой схемы кликните на Colors Presets; для изменения шрифтов перейдите на вкладку Text.
Добавляем к теме «Apple» цветовую схему Solarized Dark
Дальнейшие шаги для тех, кому не подошли стандартные темы Oh My Zsh.
Шаг 4. Установите дополнительные шрифты, которые понадобятся для работы с внешними темами. Чтобы всё настроить — добавьте в iTerm2 такую команду:
/Downloads/
git clone https://github.com/powerline/fonts.git
cd fonts
./install.sh
У внешних тем для iTerm2 есть техническая документация, рекомендованные настройки и шрифты. В некоторых версиях операционной системы внешние темы устанавливаются с дефектом и часть текстовой информации искажается — вместо букв появляются знаки вопроса и неразборчивые символы. Иногда это происходит даже тогда, когда вы полностью соблюдаете прописанные настройки.
Чтобы исправить дефект — откройте вкладку Text и замените рекомендованный шрифт на какой-то другой. Перезапустите терминал и проверьте изменения. Если ничего не поменялось и другие шрифты не работают — придётся менять тему.
Шаг 5. Загрузите менеджер пакетов Homebrew, который предотвращает ошибки при установке внешних тем. Для загрузки менеджера пакетов вставьте команду:
/bin/bash -c «$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)»/bin/bash -c «$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)»
Шаг 6. После установки дополнительных шрифтов и менеджера пакетов в iTerm2 можно загружать внешние темы. Есть несколько способов, и простой выглядит так:
- Выберите тему и найдите её репозиторий на гитхаб.
- Прочтите документацию и найдите команду git clone — это строка для загрузки темы. Её нужно скопировать и вставить в терминал.
- Откройте файл настройки терминала и в строчке ZSH_THEME пропишите название темы.
- Перезагрузите iTerm2.
Не все внешние темы получится установить. Иногда они повреждены, не содержат всех загрузочных файлов или их просто не найти на гитхабе.
Как начать пользоваться
iTerm2 можно разделить на множество окон по горизонтали или вертикали и работать сразу в нескольких независимых сессиях.
Правая кнопка мыши → Split Pane Vertically или Split Pane Horizontally
Если случайно закроете терминал, то у вас будет пять секунд на отмену действия — нажимаете комбинацию клавиш Command+ Z, и сессия восстанавливается.
Комбинация Command+Shift + H позволяет посмотреть, кто и когда вставлял в терминал какой-то текст — информация сортируется по объёму и времени копирования. Обычный буфер обмен отслеживает только последнее действие.
Копируем в терминал куски случайного текста и всегда можем найти нужный фрагмент
Можно включить левую боковую панель и упорядочить расположение вкладок — это упрощает навигацию и позволяет видеть несохраненные изменения. Если в какой-то вкладке будут несохранённые изменения, то в боковой панели на ней засветится синий круг. Для большей наглядности вкладки можно раскрасить разным цветом, каждая из которых будет соответствовать своему проекту.
iTerm2 → Preferences → Apperance → Tab bar location → Left. Если вместо Left выбрать значения Top или Botton, то вкладки отобразятся, как в браузере, сверху или снизу окна
Если для проекта понадобятся картинки, то их можно вставить в терминал:
- Перейдите в меню и нажмите iTerm2.
- Выберите Install Shell Integration и установите расширение: Continue → Dowload and Run Installer → Continue.
- Перезапустите iTerm2.
Остаётся прописать команду и путь в выбранной картинке — мы расположили картинку на рабочем столе и сохранили её под названием Test.
Прописываем путь к картинке:
Открываем картинку в терминале:
imgcat Test.jpg Ничего необычного: просто картинка в терминале
iTerm2 может отображать дополнительные параметры вроде состояния батареи, часов, состояния оперативки и другую вспомогательную информацию — это позволяет раскрыть терминал на всю ширину окна и не тратить время на переключение между вкладками. Опция называется Configure Status Bar:
- Перейдите в меню и нажмите iTerm2 → Preferences → Profiles → Session.
- Поставьте галочку напротив пункта Status bar enabled.
- Выберите нужные параметры и сохраните изменения.
Если изменения не появятся — перезапустите терминал.
Выбираем состояние батареи, дату и время
Раскрываем iTerm2 на всю ширину и можем отслеживать выбранные параметры
Источник
Консоль для маководов: Beyond the GUI
Доброго дня, уважаемые хабравчане-маководы!
Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.
Лирическое отступление
Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!
Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell’а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.
Если Вы пришли в мир Mac OS из мира Linux’а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.
Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Начнём работу
Для начала избавимся от стандартного терминала. Ну, точнее, поставим другой — получше. Я лично предпочитаю iTerm2, который подходит для работы куда лучше системного. Хотя, и у него бывают интересные моменты (см. картинку вверху).
Далее нам могут понадобиться дополнительные инструменты, поэтому устанавливаем MacPorts (хотя, конечно, можно и другой менеджер пакетов). Теперь мы можем ставить нужные консольные утилиты с помощью простых команд. Например, ставим Midnight Commander (он в любом случае может пригодиться), набираем в iTerm2:
После ввода пароля и установки зависимостей и самого mc, можем его запустить, как вы уже догадались, командой mc .
О ужас! Нам понадобятся функциональные клавиши, а они нажимаются только через Fn+F15 , что же делать? Ну как что — лезть в системные настройки и выключать это. Иначе сложно будет с mc работать.
Ещё одно важное замечание: кури мануалы если что-то не понятно, набираем в консоли man команда — и получаем подробное описание команды. (Кстати, для выхода из просмотра мануала надо просто нажать Q).
Продолжаем знакомство с консолью. Команда open
Легко можно заметить, что mc показывает куда больше файлов и папок, чем Finder. Конечно, можно поставить хак для него, чтобы он отображал такие файлы, но не все это любят. Так что остаётся лишь пользоваться Cmd+Shift+G и вводить вручную имя папки. Но данный способ не особо удобен: нет автокомплита, нет возможности видеть скрытые файлы. Теперь вернёмся к терминалу. В Mac OS X есть замечательнейшая команда open , которая действует так, как будто пользователь сделал даблклик на файле или папке в Finder — открывает файл, бандл или ссылку в связанной программе, открывает папку в Finder’е. Вот простой пример работы с этой командой: заходим с помощью mc в скрытую папку (например, /etc/) и набираем:
Wuala! Файндер отобразил нам нашу системную папку! Но это ещё не всё, ведь скрытые файлы всё ещё не видны. Для примера, откроем наш .profile :
И — опа! — скрытый файл открылся в TextEdit! Всё предельно просто.
Пара слов о бандлах
Это всем известно, но на всякий случай повторю: обычные программы в Mac OS X на самом деле являются папками с расширением .app и особым образом устроенным содержимым. Убедиться в этом легко: открываем в Finder папку /Applications/ и делаем Ctrl+Click (либо Right-Click , если хотите) на любой программе и выбираем «Показать содержимое пакета».
Из консоли это так же очень хорошо видно: mc отображает эти программы именно как папки. И как же запустить из консоли GUI-программу, спросите вы? Очень просто, есть даже два способа.
Способ первый, простейший:
Программа будет запущена и консоль будет свободна для дальнейших действий.
Способ второй, интересный:
Программа будет запущена, но консоль не освобидится — она будет ждать завершения программы и выводить всё, что программа захочет вывести в неё. То есть, таким образом можно посмотреть рабочий лог некоторых программ.
Ещё одно очень важное различие между этими двумя методами: второй позволяет запустить два экземпляра программы, в то время как первый активирует уже запущенную, буде такая имеется. Так что через консоль можно решить и эту проблему (хотя, скорее фичу) макоси: через Finder, док и лаунчер запустить два экземпляра программы нельзя, а вот из консоли — пожалуйста, хоть двадцать два.
Скрипт?
Расскажу вкратце что из себя представляет shell-скрипт. По сути — это обычный текстовый файл, содержащий серию команд для выполнения. Самый простой скрипт просто запускает последовательно все команды. Скрипты посложнее могут иметь условия, циклы и функции, то есть, скрипт может быть весьма большой и сложной программой. Основной плюс таких скриптов — на их службе вся мощь консольных утилит из мира unix, что с лихвой компенсирует бедность языковых конструкций. Приведу простой пример скрипта, который преобразует все файлы .png в текущей директории, уменьшив их размер до 200 пикселей в ширину или высоту.
Пример простейший, но он демонстрирует главное: в скриптах сокрыта великая сила.
Скрипты AppleScript
В Mac OS X имеется несколько встроенных механизмов по автоматизации действий. Один из очень распространённых — AppleScript, для которого есть и графический редактор-запускатор. Но использовать такие скрипты можно и из консоли, для этого есть особая утилита — osascript . Использовать её можно так:
Не буду углубляться в AppleScript, он заслуживает отдельной статьи, и даже не одной. Так что рекомендую почитать справку или гугл по нему.
Главное: Вы можете комбинировать shell-скрипты со скриптами AppleScript, чтобы добиться максимальной гибкости в работе! К примеру, я использую такие вот смешанные скрипты для автоматической стилизации образа диска: сам диск создаётся с помощью shell (см. ниже), а фон и расположение элементов в образе задаётся с помощью AppleScript.
Есть ещё Automator, но он совсем уж GUI-шный, так что в данной статье его рассматривать бессмысленно. Он, конечно, полезный, но до мощи консоли не дотягивает.
Кратко о других полезных командах Mac OS X
Полный (ну, почти) список уникальных для макоси команд можно найти в одной хорошей статье (хотя сведения там немного устарели), я же вкратце расскажу о наиболее интересных.
Для работы с образами дисков имеется консольная утилита hdiutil . Пара примеров работы с ней:
Более подробно про возможности можно узнать из man hdiutil .
Если Вы — разработчик программ для макоси, то наверняка знаете о такой замечательной вещи, как Info.plist, да и вообще о plist’ах. Так вот, есть очень удобная утилита, позволяющая конвертировать .plist в .bplist, то есть, в более быстрый и лёгкий бинарный формат плиста.
Если хотите позаниматься ерундой, то можно из консоли проговорить любой текст. Для этого есть утилита say .
Так же можно задавать голос, которым мак будет с нами говорить:
Одна беда — по-умолчанию говорит эта штука только по-английски.
Теперь снимем скриншот командой из консоли.
Так же из консоли можно конвертировать текст между различными форматами. Например, можно переконвертировать .doc файл в HTML:
Так же textutil умеет преобразовывать кодировки.
Для изменения системных (и не только) настроек, можно использовать команду defaults . Используем её во благо! Включим наконец отображение скрытых файлов и папок в Finder!
Файндер автоматически перезапустится и теперь будет отображать скрытые файлы и папки! Но опять таки, это не всем нравится, так давайте это выключим, пока родителикто-нибудь не испугался или не удалил нужных файликов. Для сокрытия в уже указанной команде поставьте 0 вместо 1. Ну и для примера, ссылка на статью, где описано много твиков с помощью этой команды.
Что-то типа заключения
Ну что ж, мы разобрали некоторые интересные возможности консоли в Mac OS X. Статья, разумеется, не претендует на полноту и является, скорее, «заманухой» для вовлечения маководов в shell-скриптинг да и вообще в консоль.
Источник