Как пользоваться терминалом на mac os
Перейти к содержимому

Как пользоваться терминалом на mac os

  • автор:

Терминал на Mac (macOS): что это, команды, синтаксис – понятный гид для начинающих

Сегодня все мы в 99% случаев работаем с Mac через приятный, понятный и удобный графический интерфейс пользователя. Но при решении ряда специфических задач даже Finder не справится с тем, что сделает старая добрая командная строка…

Тест пинг любого веб-сайта или компьютера

Например, с её помощью гораздо проще – и быстрее! – искать затерявшийся где-то в недрах системы 5-гигабайтный файл или путь к приложению, которое, как вы думали, уже давно удалено.

Что такое «Терминал»?

Терминал – стандартная системная утилита для взаимодействия с Mac при помощи командной строки. В Linux есть похожий инструмент управления, т.к. обе ОС являются Unix-подобными.

Интерфейс командной строки (command line interface или сокращенно CLI) – он же язык общения с Терминалом – называется bash. Всё, о чем мы расскажем ниже – это bash-команды.

Общие команды для Mac

Основной синтаксис

Bash-команда обычно строится так:

[Команда] [Опции] [Ввод или путь к файлу или директории]

ls – это команда, -la – это соединение двух опций (-l и -a), а /Applications – это путь к списку.

Если вы поймете путь, то поймете и то, как macOS в действительности видит ваши файлы. Как? Да как в матрешке – одна за другой. Например, вот путь к файлу под названием «Мои секреты», лежащему на Рабочем столе: /Users/Yablykworld/Desktop/My Secrets.

Пробелы

С пробелами действует простое правило – ничего лишнего!

Почему? Дело в том, что bash считает пробел концом команды!

Если у вас есть папка с пробелами в названии – например, Yablyk Folder, и вы пытаетесь вывести её содержимое с помощью команды ls /Applications/Yablyk Folder, то соответствующий файл не будет найден, и на выходе появится ошибка:

Терминал на Mac (macOS): что это, команды, синтаксис

Чтобы решить эту проблему, понадобятся кавычки или обратный слэш. Вот теперь всё будет правильно:

ls /Applications/»Yablyk Folder» , или
ls /Applications/Yablyk\ Folder

Многим командам требуется доступ с уровня администратора. Если вы сейчас пользуетесь Mac не под аккаунтом его «админа», но знаете пароль, введите в командную строку перед текстом самой команды sudo – (что означает «single user do», «делает один пользователь»). Так вы временно получите привилегии администратора и возможность произвести необходимые операции без смены аккаунта.

Команды Терминала для улучшения продуктивности

  • Заменяет: Spotlight
  • Почему лучше: работает быстрее, осуществляет поиск и по системным папкам (тогда как Spotlight в них не ищет или плохо индексирует их содержимое).

Синтаксис find состоит из четырех частей:

2. путь к директории, в которой вы хотите искать информацию (например, /Applications);

3. опции (например, -name дает find возможность искать файлы, которые подходят к заданному названию);

4. непосредственно сам поисковый запрос (например, Google Chrome).

Вот как выглядит вся команда в целом:

find /Applications -d 1 -name «*Google Chrome*»

Примечание: «звездочки» (*) указывают на то, что используется regex (регулярные выражения).

  • Заменяет:⌘Cmd + I, т.е. команды для отображения информации;
  • Почему лучше: может показать сразу несколько папок за один раз, и обычно выполняется быстрее.

du – это сокращение от «disk usage». Команда поможет быстро узнать размер конкретного файла или папки, или даже списка файлов внутри папки.

Лучшие опции для du:

-d («глубина», или depth): если за этой буквой стоит цифра, то find ограничит поиск по директории соответствующим количеством уровней. Например, если вы отдадите вашему Mac команду du:

Терминал выдаст вам информацию только об общем «весе» папок и файлов в папке Applications, без данных о размере подпапок, вложенных в эти папки.

-h (human readable, или «человеко-читаемые»). Выводит размеры файлов в привычных людям величинах – K (килобайтах), М (мегабайтах) или G (гигабайтах).

Команда du в действии:

Терминал на Mac (macOS): что это, команды, синтаксис

  • Заменяет: ручной перенос папок и файлов в нужное место.
  • Почему лучше: быстрее и не требует много ручного труда.

Синтаксис mv очень прост – старый путь меняется на новый:

mv <old file path> <new file path>.

mv /Users/Yablykworld/Documents/file1 /Users/Yablykworld/Desktop/file1

Эта команда переносит file1 из папки Документы на Рабочий стол.

  • Заменяет:⌘Cmd + I (показать информацию).
  • Почему лучше: быстрее, умеет отображать информацию о нескольким файлах сразу и имеет богатую палитру настроек.

ls – невероятно мощная. команда для отображения того, что находится в ваших папках. Также она выдает информацию о том, кто имеет право видеть их, есть ли на вашем Mac скрытые файлы или папки, и многое другое.

Лучшие опции для ls:

-l – отображает права для каждого файла в папке, время последнего изменения, владельца файла и его (файла) название.

-a – показывает все файлы в папке, включая скрытые (отличный вариант для библиотеки пользователя, которая в macOS по умолчанию скрыта).

Вот как всё работает:

ls -la /System/Library

Терминал на Mac (macOS): что это, команды, синтаксис

mkdir

  • Заменяет действие:Finder → Файл → Новая папка.
  • Почему лучше: работает быстрее, и задать имя новой папочке можно сразу в командной строке (нет необходимости кликать два раза, как это имеет место быть в графическом интерфейсе).

Создает новые папки в мгновение ока.

  • Заменяет: процедуру отправки файлов в Корзину и её очистки;
  • Почему лучше: быстрее, плюс удаляются даже те файлы, от которых обычно не получается избавиться с помощью Корзины.

Эта команда раз и навсегда удаляет абсолютно любой файл, который вы поместите в команду. Что, разумеется, требует повышенного внимания – в отличие от Корзины, rm не будет спрашивать «а Вы точно уверены?». Предполагается, что вы знаете, что делаете…

По умолчанию rm удаляет только файлы, папки остаются. Для того, чтобы сразу удалять и их, используйте опцию -R (рекурсивно).

40 советов и подсказок по Terminal, о которых вы никогда не думали

Terminal представляет собой исключительно мощный инструмент, предоставляющий интерфейс командной строки для поддержки ОС OS X. Это тема, которую мы подробно рассмотрели ранее в нашей популярной серии Taming the Terminal.

Terminal может многое, от перемещения большого количества файлов до изменения предпочтений, о которых мы не могли и подумать. Для демонстрации возможностей Terminal я собрал 40 действительно превосходных подсказок и трюков, которые могут пригодиться.

Перед началом

Все команды Terminal, которые я покажу, абсолютно безопасны, а когда дело доходит до изменения preferences, полностью обратимы. Надо сказать, что Terminal не оставляет права на ошибку, поэтому убедитесь, что вы вводите команды точно, как они описаны.

Как всегда, убедитесь, что у вас есть свежая резервная копия на всякий случай.

Совет. Если вы не знакомы с Terminal, я настоятельно рекомендую вам прочитать нашу вводную серию на тему Taming the Terminal. Terminal не для слабонервных и лучше, чтобы вы были готовы им пользоваться.

Кроме того, почему бы не попробовать некоторые Mac apps, доступные на рынке Envato, например Sentenza Desktop для Mac, которое помогает в создании приложений для Mac OS X.

Sentenza Desktop for MacSentenza Desktop for MacSentenza Desktop for Mac

Вход в Terminal

The Terminal windowThe Terminal windowThe Terminal window
Окно Terminal

Терминал находится в папке Applications> Utilities. После открытия вы можете начать вводить команды.

В Terminal вы увидите что-то вроде этого:

Это приглашение для ввода команды. Чтобы правильно определить, как вводить команду, я буду использовать знак доллара ($) для обозначения запроса, поэтому просто введите команду, следующую за знаком доллара.

Давайте разберемся с некоторыми основными командами!

Очистить окно

Проще говоря, это очищает текущее окно. (В Terminal в OS X вы все равно можете прокручивать вверх, чтобы увидеть, что там было. Эта команда просто очищает текущий вид).

Переход к папкам

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

Если вы хотите быстро вернуться в свою домашнюю папку, можете просто ввести:

С папками, которые содержат пробелы, есть два способа сделать это:

В первом методе используется обратная косая черта \ для «экранирования» пространства. Поскольку командная строка рассматривает пробелы как часть команд, символ \ сообщает Terminal игнорировать пространство, которое затем следует. В качестве альтернативы вы можете просто поместить путь к папке в кавычки, и любые пробелы, которые она содержит, будут игнорироваться.

Чтобы продолжить, вернитесь к своей домашней папке.

Список содержимого каталога

Вы можете просмотреть содержимое папки, введя:

The default output of lsThe default output of lsThe default output of ls
Ввод по умолчанию — ‘ls’

Чтобы просмотреть его в формате списка, введите:

The output of ls with the -l flagThe output of ls with the -l flagThe output of ls with the -l flag
Вывод ‘ls’ с флажком ‘-l’

Если вы хотите просмотреть все файлы, включая скрытые:

Вышеуказанная команда отобразит все файлы, включая скрытые, которые начинаются с точки. Что, если мы хотим просмотреть папку как список, но также увидеть все скрытые файлы?

Да, их простым объединением! Я думаю, ты уже разогрелся, так что давай взойдём на новый уровень!

Прежде чем продолжить, вернитесь к своей домашней папке.

Ditto

Подводный камень в OS X — ditto команда от Apple. Я нашёл это невероятно полезным при копировании больших объёмов данных, так как он может работать в окне Terminal, которое содержит более полезную информацию, чем традиционное окно копирования Finder.

Эта команда скопирует нашу рабочую папку в новое место. Происходит то, что команда копирует содержимое нашей «рабочей» папки в новую «рабочую» папку.

Добавление —V, то есть verbose, печатает строку в окне Terminal для каждого файла, который копируется. Это очень удобно, видеть процесс копирования.

Ditto — команда, которую я часто использую для копирования гигабайт данных между жёсткими дисками и она мне кажется очень надёжной.

Отключить Drop Shadows в скриншотах

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

Вы можете перезапустить Mac, чтобы просмотреть изменения, либо, используя другую команду, сразу увидеть их:

Эта команда останавливает графический интерфейс OS X на долю секунды. Не беспокойтесь, он должен работать и будет перезагружен мгновенно — но уже с нашей новой опцией. Сделайте скриншот и заметите, что тень больше не включается.

Чтобы отменить изменения, вы можете ввести следующую команду:

Чтобы просмотреть изменения немедленно.

Изменить формат файла скриншота

PNG, вероятно, лучший формат для скриншотов и он может занимать немного места. Если вы предпочитаете использовать формат PDF, можете поступить так:

Чтобы отменить изменения, введите:

Изменить расположение снимков экрана

Несмотря на своё великолепие, скриншоты загромождают рабочий стол. Чтобы это изменить, можем использовать:

Вместо того, чтобы связываться с длинными именами надоедливых путей, можете просто ввести первую часть команды, а после слова “location” перетащить папку, в которую вы хотите сохранить ваши скриншоты. Чтобы отменить изменения, можете использовать:

, фактически представляет вашу домашнюю папку. В приведённом выше примере это означает /Users/jordan/Desktop. Полезное сокращение!

Включить AirDrop для старых компьютеров Mac

AirDrop — отличная функция, позволяющая быстро и легко отправлять файлы между компьютерами Mac без необходимости работать с приложениями. Проблема в том, что это только на WiFi и на более современных Mac.

Если ваш Mac не поддерживает AirDrop, введите следующую команду, чтобы работать в сети Ethernet:

Вам нужно будет перезапустить Finder, самый быстрый способ — использовать команду killall:

Чтобы отменить изменения, введите:

Если нужна дополнительная информация о включении AirDrop, более подробно в нашем предыдущем руководстве «How to Enable AirDrop on Ethernet Connected and Unsupported Macs«.

Показать скрытые файлы и папки

Чтобы просмотреть скрытые файлы и папки в OS X:

После перезагрузки Finder вы увидите много незнакомых файлов, обычно начиная с периода (который обозначает скрытый файл в OS X).

Чтобы отменить изменения:

Мы рассматривали видимость скрытых файлов в нашем предыдущем уроке «Revealing Hidden Files in OS X«.

Стресс-тест вашего Mac

Если хотите запустить стресс-тесты на вашем Mac, можете ввести простую команду, которая мгновенно использует 100% процессора:

Специалисты Apple часто ей пользуются при работе с проблемными компьютерами Mac, которые могут упасть под нагрузкой, это очень быстрый способ нагрузить Mac. Чтобы отменить команду, нажмите Ctrl-C.

Просмотр использования файловой системы

Иногда мы хотим увидеть, что делает наш Mac при чтении и записи диска, особенно если мы пытаемся определить причину, что не позволяет вытолкнуть диск. Для этого мы используем:

Вводя sudo, мы просим запустить его как суперпользователя, что требует ввода пароля для входа в систему Mac. После того, как процессы обращаются к вашему диску, вам предоставляется постоянный поток информации.

Некоторые процессы, которые вы, вероятно, увидите, это Time Machine (backupd) и Spotlight (mds).

Для отмены нажмите Ctrl-C.

Просмотр содержимого любого файла

Иногда попадаются файлы в неизвестном формате. Предполагая текстовый формат, мы пытаемся открыть его в TextEdit, но это не всегда работает. Мы можем исследовать любой файл из Terminal , используя:

Независимо от формата, файл откроется. В файлах, как MP3 или видео будет тарабарщина. Но если вы пытаетесь восстановить повреждённый документ, это может помочь.

Восстановить Spotlight

Spotlight может работать не так хорошо, как хотелось бы. Иногда нам просто нужно задать Spotlight новый индекс, чтобы он мог находить файлы как можно быстрее и эффективнее. Сделаем это:

Указанная команда удалит индекс Spotlight, вынудив его запустить новый. Более простой способ выполнить команду — ввести ее первую часть, а для местоположения просто перетащить жёсткий диск со своего рабочего стола в окно Terminal.

Удалить повторяющиеся записи “Open With…”

Общей ошибкой в OS X является наличие дублирующихся приложений в меню “Open With…”, которое может переполниться! Исправим это:

Указанная команда будет работать в OS X Leopard и выше. Рекомендую перезагрузить Mac.

Включить выбор текста в Quick Look

Quick Look великолепен, но не стал бы ещё лучше, имей мы возможность выбирать текст без необходимости открывать документ? С этой командой сможете:

Чтобы вернуть изменения:

Открытие файлов в любом приложении

Вы легко можете открывать документы из Terminal, но как насчет их открытия в другом приложении, которое не подходит по умолчанию для файлов его типа?

Это действие откроет наш текстовый файл в приложении AppName. Просто измените приложение и файл на всё, что вам нужно.

Проверьте безотказность Mac

Пройдут дни, недели или даже месяцы, прежде чем мы перезагрузим наш Mac, иногда даже не можем вспомнить, когда делали это в последний раз. Чтобы узнать, сколько времени наш Mac был без перезагрузки, можем использовать:

Это отобразит текущее время и время работы нашего Mac.

Установка обновлений OS X

Несмотря на то, что Software Updates переходят в App Store в Mountain Lion, мы можем использовать командную строку для установки обновлений без необходимости её запуска. Чтобы просмотреть доступные обновления программного обеспечения для вашего Mac:

Через несколько минут вы получите полный список.

Если захотите установить все доступные обновления, введите:

Отображение пользовательского сообщения в Login Window

При массовом пользовании Mac бывает полезным выводить на дисплей насущную информацию, например «Эй, липкие руки! Другим тоже надо пользоваться клавиатурой, знаешь ли. «

В следующий раз, когда вы выйдете из системы или перезагрузите Mac, появится ваше сообщение. Чтобы полностью удалить сообщение:

Начать простой HTTP Server в любой папке

Если вам нужно быстро протестировать HTML, над которым вы работаете, запустите простой веб-сервер в любой папке на вашем Mac. Перейдите в папку для использования и введите:

Номер в конце — это порт для использования, откройте браузер и посетите http://localhost:8000, можете использовать порт 80 по умолчанию или полностью удалить номер порта.

Когда закончите, нажмите Ctrl-C.

Повторное выполнение команды

Некоторые из команд требуют сначала войти в sudo, чтобы запустить их как суперпользователя root. Иногда, введя длинную команду, узнаём лишь, что мы забыли сначала поместить sudo. К счастью, нам не нужно повторно записывать всю команду (или копировать и вставлять). Вместо этого мы можем использовать очень простой shortcut, который стоит вместо ранее написанной команды:

Если нам понадобится ввести ту же команду ещё раз, но с sudo впереди, мы можем просто набрать:

Загрузка файла без браузера

Если хотите загрузить файл без использования браузера, мы можем дать следующую команду:

Это загрузит любой URL, который вы вводите в папку. Некоторые браузеры пытаются автоматически открывать файлы при их загрузке или добавлять утомительные расширения файлов, когда вы не хотите их (особенно при работе с текстовыми файлами, кроме расширения .txt).

Завершение работы Mac, с задержкой или без

Для немедленного завершения работы Mac:

Чтобы немедленно перезагрузить Mac:

Мы можем добавить временную задержку (в минутах), если мы хотим:

Хотя это не очень подходит собственному Mac, но, если вы подключились к Macs через командную строку, может оказаться полезными при перезапуске удалённых серверов.

Отключить Mail’s анимацию в Mountain Lion

У Mail великолепная анимация, благодаря которой, если вы нажмете ответ на любое сообщение, в окне отображается окно с композицией. Это не для всех. Чтобы отключить анимацию:

Закройте и перезапустите Mail, чтобы изменения вступили в силу. Чтобы отменить изменения:

Предотвратите переход Mac в режим сна

Мы оставили Mac делать то, что требуется, на некоторое время, а вернувшись, обнаружили его спящим. Это можно предотвратить, используя простую и с юмором команду:

Mac будет бодрствовать до тех пор, пока вы не отмените команду, нажав Ctrl-C. Вы можете добавить параметр времени с помощью:

Число означает секунды, поэтому наша команда остановит переход Mac в режим сна в течение следующих десяти минут.

Создайте файл любого размера

Бывают случаи, когда нам нужен файл определённого размера для тестирования. Я часто копирую файл 1GB по сети, чтобы получить представление о скорости. Найти файл нужного размера сложно, но с помощью командной строки мы можем создать пустой файл любого размера.

Вы можете указать размер файла в байтах (b), килобайтах (k), мегабайтах (m) или гигабайтах (g). В приведённом выше примере создается тестовый файл 1GB, называемый test.abc, но вы можете называть его как хотите, без расширения файла.

Постоянный контроль вывода файла

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

Ваше окно Terminal будет постоянно следить за указанным файлом (в данном случае, system.log и каждый раз, когда добавляется ещё одна строка, она будет выводиться на экран.

Для завершения нажмите Ctrl-C.

Получите свой сетевой IP-адрес

Несомненно, мы могли бы открыть System Preferences, выбрать Network, а затем просмотреть нашу информацию об IP-адресе, но делать это через командную строку гораздо круче!

Термин en0 представляет используемый сетевой интерфейс. Подобно некоторым языкам программирования, первый сетевой интерфейс начинается с нуля, а затем подсчитывается, поэтому, если у вас есть два интерфейса (например, ethernet и WiFi), то они будут соответственно en0 и en1.

По умолчанию ваш Mac всегда будет обозначать проводное сетевое подключение как en0, если только ваш Mac не имеет встроенного ethernet. Вы можете заменить en0 на en1, если вы не используете проводное соединение.

Получите ваш внешний IP-адрес

Самый простой способ узнать свой IP-адрес (тот, который нам предоставляет наш интернет-провайдер), посетить такой сайт, как What Is My IP или даже набрав “what is my IP address” в Google.

Но мы можем использовать Terminal, чтобы обнаружить наш публичный IP-адрес, через службу IP Echo.

После запуска команды вам будет предоставлен внешний IP-адрес. Может, набрать будет на так быстро, как зайти на один из указанных сайтов, но мы можем больше сделать вводом с Terminal, особенно включив его в какой-то скрипт.

Тестирование сетевых подключений

Вероятно, вы слышали термин “ping”. Ping отправляет очень маленькие биты информации по сети на удалённый компьютер, учитывая время получения ответа. Полезно видеть, работает ли IP-адрес, или веб-сайт может быть недоступен.

Выполнение указанной команды отправит 10 пакетов информации и предоставит подробный отчёт о времени отклика. Вы можете заменить www.apple.com любым другим доменным именем или IP-адресом.

Отключить двухпальцевую навигацию Google Chrome

Для компьютеров Mac со встроенным трекпадом с мультитач или с трекпадом Magic Trackpad, Google Chrome предлагает собственную версию считывания двумя пальцами. Хотя это легко изменить в Safari, для Google Chrome необходимо немного обмануть терминал:

Закройте и перезапустите Google Chrome и заметите, что больше не можете сделать swipe. Чтобы отменить изменения:

Запретить использование приложений с сохранением в iCloud по умолчанию

ICloud — отличный сервис, но если вы предпочитаете Dropbox или сохранять файлы на свой Mac, то вы, без сомнения, разочарованы тем, что многие iCloud-совместимые приложения предлагают iCloud в качестве сохранения по умолчанию . К счастью, мы можем изменить это:

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

Чтобы отменить изменения:

Сделайте иконку любого скрытого приложения в Dock Translucent

Скрытие приложений, когда вы их не используете, — отличный способ освободить место на экране, но нет никакого способа отличить, какое приложение скрыто, а какое нет. Мы можем изменить Dock, чтобы все скрытые приложения имели полупрозрачный значок:

Чтобы отменить изменения:

Пути автозаполнения

При указании длинного пути, например:

Это может быть очень утомительно. Вместо этого мы можем использовать клавишу Tab для автозаполнения. Просто начните вводить любую команду, где вам нужно указать путь и на первой или второй букве нажмите Tab. Если есть только одна папка для заполнения по первым символам, она это сделает. Если нет, нажмите клавишу Tab дважды и она будет прыгать так далеко, насколько это возможно и покажет все потенциальные файлы и папки, которые вам могут понадобиться.

Чтобы попробовать, введите следующее, но вместо нажатия Enter нажмите Tab:

Вы найдете его для автозаполнения:

Вероятно, вы услышите звуковой сигнал. Это потому, что есть две папки, к которым вы можете получить доступ: /Users и /User Information. Затем вы можете добавить последний символ в путь и нажать Enter.

Он очень похож на автозаполнение слов в iOS.

Сделать Mac говорящим

У Mac OS X есть отличная встроенная функция речи и мы можем сказать ей все, что хотим:

Мы можем сделать, чтобы он читал любой текстовый файл, который нам нравится:

Затем наш Mac скажет, что было в текстовом файле.

Восстановление образа диска на внешний диск

Вы можете имитировать поведение Disk Utility и восстановить файл образа диска на диске, подключенном к вашему Mac:

Он пропустит проверку (вы можете удалить эту часть, если проверка нужна, но это может занять некоторое время), и вы можете восстановить изображение, например копию OS X, прямо на диск или раздел.

Отключить панель инструментов

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

Я пользуюсь Mission Control и располагаю его слева, но, честно говоря, предпочитаю, чтобы он полностью исчез. К счастью, Dashboard может быть отключен:

Вы обнаружите, что Dashboard больше не работает, вместе с виджетами внутри. Не беспокойтесь, его можно вернуть в случае необходимости:

Посмотреть все активные процессы

Приложение Activity Monitor предоставит подробный обзор того, чем занят наш Mac. Мы можем перенести большую часть его функциональности в Terminal:

После запуска мы легко увидим все текущие процессы, перечисленные в зависимости от частоты использования процессора, с наиболее активными процессами CPU в начале списка.

Кроме того, в верхней части окна есть много другой информации, от того, сколько процессов запущено, сколько памяти используется в настоящее время до объёма генерируемого нами сетевого трафика.

Смотрите список всех команд, которые вы ввели

Напоследок можно ввести команду просмотра всех команд, которые мы вводим:

Все предыдущие команды, запущенные в Terminal, перечислены здесь, что даёт вам возможность вернуться назад и посмотреть, что сделано.

Заключение

Terminal может помочь настроить ваш Mac точно, как вы хотите и предоставить доступ к функциям, которые просто не отражаются. Существует множество безопасных вариантов, но, чтобы не ошеломить пользователя, они скрыты и их могут найти только опытные users, которые хотят внести изменения.

Командная строка — очень мощный инструмент, и, как сказал дядя Бен Питеру Паркеру, «с большой силой приходит большая ответственность». Используйте её мудро!

Основы работы с командной строкой (Терминалом) на Mac OS X

Привет! Это статья для тех, кто только начинает знакомство с командной строкой.

Сегодня мы рассмотрим основные команды в среде MacOS.

Где найти командную строку

Есть несколько способов:

  • Вызовите окно поиска (Cmd + Пробел, на Вашем устройстве может быть установлена другая комбинация), и напишите «Терминал» или «Terminal»:

  • Другой вариант — найти Терминал в Launchpad:

Там, в папке «Другие», можно найти значок Терминала:

Теперь, если мы нажмем на значок, откроется такое окно:

Обратите внимание: это стандартная программа для работы в командной строке. При желании, Вы можете установить и какую-нибудь другую программу — например, iTerm, Terminator и т.д.

Основные команды:

Давайте рассмотрим каждую из них по отдельности.

Команда ls

ls — расшифровывает как «List files in the directory», что переводится как «перечислить все файлы в папке» или «вывести на экран список файлов в папке». Синтаксис команды такой:

ls

Итак, если Вы только открыли терминал, Вы автоматически попадете в так называемый «home directory» — «исходный каталог», или «хомяк» — сленг от слова»home» �� Обычно это папка, которая называется так же как и имя пользователя. Давайте откроем терминал и напишем команду ls:

Если нажать Enter, то мы увидим:

У Вас исходный каталог может выглядеть по-другому — например, у Вас не будет папок 42FileChecker, если у Вас не будет установлен Adobe Creative Cloud, — не будет папки Creative Cloud Files, и т.д.

Команда cd

cd — расшифровывается как «Change directory», что переводится как «сменить папку» или «перейти в другую папку». Синтаксис такой:

cd <путь к папке>

Например, как Вы помните, мы только открыли терминал и сейчас находимся в home directory:

Мы можем зайти в одну из этих папок. Давайте, например зайдем в папку Desktop (Рабочий стол). Для этого, напишем:

cd Desktop

Если мы нажмем Enter, мы перейдем на Рабочий стол. Сейчас, у нас на Рабочем столе находится только папка «Files»:

И если мы теперь вызовем команду ls, увидим только папку Files — то же самое, что видим на своем Рабочем столе:

Чтобы выйти обратно, напишем:

cd ..

То-есть мы пишем «cd«, а потом две точки:

Нажмем Enter. Теперь, давайте еще раз вызовем ls:

Как видите, мы опять находимся в home directory.

Команда pwd

  • pwd — «present working directory»

pwd — расшифровывает как «Present working directory», что переводится как «текущая рабочая директория». То есть команда pwd показывает, в какой сейчас папке мы находимся. Синтаксис такой:

pwd

Например, у нас имя пользователя «Maria». Поэтому, наша домашняя папка так и называется:

Опять же, если мы зайдем в папку Desktop:

Если мы сейчас напишем pwd, то увидим, что мы находимся папке «Desktop«:

Команда mkdir

mkdir — расшифровывается как «Make directory», что переводится как «создать папку». Синтаксис такой:

mkdir <название новой папки>

Например, сейчас мы находимся на Рабочем столе. Как Вы помните, в этой папке у нас только одна папка — Files:

Теперь, давайте создадим новую папку — например, с названием «NewDirectory»:

Теперь, если мы вызовем команду «ls», то увидим, что у нас уже две папки:

Для большей наглядности, мы можем открыть папку в Finder:

Команда open

«Open» переводится как «открыть». С помощью этой команды мы можем открыть что угодно — папку или файл. Синтаксис такой:

open <название файла или папки>

Например, сейчас мы находимся в папке Desktop. Давайте откроем папку NewDirectory. Для этого мы пишем:

open NewDirectory

Нажмем Enter. Тогда мы увидим, что откроется папка «NewDirectory» в Finder:

Чтобы открыть текущую папку, мы пишем:

open .

Здесь точка означает папку, в которой мы находимся. Например, давайте вернемся в папку home directory:

Теперь, мы находимся в папку, которая называется именем пользователя:

Напишем «open .«:

Отлично! Точно так же мы можем открывать и файлы. Например, создадим новый текстовый файл на Рабочем столе:

Теперь, зайдем на Рабочий стол:

open text.txt

Тогда, файл будет открыть в программе по умолчанию:

Мы можем открыть этот же файл и находясь в другой папке. Например, вернемся в «домашнюю» папку. Это, кстати, можно сделать, если просто написать «cd«, без аргументов:

Теперь, мы будем находиться в папке с именем пользователя:

Давайте откроем файл text.txt отсюда. Напишем путь к файлу:

open Desktop/text.txt

Получим такой же результат, как и в первый раз:

Точно так же, мы можем открыть файл и если он находится в папке «выше». Например, зайдем в папку NewDirectory:

Мы можем открыть файл, если напишем следующее:

open ../text.txt

Увидим, что файл, как и раньше, открылся в программе TextEdit:

Но мы и сами можем выбрать приложение, в котором следует открыть файл. Синтаксис такой:

open -a <название приложения> <название файла>

Например, давайте откроем файл с помощью приложения Safari. Пишем:

open -a Safari ../text.txt

Если нажать Enter , увидим что файл открылся в браузере:

Команда touch

С английского «touch» переводится как «прикоснуться», «потрогать» �� Эта команда позволяемое нам создать пустой файл. Синтаксис такой:

touch <название нового файла>

Например, сейчас мы находимся в NewDirectory на Рабочем столе. Мы можем проверить это с помощью команды pwd, которую мы выучили раньше:

Теперь, давайте создадим файл. Мы можем сделать что угодно — изображение (img.jpg), текстовый файл (file.txt) или звуковой файл (sound.waw). Естественно, все эти файлы будут пустыми.

touch image.jpg

Теперь, в папке NewDirectory появится файл image.jpg. Давайте откроем папку с помощью команды open и посмотрим:

Отлично! Еще, мы можем создать несколько файлов одной командой. Их имена можно указать через пробел:

touch file1 file2 file3 .

Например, давайте сделаем несколько файлов с расширением .txt. Напишем в командной строке:

touch 1.txt 2.txt 3.txt

Теперь, если мы откроем папку NewDirectory, мы увидим наши новые файлы:

Команда mv

mv — расфшифровывается как»Move», что переводится как «переместить», «передвинуть». С помощью этой команды мы можем:

  • переместить файл из одной папки в другую
  • переименовать файл

Итак, чтобы переместить файлы из одной папки в другую, мы пишем следующее:

mv <имя файла> <папка>

Например, давайте переместим файл image.jpg из папки NewDirectory на Рабочий стол (т.е. на уровень выше). Для этого, пишем:

mv image.jpg /Users/Maria/Desktop

Как видите, мы указали абсолютный путь. То-есть это путь не относительно нашей текущей папки («относительный» путь), а путь по которому папка находится в системе. Это можно сравнить с адресом. Можно сказать, что дом находится «на соседней улице» (это будет относительный путь), а можно что он находится по адресу. например, Ул. Уличная 123 (это будет абсолютный путь).

Таким образом, наш файл переместиться на Рабочий стол:

Как видите, теперь в папке нет изображения. Вместо этого, оно находится на Рабочем столе:

Давайте теперь вернем файл обратно. Напишем:

mv ../image.jpg .

Как видите, мы берем файл image.jpg, который находится на уровень выше (../image.jpg), и переедаем его в папку, в которой мы находимся сейчас (.).

Теперь, файл image.jpg опять в папке NewDirectory:

Кроме того, мы можем перемещать несколько файлов одновременно. Синтаксис такой:

mv file1 file2 file3. <папка>

Итак, давайте переместим все файлы из папки NewDirectory на Рабочий стол. И в этот раз, мы используем не абсолютный путь, а относительный. Пишем следующее:

mv image.jpg 1.txt 2.txt 3.txt ./..

Точно так же, мы могли бы написать:

mv * ./..

где * означает все файлы в папке.

Вот теперь мы можем увидеть, что все указанные нами файлы переместились на Рабочий стол:

Теперь, давайте посмотрим как можно переименовать файл. Синтаксис такой:

mv <старое имя> <новое имя>

Например, давайте поменяем название файла с image.jpg на picture.jpg. Для этого нам нужно перейти в папку Рабочий стол с помощью команды cd, а потом написать:

mv image.jpg picture.jpg

Если мы теперь откроем папку Рабочий стол, то увидим следующее:

Отлично! Теперь файл называется по-другому — picture.jpg.

Вот и все — теперь Вы знаете основные команды для работы с командной строкой на Mac OS.

Спасибо, что были с нами! ��

Надеемся, что наша статья была Вам полезна. Можно записаться к нам на курсы по Java на сайте.

[Mac OS X] Начинающим о работе в Терминале

В OS X обычный пользователь практически не сталкивается с необходимостью использовать командную строку, поскольку большинство его нужд покрывает то, что реализовано в графическом интерфейсе системы.

Другое дело, когда нужны некоторые скрытые возможности, которые недоступны из графического интерфейса. Собственно в этой рубрике мы частенько прибегаем к извлечению этих скрытых возможностей при помощи командной строки. А потому я и решил немного рассказать о программе Терминал и командной строке, а так же дать пару советов новичкам, которые позволят им ощущать себя в ней более комфортно.

pic_0

Небольшое введение

Начнем с вопроса, что такое Терминал? Прежде всего, это приложение, внутри которого выполняется командный интерпретатор. Его еще часто называют интерфейсом командной строки. Он интерпретирует команды специального языка скриптов.

Пояснение слова скрипт

Правильнее «скрипт» следует называть сценарием, поскольку это одно из значений английского слова — sript. Да и фактически «скрипт» является сценарием. Но термин «скрипт» очень прочно устоялся среди программистов, а потому я немного нарушу правила русского языка и буду называть его именно – скрипт. Тем более что и само слово «сценарий» заимствовано русским языком и родным ему не является.

Языки скриптов бывают разные, но есть наиболее распространенный набор таких языков, а соответственно и их интерпретаторов.

В OS X, по умолчанию используется командный интерпретатор bash . Это улучшенный вариант интерпретатора Bourne shell, который обычно называют просто shell . И он тоже присутствует в нашей системе в виде файла /bin/sh . Правда не используется.

В настоящее время bash – фактически стандарт де-факто в большинстве Unix-подобных систем.

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

Найти информацию обо всех перечисленных интерпретаторах несложно в «Википедии».

Командная строка

Когда вы запускаете программу Терминал, то видите в ее окне командную строку, которая в моей системе выглядит так:

pic_1

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

(тильда). Далее следует имя пользователя (в моем случае — gosha ), а за ним знак $ , который называется приглашением – приглашением вводить команды интерпретатору.

Вид командной строки и приглашения можно настраивать, а в минимальном виде это будет просто знак $ . Именно после знака $ и вводятся все команды интерпретатору. Это место обозначает курсор — мигающий прямоугольник (его вид тоже можно настраивать).

Примечание: в заголовке окна Терминала вы видите текущий каталог (в данном случае это домашний каталог, а потому он обозначен домиком), затем имя пользователя, затем название используемого интерпретатора (в данном случае — bash ) и размер окна в символах.

Язык скриптов bash

Командный интерпретатор bash , как я уже написал выше, интерпретирует команды специального языка скриптов. Язык скриптов достаточно несложный язык программирования, который, как и любой язык программирования, предназначен для передачи команд и данных от человека к компьютеру.

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

Приведу пример. Вы хотите посмотреть содержимое текущего каталога (при запуске Терминала, по умолчанию это будет ваш домашний каталог). Для этого в системе есть программа, находящаяся в файле ls . Ее запуск в командном интерпретаторе заключается во вводе имени файла этой программы и нажатием клавиши Enter:

pic_2

Небольшое, но важное пояснение

На самом деле, этот файл находится в каталоге /bin и полностью этот файл обозначается как /bin/ls . Но в интерпретаторе есть специальный механизм, позволяющий не вводить полный путь до некоторых файлов программ. Этот инструмент — переменная окружения, которая называется PATH (путь) и содержит список каталогов. Интерпретатор, получив в качестве команды имя файла, указанное ему без пути, просто ищет этот файл в каталогах, перечисленных в переменной окружения PATH . Если находит, то запускает его на выполнение, если не находит, то выводит сообщение — файл не найден.

Посмотреть содержимое переменной PATH вы можете командой:

Естественно эту переменную можно настраивать, но какой-то особой необходимости в этом у обычного пользователя не возникает, а потому я опущу этот вопрос.

Ну а теперь перейдем собственно к советам.

Совет 1 — автодополнение

При использовании командной строки очень часто приходится вводить имена файлов – обычно это файлы различных команд, и вводить имена файлов или каталогов, передаваемых в качестве параметра командам, которые необходимо набирать с указанием полного пути до них. И вот для того, чтобы не ошибиться при наборе, в bash имеется механизм, называемый автодополнением.

Примечание: в дальнейшем, для удобства, я буду называть имя файла команды просто командой. Это общепринятая практика.

Смысл этого механизма заключается в том, что когда вы начинаете набирать команду, вводите первые несколько букв и нажимаете клавишу Tab, в результате чего набор команды будет завершен автоматически. Это же работает и при наборе пути и имен файлов, передаваемых командам в качестве параметров.

Для того, чтобы понять, как это работает, приведу пример. Пусть мы хотим ввести команду diskutil . Начинаем вводить disku и нажимаем клавишу Tab, команда будет дописана автоматически – diskutil . А теперь попробуйте ввести на одну букву меньше — disk и нажать Tab — прозвучит звуковой сигнал и команда дописана не будет. Этот звуковой сигнал предупреждает нас, что есть несколько вариантов команд, начинающихся с букв disk . А вот для просмотра этих вариантов нажмите второй раз клавишу Tab и все эти варианты будут показаны:

pic_3

Как видно на картинке, имеется шесть команд, название которых начинается с disk , а потому интерпретатор предлагает уточнить следующую букву. В нашем случае нужно ввести букву u , для того, чтобы интерпретатор смог понять, что нам нужна именно команда diskutil , поскольку это единственная команда, начинающаяся с букв disku и затем нажать клавишу Tab. Команда будет дописана полностью.

Попробуйте ввести только буквы di и нажать два раза клавишу Tab. Команд, начинающихся на эти две буквы, будет еще больше. А вот если бы в системе была только одна команда, начинающаяся с букв di , то после первого же нажатия клавиши Tab, она была бы дописана полностью, поскольку интерпретатору не приходилось бы выбирать из разных вариантов.

Точно так же это действует и при наборе имен каталогов и файлов, передаваемых в качестве параметров командам.

Пример. Предположим мы хотим посмотреть содержимое вашего каталога Загрузки при помощи команды ls .

И сразу небольшое отступление.

На самом деле, каталога с названием Загрузки , в вашем домашнем каталоге нет. Это программа Finder, так показывает вам название каталога Downloads . То есть фактически переводит на русский язык слово Downloads . Сделано это для удобства пользователей.

Вы можете убедиться в этом, взглянув на второй сверху снимок экрана, где мы командой ls выводили содержимое домашнего каталога. Как видите, там нет каталога с названием Загрузки , но есть каталог Downloads . Точно так же вы там не увидите каталогов с названиями Библиотеки , Документы , Изображения , Музыка , Общие , Сайты и Фильмы , которые показывает вам программа Finder как перевод с английского на русский названий каталогов: Library , Documents , Pictures , Music , Public , Sites и Movies соответственно.

Итак, вернемся к просмотру содержимого каталога Загрузки (а на самом деле Downloads ) командой ls . Нам нужно ввести название каталога в качестве параметра к этой команде. Набираем ls Dow и нажимаем клавишу Tab, получаем команду ls Downloads , в результате выполнения которой и получим содержимое каталога Загрузки ( Downloads ).

И еще одно отступление.

На самом деле в Unix -системах в этом случае вводят не ls Downloads , а ls ./Downloads . Тем самым обозначая, что каталог Downloads находится в текущем каталоге. Точка — обозначение текущего каталога. Но в реализации bash в OS X , сделано небольшое послабление пользователям и в текущем каталоге, можно ./ опускать, так как будто в переменной окружения PATH прописан текущий каталог, хотя на самом деле его там нет. Вы можете убедиться в этом, выполнив команду echo $PATH . Зачем это было сделано для меня остается загадкой, но таковы реалии OS X. Естественно можно набирать и канонически для Unix-систем – ./Downloads .

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

Совет 2 – история команд

Это еще один механизм, облегчающий работу в командной строке. Дело в том, что интерпретатор bash запоминает все команды, которые вы выполняли. Он сохраняет всю историю команд в скрытом файле вашего домашнего каталога с названием .bash_history . Увидеть этот файл можно при помощи команды ls с ключом -la , т.е. ls -la . Попробуйте.

Пользоваться историей команд очень просто – при помощи клавиш навигации — Стрела вверх и Стрелка вниз. Нажмите первую из них и вы увидите в командной строке предыдущую выполненную команду. Последующие нажатия этой клавиши будут последовательно выводить ранее выполненные вами команды. Соответственно вторая клавиша листает список выполненных команд в обратном направлении.

Это удобно использовать собственно для повторения выполненных команд. Но и очень удобно для их модификации. Например, в моих статьях часто встречаются команды вида defaults write … , которыми мы обычно включаем некоторые скрытые настройки OS X. А отмена включения этих настроек часто делается командой defaults delete … , которую очень просто получить, вызвав из истории предыдущую команду defaults write … и просто исправить ее на соответствующую команду defaults delete… , а не вводить ее с нуля.

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

Надеюсь, это небольшое введение в основы мира командной строки, не слишком вас утомило. ��

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *