- Выполнение команд и запуск инструментов в приложении «Терминал» на Mac
- Выполнение команд в оболочке shell
- Прерывание команд
- Повтор ранее введенных команд
- Keyboard shortcuts in Terminal on Mac
- Work with Terminal windows and tabs
- Edit a command line
- Select and find text in a Terminal window
- Work with marks and bookmarks
- Other shortcuts
- Консоль для маководов: Beyond the GUI
- Лирическое отступление
- Начнём работу
- Продолжаем знакомство с консолью. Команда open
- Пара слов о бандлах
- Скрипт?
- Скрипты AppleScript
- Кратко о других полезных командах Mac OS X
- Что-то типа заключения
- Узнаем все о своем Mac с помощью командной строки
- 1. Собираем информацию о системе в файл
- 2. Меняем настройки
- 3. Какие приложения жрут больше всего CPU и памяти?
- 4. Завершаем приложения из командной строки
- 5. Узнаем свой IP
- 6. Узнаем своего провайдера или на каком этапе возникли проблемы с инетом
- 7. Какие диски установлены в системе
- 8. Тестируем диск на наличие ошибок
- 9. Измеряем скорость интернета
Выполнение команд и запуск инструментов в приложении «Терминал» на Mac
Среду командной строки можно использовать в интерактивном режиме, то есть вводить команду и ждать результат. Вы также можете составить shell-скрипт, который будет выполняться без Вашего непосредственного участия.
Выполнение команд в оболочке shell
В приложении «Терминал» на Mac введите полный путь к исполняемому файлу инструмента, затем введите все необходимые аргументы и нажмите клавишу Return.
Если команда находится в одной из известных папок shell, при вводе имени команды можно не указывать путь. Список известных папок хранится в переменной среды PATH оболочки shell и включает папки, содержащие большинство инструментов командной строки.
Например, чтобы выполнить команду ls в папке текущего пользователя, введите следующую команду в командной строке, затем нажмите Return:
Чтобы выполнить команду в папке текущего пользователя, введите перед командой спецификатор папки. Например, чтобы выполнить MyCommandLineProg , используйте следующую команду:
Чтобы открыть приложение, используйте команду open:
Если при вводе команды отображается сообщение command not found , проверьте правильность написания. Пример:
Прерывание команд
В приложении «Терминал» на Mac нажмите окно Терминала, где выполняется команда, которую Вы хотите завершить.
Нажмите сочетание клавиш Control-C.
Будет отправлен сигнал, который вызывает прерывание большинства команд.
Повтор ранее введенных команд
Введенные в текущем сеансе команды сохраняются, так что Вы можете повторить ранее использованную команду, не вводя ее снова.
В приложении «Терминал» на Mac нажмите клавишу со стрелкой вверх.
Последняя введенная команда отобразится в командной строке.
Продолжайте нажимать клавишу со стрелкой вверх, пока не появится нужная команда, затем нажмите клавишу Return.
Источник
Keyboard shortcuts in Terminal on Mac
Use these shortcuts to save time when using Terminal.
Work with Terminal windows and tabs
New window with same command
New tab with same command
Show or hide tab bar
Show all tabs or exit tab overview
New remote connection
Show or hide Inspector
Edit background colour
Make fonts bigger
Make fonts smaller
Split window into two panes
Close split pane
Close other tabs
Scroll to bottom
Edit a command line
Reposition the insertion point
Press and hold the Option key while moving the pointer to a new insertion point
Move the insertion point to the beginning of the line
Move the insertion point to the end of the line
Move the insertion point forwards one character
Move the insertion point backwards one character
Move the insertion point forwards one word
Move the insertion point backwards one word
Delete the line
Delete to the end of the line
Delete forwards to the end of the word
Option-D (available when Use Option as Meta key is selected)
Delete backwards to the beginning of the word
Delete one character
Forward-delete one character
Forward Delete (or use Fn-Delete)
Transpose two characters
Select and find text in a Terminal window
Select a complete file path
Press and hold the Shift and Command keys and double-click the path
Select a complete line of text
Triple-click the line
Double-click the word
Press and hold the Shift and Command keys and double-click the URL
Select a rectangular block
Press and hold the Option key and drag to select text
Copy without background colour
Copy plain text
Paste the selection
Paste escaped text
Paste escaped selection
Find using the selected text
Jump to the selected text
Open the character viewer
Work with marks and bookmarks
Mark as bookmark
Mark line and send return
Send return without marking
Insert bookmark with name
Jump to previous mark
Jump to next mark
Jump to previous bookmark
Jump to next bookmark
Clear to previous mark
Clear to previous bookmark
Select between marks
Other shortcuts
Enter or exit full screen
Show or hide colours
Open Terminal preferences
Typing Command-Full Stop (.) is equivalent to entering Control-C on the command line
Soft reset terminal emulator state
Hard reset terminal emulator state
Hold down the Command key and double-click the URL
Add the complete path to a file
Drag the file from the Finder into the Terminal window
Export selected text as
Reverse search command history
Toggle “Allow Mouse Reporting” option
Toggle “Use Option as Meta Key” option
Show alternate screen
Hide alternate screen
Open man page for selection
Search man page index for selection
Complete directory or file name
On a command line, type one or more characters, then press Tab
Display a list of possible directory or file name completions
On a command line, type one or more characters, then press Tab twice
Источник
Консоль для маководов: 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-скриптинг да и вообще в консоль.
Источник
Узнаем все о своем Mac с помощью командной строки
9 полезных команд.
В прошлый понедельник в статье 5 простых и полезных команд для начала работы с «Терминалом» в OS X была анонсирована серия статей о приемах работы с командной строкой на Mac.
Цель всех этих статей — расширить кругозор читателя и дать ему общее представление о том, на что способна командная строка в OS X и как это можно использовать для автоматизации своего труда. Чтобы читатель задумался о том, не стоит ли ему оптимизировать выполнение каких-то задач и работать эффективнее. Иногда 5-10 строк кода могут подарить несколько свободных часов.
Сегодня поговорим о командах для просмотра и изменения системной информации. Если вы пока не собрались ничего автоматизировать, то, имейте ввиду, что все описанное ниже можно сделать и без командной строки (стандартными средствами, либо с помощью сторонних утилит). Но через консоль быстрее и проще, чем через графический интерфейс. Просто надо к ней немного привыкнуть.
1. Собираем информацию о системе в файл
Утилита system_profiler выдает подробный отчет о системе, если не добавлять параметр «>file.txt», то вся эта информация отобразится на экране, а в противном случае сохранится в файл:
[code]
$ system_profiler >file.txt
[/code]
Зачем нужен такой файл, если такая же информация есть в меню «Об этом Mac»?
Во-первых, по текстовому файлу можно сделать поиск. Не надо искать на какой вкладке находится нужная информация, пролистывать длинные списки (к примеру, список установленных программ). Надо просто ввести искомые слова.
Во-вторых, послать такой файл другу на просмотр, чтобы получить совет, удобнее, чем делать скрины. А в третьих, файл, который создает system_profiler, можно использовать для контроля выполнения автоматизирующих скриптов (к примеру, для проверки версии «Редактора скриптов», чтобы знать точно какие команды на Apple Script/JavaScript поддерживаются компьютером). Или проверять перед запуском скрипта, хватит ли свободного места на диске для сохранения результатов его выполнения.
2. Меняем настройки
С помощью командной строки можно регулировать настройки. Этот пример меняет расширение по умолчанию для скриншотов:
[code]
$ defaults write com.apple.screencapture type JPG
[/code]
Аналогичным образом можно изменить многое. Например, включить отображение скрытых файлов в Finder:
[code]
$ defaults write com.apple.finder AppleShowAllFiles -bool YES
[/code]
Или разрешить выделение текста в QuickLook:
[code]
$ defaults write com.apple.finder QLEnableTextSelection -bool TRUE
[/code]
Всплывающие уведомления для iTunes:
[code]
$ defaults write com.apple.dock itunes-notifications -bool TRUE
[/code]
Еcли вы часто меняете какие-то настройки, то можете выяснить, как это делать с помощью консоли, сохранить эти команды в исполняемый файл и запускать его по мере необходимости.
3. Какие приложения жрут больше всего CPU и памяти?
Если Mac вдруг начал притормаживать, то следует посмотреть, что больше всего загружает процессор?
[code]
$ top -o cpu
[/code]
А что занимает оперативную память?
[code]
$ top -o mem
[/code]
4. Завершаем приложения из командной строки
После того как корень зла найден, то можно выкорчевать его, не выходя из командной строки. Эта команда закроет браузер Chrome:
[code]
$ pkill Chrome
[/code]
pkill можно использовать для аварийного завершения программ, когда они перестают отвечать. Со мной один раз было, когда Command + Option + Escape предательски завис, а через командную строку приложение удачно отключилось.
5. Узнаем свой IP
А это команда нужна чтобы узнать свой IP-адрес, когда нет желания делать это через браузер (к примеру, в нем настроены прокси).
[code]
$ scutil
> show State:/Network/Global/IPv4
[/code]
Чтобы закончить работу с утилитой scutil наберите команду:
[code]
> exit
[/code]
Или закройте окно «Терминала».
6. Узнаем своего провайдера или на каком этапе возникли проблемы с инетом
Бывает, что интернет внезапно перестает работать. И надо выяснить, следует ли звонить провайдеру или достаточно просто перезагрузить роутер (который стоит в другой комнате). Чтобы зря не ходить, можно использовать утилиту traceroute, которая укажет на каком этапе возникли проблемы с соединением:
[code]
$ traceroute google.ru
[/code]
Еще с ее помощью можно выяснить имя интернет-провайдера, которым пользуешься.
7. Какие диски установлены в системе
А эта команда отобразит список всех дисков, установленных в системе вместе с их именами и емкостью:
[code]
$ diskutil list
[/code]
8. Тестируем диск на наличие ошибок
Еще с помощью этой утилиты можно проверить диск на наличие ошибок:
[code]
$ diskutil verifyVolume /
[/code]
Если после проверки появилось сообщение “The volume Macintosh HD was found corrupt and needs to be repaired”, то надо ввести следующую команду для устранения неполадок с диском:
[code]
diskutil repairvolume /
[/code]
Вместо / (основной диск), можно поставить /Volumes/[имя диска], который мы узнали в предыдущем пункте.
9. Измеряем скорость интернета
А вот простая команда для измерения скорости интернета. Она нужна в тех случаях, когда надо сообщить службе поддержки точную скорость интернета (они иногда задают такие вопросы), но она настолько низкая, что сайты для ее измерения не загружаются:
[code]
curl -o /dev/null http://speedtest.wdc01.softlayer.com/downloads/test10.zip
[/code]
Продолжение следует. В следующем выпуске будет подборка команд для автоматизации работы в интернете.
Источник