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, то соответствующий файл не будет найден, и на выходе появится ошибка:

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

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». Команда поможет быстро узнать размер конкретного файла или папки, или даже списка файлов внутри папки.

Читайте также:  Отключение ненужных служб windows 10 навсегда

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ls -la /System/Library

mkdir

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

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

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

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

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

rm -R /Users/Yablykworld/Desktop/Yablyk_Folder

Источник

Консоль для маководов: Beyond the GUI

Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление

Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell’а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux’а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Читайте также:  Как удалить последние установленные обновления windows

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.

Начнём работу


Для начала избавимся от стандартного терминала. Ну, точнее, поставим другой — получше. Я лично предпочитаю 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, док и лаунчер запустить два экземпляра программы нельзя, а вот из консоли — пожалуйста, хоть двадцать два.

Читайте также:  Wpi для windows 10 beloff

Скрипт?

Расскажу вкратце что из себя представляет 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-скриптинг да и вообще в консоль.

Источник

Оцените статью