Работаем в Terminal Mac OS X. Открываем папки из терминала. Наведение красоты в «Терминале» для OS X

Терминал Mac OS X — это приложение, внутри которого выполняется командный интерпретатор. Также терминал часто называют интерфейсом командной строки. Он интерпретирует команды специального языка скриптов.

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

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

Как запустить терминал Mac OS X?

Найти терминал в Finder

Откройте Finder, войдите в каталог /Программы/Служебные программы (/Applications/Utilities) и два раза щёлкните по приложению Терминал (Terminal) - он запустится.

Запуск через Spotlight

Нажмите Control+пробел (⌃+пробел) и в правом верхнем углу экрана появится строка запроса. Наберите в строке слово «terminal» или «терминал». По мере набора Spotlight постарается подобрать то, что вы ищете. Результаты будут отображаться под различными заголовками, но нужный нам будет располагаться напротив слова Программы или Наилучшее совпадение. Вы можете теперь кликнуть по найденному результату мышкой, либо нажать Return (↩) или Ввод (⌅) — терминал запустится.

Полезные команды терминала Mac OS X

  • Показываем скрытые файлы папки :
    defaults write com.apple.Finder AppleShowAllFiles 1 && killall Finder
  • Скрываем их:
    defaults write com.apple.Finder AppleShowAllFiles 0 && killall Finder
  • Показываем путь в заголовке окна:
    defaults write com.apple.finder _FXShowPosixPathInTitle 1; killall Finder
  • Скрываем его:
    defaults write com.apple.finder _FXShowPosixPathInTitle 0; killall Finder
  • Выключаем анимацию в Finder:
    defaults write com.apple.finder DisableAllAnimations 1; killall Finder
  • Включаем анимацию:
    defaults write com.apple.finder DisableAllAnimations 0; killall Finder
  • Обновление системы:
    sudo softwareupdate -i -a
  • Очистка памяти :
    purge
  • Очистка корзины : sudo rm -rf ~/.Trash

Вместо «0″ и «1″ так же можно использовать Yes / No и TRUE / FALSE, это кому как удобнее и привычнее.

Когда при работе с Mac OS X надо сделать что-либо недоступное через графический интерфейс, бывает нужна старая добрая командная строка. Например, чтобы вставить разделительные пробелы в панель Dock или запустить системную утилиту, не имеющую графического интерфейса. Для работы с командной строкой в Mac OS X существует приложение Terminal.

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

Запускаем Terminal

Чтобы открыть Терминал, его, как и любое приложение, надо найти в Finder в папке Applications, он там располжен в подпапке Utilities (Программы → Служебные программы ). Это можно сделать быстро, нажав сочетание клавиш Shift+Command+U , также его можно закрепить в Dock, если вы планируете часто с ним работать. Я предпочитаю запускать его при помощи Spotlight .

При помощи горячих клавиш надо открыть строку поиска Spotlight и начать набирать слово terminal (обычно достаточно набрать только ter ) и, когда Spotlight найдёт Terminal, нажать ввод (return, он же enter) . Таким образом для запуска программы используется только клавиатура и получается быстрее, чем мышкой или трэкпадом.


Запуск Terminal из строки поиска Spotlight

Для того чтобы открыть Spotlight у меня назначена комбинация клавиш Option+Пробел , узнать какая комбинация назначена у вас или поменять комбинацию можно в System Preferences → Spotlight (Системные настройки → Spotlight) .


Настройка клавиш вызова поисковой строки Spotlight

Но вернёмся к Терминалу и командной строке.

Строка приглашения ввода

После запуска вы увидите такое окно. Точнее оно будет белым с чёрными буквами, но вы можете легко изменить оформление Terminal .

В первой строке отображается время последнего логина, имеется в виду время последнего запуска (открытия сессии) Терминала. Эта строка выводится один раз после открытия сессии командной строки.

Следующая строка называется строкой приглашения ввода от (англ. command prompt или просто prompt). Она говорит о том, что командная строка готова к вводу команд. В ней содержится следующая информация:

  • Имя компьютера. В моём случае это ixrevos‑macbook .
  • После двоеточия указана текущая директория. В данном случае это домашняя директория текущего пользователя /Users/ixrevo — в Unix-подобных системах домашняя директория отображается как символ тильда: ~ .
  • Потом отображается имя текущего пользователя, в моём случае это ixrevo .
  • И в конце строки — знак доллара $ .

Остановлюсь чуть подробнее на последнем символе строки ожидания ввода пользователя — он бывает трёх видов:

  • Первичный ввод текущего пользователя, обозначается знаком доллара $ . Означает, что командная строка запущена от имени текущего пользователя и ожидает ввод команды.
  • Первичный ввод суперпользователя, обозначается знаком решётки # . Означает, что командная строка запущена от имени суперпользователя (пользователь root с правами администратора) и ожидает ввод команды.
  • Вторичный ввод, обозначается знаком угловой скобки «больше чем» > . Означает, что была введена команда, для выполнения которой необходимо указать какие-либо параметры, и сейчас ожидается ввод этих параметров.

Ваша первая команда — листинг файлов — ls

Наберите в командной строке ls , что является сокращением от list , и нажмите ввод. Вы увидите список, в котором представлено содержимое текущей директории.

Не так и сложно, не правда ли? И по своей сути такой вывод не сильно отличается, если открыть содержимое этой же директории в Finder, используя привычный графический интерфейс.

Параметры и аргументы команды

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

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

У многих команд есть возможность указать параметр (опцию) или параметры, которые меняют поведение команды. Например, для команды ls можно указать аргумент ‑l , что является сокращением от long и значит полный вывод информации, и аргумент ‑a , что является сокращением от all и значит вывести всё содержимое, в том числе и скрытое. В таком случае команда с двумя аргументами будет выглядеть следующим образом: ls ‑la и выведет содержимое директории вместе с дополнительной информацией о каждой директории и файле.

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

Информацию в каждой колонке этой таблицы:

  1. Информация о правах доступа к файлу или директории.
  2. Цифра отображает количество жёстких ссылок на этот файл или директорию. Подробнее про ссылки можно прочитать в статье про файлы, директории, жёсткие и символьные ссылки в Mac OS X .
  3. Владелец текущего файла или директории.
  4. Имя группы пользователей, у которой назначены права доступа к этому файлу или директории.
  5. Размер файла в байтах. Если команде ls указать параметр -h , то размер будет отображаться в наиболее подходящих единицах (Byte, Kilobyte, Megabyte, Gigabyte, Terabyte и Petabyte) с целью уменьшить количество выводимых цифр и будет указана эта единица измерения.
  6. Дата последнего изменения или, если файл был только создан и не менялся после этого, дата создания файла.
  7. Имя файла или директории.

Также вы можете комбинировать аргумент и параметры при вызове команды, например, как на скриншоте ниже, где вызывается команда ls c аргументом /Users/ixrevo/.dropbox/ и параметрами ls ‑lah:


Указана опция ‑h и размер файлов отображается в Байтах, Килобайтах и Мегабайтах
  1. Используйте автодополнение ввода. Например, можно набрать только первые буквы команды и нажать клавишу Tab - и недостающие буквы команды будут автоматически добавлены. Если же существует несколько команд, начинающихся с тех же символов, которые вы ввели, то двойное нажатие Tab выведет все эти команды в качестве подсказки.
  2. Также используйте автодополнение для имён и путей к файлам и директориям. Работает аналогично автодополнению команд.
  3. Если в командной строке нажать клавишу вверх , то будет выведена последняя введённая вами команда. Нажимая дальше клавишу вверх вы будете перебирать историю выполненных вами команд. Полная история хранится в файле ~/.bash_history .
  4. Если ввести два восклицательных знака!! и нажать ввод , то вы выполните последнюю введённую команду. Также есть шорткат и для использования аргумента от предыдущей команды, для этого надо ввести имя_команды!$ и нажать ввод — вместо!$ будет подставлен аргумент от предыдущей команды.
  5. Если вы что-то напутали при вводе команд, то попробуйте нажать Control+C , это сочетание прекращает выполнение текущей команды и закрывает её. Также можно попробовать нажать q и Esc .
  6. Можно прочитать руководство к любой команде и узнать что она делает, какие у неё есть параметры и аргументы. Для этого надо набрать man имя_команды.

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

Работаем в терминале OS X – это аналог командной строки Windows

Научимся тому, как открыть файлы и папки в OS X из терминала

Использование терминала в системе Mac OS X считается нормой для продвинутых пользователей операционной системы Mac OS X. Именно из командной строки (в нашем случае она называется терминал) можно произвести расширенные настройки операционной системы или открыть приложение под определенными правами. Хочу заметить, что многие пользователи работают в терминале, как в многофункциональном инструменте, который прекрасно вписывается в стандартный набор повседневных действий. Например, запуск приложений, так давайте именно этим сегодня и займемся. Разбираемся с терминалом (командной строкой) Mac OS X. Итак, сегодня мы учимся открывать приложения из терминала Mac OS X.

Можно начать с простого запуска приложения из-под операционной системы Mac OS X. Для этого нам необходимо проложить полный путь к исполняемому файлу этого приложения. Я могу предположить, что вы не знаете, где именно находится этот файл, но как показывает практика путь всегда один. Из под учетной записи набираем Application (ведь нас интересует приложение) - затем название приложения (в нашем случае Sublime Text 2) - Далее папки всегда одинаковые - Contents - MacOS - название нашего приложения Sublime Text 2. В полном виде - это представлено ниже:

/Applications/Sublime\ Text\ 2.app/Contents/MacOS/Sublime\ Text\ 2


Хочу заметить, путь к корню, где лежит исполняемый файл, проходит через несколько папок, каждая папка отделяется косой чертой /Application/Sublime\ Text \ 2.app/. Где есть две папки Application и Sublime Text 2.app. Как вы могли заметить, косые в название Sublime Text обращены в обратную сторону, так отделяются пробелы, которые присутствуют в название папки.

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

Вам может потребоваться управлять приложением из-под другого пользователя операционной системы Mac OS X. Для того, чтобы сменить пользователя под которым вы работаете необходимо набрать команду su. Таким образом, вы смените права, если до этого вы работали не под администратором (только вам необходимо знать пароль администратора).


Хочу обратить ваше внимание на то, что разные программы реагируют по-разному на открытие из Терминала. Я говорю о том, что у вас может быть открыто несколько копий одного приложения, и они прекрасно могут взаимодействовать друг с другом. Но есть риск при открытии какого-нибудь приложения, заменить открытую версию и потерять все несохраненные данные. Таким образом, мы получаем два варианта при открытии уже запущенного приложения. Либо оно функционирует как полноценная копия, либо все данные из открытой ранее версии будут потеряны, а приложение будет открыто с чистого листа.

Помимо этого стоит помнить условия запуска приложения из командной строки Mac OS X, если вы открываете приложение из командной строки (Терминала), сам терминал не должен быть закрыт, так как вместе с ним закроется приложение открытое таким способом.

Работает в терминале. Команда открытия приложения “Open”

Ранее мы рассмотрели метод запуска приложения из командной строки при котором нам необходимо указывать полный путь к приложению. Метод не такой очевидный как команда "Open". Все дело в том, что команда Open в командной строке Mac OS X имеет ряд каественных преимуществ.

Если вы открываете приложение командой "Open", вам не нужно знать полного пути к исполняемому файлу, плюс, вам не нужно держать в рабочем состояние Терминал.

Итак, простой командой open -a “название приложения в кавычках” мы открываем наше приложение:

open -a "Sublime Text 2"


Каждый раз открывая приложение через командную строку OS X вы как бы заново перезапускаете приложение. Но можно изменить параметры запуска и добавить специальный ключ, после чего ваше приложение будет окрываться отдельной копией. Все что от вас требуется, это запускать приложение с ключом -n.


Я это проделал в своем примере, и вот что у меня получилось. См. картинку.

Можно представить, какой шквал камней пронзит воздух в ответ на заявление, что стандартный вид командной строки просто скучен. Ну да ладно, скучен, так скучен. Всего несколько простых приемов настройки - и цветовую палитру «блочной утилиты «Терминал» (Terminal) можно значительно расширить. Что, кстати, может упростить считывание текстовой информации.

Bash-приглашение, команда ls и цвета символов

Для необходимого минимума давайте улучшим строку приглашения, разнообразим вывод команды ls и включим отображение цветов. Все это можно сделать, подредактировав содержимое файла .bash_profile или .bashrc , который расположен в домашнем каталоге. В этом примере рассмотрим работу с первым файлом:

  • Откройте «Терминал» и введите команду nano .bash_profile .
  • Вставьте следующие строки:
export PS1="u@h:w$ " export CLICOLOR=1 export LSCOLORS=ExFxBxDxCxegedabagacad alias ls="ls -GFh"
  • Нажмите клавиши control +O , чтобы сохранить изменения, и control +X , чтобы выйти из нано-редактора.

Первая строка указывает, чтобы строка приглашения консольной bash-оболочки стала отображаться в цвете, а формат ее стал вида имя_пользователя@имя_машины:cwd $ . Следующие две строки включают для командной строки поддержку цвета и настраивают отображение вывода команды ls .

В последней строке мы ссылаемся на команду ls, включив в это обращение несколько флагов. Флаг -G включает цвет в выходном потоке команды, -h переводит числовые значения в понятные пользователю единицы измерения, а -F добавляет символ косой черты (/) после имени каталогов.

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

После выполнения всех действий откройте новое окно «Терминала», запустите команду ls - и вы увидите разницу.

Жирный шрифт, ANSI-цвета и яркие оттенки

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

  • Нажав клавиши command +, - или выбрав команду меню Терминал > Настройки (Terminal > Preferences) , - откройте окно настройки командной строки и перейдите на вкладку Настройки (Settings) .
  • Слева выберите какой-нибудь схему-профиль, и на вкладке Текст (Text) включите параметры Использовать жирные шрифты (Use Bold Fonts) и Использовать яркие цвета для жирного шрифта (Use bright colors for bold text) .

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

Фон: прозрачность, размывка и обои

После настройки «колоризации» командной строки можно перейти к параметрам фона окон «Терминала»:

  • В том же окне настройки утилиты выберите нужный пункт в списке профилей и перейдите на вкладку Окно (Window) .
  • Щелкните на кнопке Цвет и эффекты (Color & Effects) , чтобы выбрать цвет фона, степерь его прозрачности и размывки. Совет: приятный вариант, когда прозрачность установлена на 80, а размывка - на 100 %.
  • Щелкните на выпадающем списке Изображение (Image) , чтобы выбрать фоновое изображение. Желательно соблюдать принцип: темные картинки - для темных, светлые - для светлых профилей.

Как найти файлы и папки в терминале OSX?

Какие существуют команды для поиска в терминале OSX?

Не для кого не секрет, что терминал в Mac OS X выступает, как сильная среда, в которой вы получаете доступ к скриптовым инструментам, которые способны организовать ваши рабочие процессы в операционной системе Mac OS X; собрать информацию, сформировать отчеты - воспользоваться вашим “маком”, качественно новыми способами. Вообще, просто не передать словами, когда без использования мыши и графического окружения, вы способны проделывать достаточно сложный операции, исключительно из командной строки вашего устройства под управлением Mac OS X. Безусловно, работа в терминале Mac OS X требует определенных знаний, уровнем выше, чем просто - пользователь компьютера. Но изучая компьютерные технологии, я также определил для себя, что начало - это любой этап в той или иной области. Ты начинаешь изучать, читать, восполнять пробелы знаний, которых не достаточно. Так и с командной строкой в Mac OS X. В ней нет определенных операций, которые нужно начинать изучать поэтапно. Вы либо знаете о тех или иных особенностях и функциональных возможностях, либо нет. Итак, сегодня учимся искать файлы в терминале Mac OS X. Очередная статья про командную строку в Mac OS X.

С чего начинается поиск в OS X, когда мы работаем с графической средой? Все просто, мы вызываем Finder , и нажимаем сочетание клавиш Command + F (на раскладке macbook клавиша слева, рядом с пробелом). Нажав сочетание для вызова поиска, мы просто вбиваем текст в соответствующее поле, и получаем наиболее полную информацию по интересующим нас критериям.

А как это происходит в командной строке? На самом деле поиск в командной строке Mac OS X также прост. Вам потребуется знать всего три основные команды поиска: "Find" , "mdfind" , "locate" . После ввода этих команд и указания всех параметров поиска, ваша поисковая выдача наполнится результатами с демонстрацией полного пути к файлам наиболее четко соответствующим введенному запросу.

Команда Find

Базовая команда поиска не только в операционной системе Mac OS X, но и на всех других Unix системах. Я говорю о том, что этот вариант поиска работает в других операционных системах, отличных от Mac OS X. Чтобы команда выполнялась корректно ей необходимо создать ряд условий:

1. Вы определяете область по которой будет происходить поиск;

2. Затем указываете имена файлов которые вам необходимы.

Не так много условий, но как только они будут выполнены, перед вами появится окно результатов поиск в командной строке Mac OS X, где будут указан полный путь к найденным файлам.

Так в примере выше, я воспользовался командой "find" в терминале Mac OS X (командной строке), для поиска файла с именем "Finder". В принципе условия поиска были достаточно простыми, ведь я знал расположение файла, знал его имя, и все что мне было необходимо - это ввести данные. Первое, что я сделал, это написал саму команду, далее путь к файлу, обозначил условие поиска "-name", и после условия ввел его значение - файл Finder.txt.

Стоит понимать, что мой пример примитивный, а поиск может происходит по любым параметрам, которые только пожелаете, и как может себе позволить "find" (команда поиска) в операционной системе Mac OS X (-type (поиск по определенному типу), -size (поиск по размеру файла) и т.д.).

Узнать о том какие условия доступны из командной строки для операторов "find" в Mac OS X можно набрав "man find" . Появится полное описание команды. Как только закончите его читать нажмите Ctrl + Z.

Команда Locate

Найти что-либо в Unix системах быстрее чем в других ОС. Все дело в том, что поиск в Unix достаточно разнообразен. Ведь с одной стороны у вас есть команда "Find" . Ее функционал был продемонстрирован выше, но она эффективна в том случае, когда вы точно знаете место размещения, или у вас есть время для ожидания. Так как поиск "в слепую" при помощи команды "Find", может занять достаточно много времени. Так как объем сканируемого пространства в современных жестких дисках достигает внушающих размеров.

Поэтому, если вам необходимо найти системные файлы, необходимо воспользоваться специальной командой поиска "locate" . Правда для этого сначала необходимо включить специальную базу данных. Для начала вводим следующую строку в терминале OS X:

Sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist

Данная инструкция заставит активироваться в вашей системе демона, который проиндексирует вашу систему и позволит работать с командой "locate" в терминале операционной системы OS X. Как я уже говорил команда locate направлена для поиска по системным файлам. Именно для этого ее и необходимо использовать. Так как в поисковый индекс не попадут пользовательские файлы. Кстати, не пытайтесь воспользоваться поиском при помощи locate сразу. База должна быть создана. Но как только процесс будет завершен, можно воспользоваться следующей конструкцией - пишем locate имя файла.

Команда mdfind

Эта команда представляет собой поисковый алгоритм в системах OS X только без графического окружения. Да, mdfind - это Spotlight, только без красивых кнопок, и с более трудными для понимания настройками.

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

Введя простую инструкцию mdfind OSX. Будут найдены все документы с содержанием как внутри так и в название "OSX". Но такой поиск слишком широк, нам не нужна поисковая выдача содержащая несколько сотен объектов, и поэтому в команде mdfind приветствуется использование флагов. Таких как флаг "-onlyin" который дает возможность воспользоваться командой mdfind , но только по определенной конструкции, когда поиск будет производится в том месте который мы теперь можем указать (теперь, после ввода флага "-onlyin").

Кстати, если использовать "-onlyin" в директории (указывать путь поиска и заканчивать на директории) то поиск будет осуществляется в конечной папке и уровнями ниже. При этом если указать в конце файл, поиск будет производится в конкретном файле.

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