MacOS Command Line

Внешний вид

Прозрачность

Прозрачность в меню и окнах

# Снизить прозрачность

defaults write com.apple.universalaccess reduceTransparency -bool true

# Восстановить стандартные настройки прозрачности

defaults write com.apple.universalaccess reduceTransparency -bool false

Обои

Установить обои

# до Mountain Lion

osascript -e 'tell application "Finder" to set desktop picture to POSIX file "/path/to/picture.jpg"'

# начиная с Mavericks

sqlite3 ~/Library/Application\ Support/Dock/desktoppicture.db "update data set value = '/path/to/picture.jpg'" && killall Dock

Приложения

App Store

Список всего скачанного с App Store

# через find

find /Applications -path '*Contents/_MASReceipt/receipt' -maxdepth 4 -print |\sed 's#.app/Contents/_MASReceipt/receipt#.app#g; s#/Applications/##'

# через Spotlight

mdfind kMDItemAppStoreHasReceipt=1

Отобразить Debug меню

работает до Yosemite.

# Включить

defaults write com.apple.appstore ShowDebugMenu -bool true

# Отключить (по-умолчанию)

defaults write com.apple.appstore ShowDebugMenu -bool false

Apple Remote Desktop

Kickstart Manual Pages

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help

Активировать и деактивировать ARD агент и помощник

# активировать и перезагрузить ARD Agent и помощник

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -restart -agent -console

# деактивировать и остановить сервис удаленного управления

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -stop

Включить и отключить общий доступ к удаленному рабочему столу

# разрешить всех пользователей и предоставить всем пользователям полный доступ

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all

# отключить ARD агент и удалить привилегии для всех пользователей

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off

Удалить настройкиApple Remote Desktop

sudo rm -rf /var/db/RemoteManagement ; \
sudo defaults delete /Library/Preferences/com.apple.RemoteDesktop.plist ; \
defaults delete ~/Library/Preferences/com.apple.RemoteDesktop.plist ; \
sudo rm -r /Library/Application\ Support/Apple/Remote\ Desktop/ ; \
rm -r ~/Library/Application\ Support/Remote\ Desktop/ ; \
rm -r ~/Library/Containers/com.apple.RemoteDesktop

Контакты

Режим Debug

# Включить
defaults write com.apple.addressbook ABShowDebugMenu -bool true

# Отключить (по-умолчанию)
defaults write com.apple.addressbook ABShowDebugMenu -bool false

Google

Удалить Google Update

~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --nuke

iTunes

Медиа клавиши на клавиатуре

Это работает вплоть до Yosemite. Системная защита целостности введённая в El Capitan выгрузку агентов запуска системы.

# Stop Responding to Key Presses
launchctl unload -w /System/Library/LaunchAgents/com.apple.rcd.plist

# Respond to Key Presses (Default)
launchctl load -w /System/Library/LaunchAgents/com.apple.rcd.plist

Начиная с El Capitan, вы можете отключить SIP или прибегнуть к своеобразному Хаку, который сделает iTunes недоступным для любого пользователя, эффективно предотвращая его от запуска себя или своих помощников. Имейте в виду, что для всех целей и задач это сломает ваш iTunes и может конфликтовать с обновлениями ОС в будущем.

sudo chmod 0000 /Applications/iTunes.app

Почта

Показывать вложения в виде иконок

defaults write com.apple.mail DisableInlineAttachmentViewing -bool yes

Пустой индекс почты

AppleScript ниже закроет прилоежение Mail, очистит SQLite индекс, потом откроет Mail. При большой базе писем оптимизация пройдёт не быстро, On a large email database that hasn’t been optimized for a while, это может обеспечить значительные улучшения в отзывчивости и скорости.

(*
Speed up Mail.app by vacuuming the Envelope Index
Code from: http://web.archive.org/web/20071008123746/http://www.hawkwings.net/2007/03/03/scripts-to-automate-the-mailapp-envelope-speed-trick/
Originally by "pmbuko" with modifications by Romulo
Updated by Brett Terpstra 2012
Updated by Mathias Törnblom 2015 to support V3 in El Capitan and still keep backwards compatibility
Updated by Andrei Miclaus 2017 to support V4 in Sierra
*)


tell application "Mail" to quit
set os_version to do shell script "sw_vers -productVersion"
set mail_version to "V2"
considering numeric strings
if "10.10" <= os_version then set mail_version to "V3"
if "10.12" <= os_version then set mail_version to "V4"
if "10.13" <= os_version then set mail_version to "V5"
if "10.14" <= os_version then set mail_version to "V6"
end considering

set sizeBefore to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}"
do shell script "/usr/bin/sqlite3 ~/Library/Mail/" & mail_version & "/MailData/Envelope\\ Index vacuum"

set sizeAfter to do shell script "ls -lnah ~/Library/Mail/" & mail_version & "/MailData | grep -E 'Envelope Index$' | awk {'print $5'}"

display dialog ("Mail index before: " & sizeBefore & return & "Mail index after: " & sizeAfter & return & return & "Enjoy the new speed!")

tell application "Mail" to activate

Safari

Изменить стандартные шрифты

defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2StandardFontFamily Georgia defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFontSize 16 defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2FixedFontFamily Menlo defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DefaultFixedFontSize 14

Включить меню разработчика и  Web инспектор

defaults write com.apple.Safari IncludeInternalDebugMenu -bool true && \ defaults write com.apple.Safari IncludeDevelopMenu -bool true && \ defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true && \ defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true && \ defaults write -g WebKitDeveloperExtras -bool true

Получение Текущих Данных Страницы

Другие опции:

get source

get text

.

osascript -e 'tell application "Safari" to get URL of current tab of front window'

Использовать Backspace/Delete для перехода на предыдущую страницу

# Включить
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool YES

# Отключить
defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2BackspaceKeyNavigationEnabled -bool NO

Sketch

Экспорт в SVG

defaults write com.bohemiancoding.sketch3 exportCompactSVG -bool yes

Терминал

Фокус следует за мышью

# Включить

defaults write com.apple.Terminal FocusFollowsMouse -string YES

# Отключить

defaults write com.apple.Terminal FocusFollowsMouse -string NO

TextEdit

Использовать режим обычного текста по умолчанию

defaults write com.apple.TextEdit RichText -int 0

Visual Studio Code

Исправить VSCodeVim Key Repeat

defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false

Backup

Time Machine

Изменение Интервала Резервного Копирования

Это изменяет интервал на 30 минут. Целочисленное значение-это время в секундах.

sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto StartInterval -int 1800

Локальное резервное копирование

Выполняет ли Time Machine локальное резервное копирование, если том резервного копирования Time Machine недоступен.

# Статус

defaults read /Library/Preferences/com.apple.TimeMachine MobileBackups

# Включить (По Умолчанию)

sudo tmutil enablelocal

# Отключить

sudo tmutil disablelocal

Начиная с High Sierra невозможно отключить локальные моментальные снимки. Теперь Time Machine всегда создает локальный снимок APFS и использует этот снимок в качестве источника данных для создания обычной резервной копии, а не в качестве источника, как в случае с дисками с форматированием HFS.

Запретить Time Machine запрашивать использование новых жестких дисков в качестве Тома резервной копии

sudo defaults write /Library/Preferences/com.apple.TimeMachine DoNotOfferNewDisksForBackup -bool true

Показать логи Time Machine

Этот маленький скрипт выведет последние 12 часов работы Time Machine, за которыми последует живая активность.

#!/bin/sh

filter='processImagePath contains "backupd" and subsystem beginswith "com.apple.TimeMachine"'

# show the last 12 hours
start="$(date -j -v-12H +'%Y-%m-%d %H:%M:%S')"

echo ""
echo "[History (from $start)]"
echo ""

log show --style syslog --info --start "$start" --predicate "$filter"

echo ""
echo "[Following]"
echo ""

log stream --style syslog --info --predicate "$filter"

Переключение резервного копирования во время работы от батареи

# Status sudo defaults read /Library/Preferences/com.apple.TimeMachine RequiresACPower # Enable (Default) sudo defaults write /Library/Preferences/com.apple.TimeMachine RequiresACPower -bool true # Disable sudo defaults write /Library/Preferences/com.apple.TimeMachine RequiresACPower -bool false

Проверка Резервного Копирования

Начиная с OS X 10.11 Time Machine записывает контрольные суммы файлов, скопированных в моментальные снимки. Контрольные суммы не вычисляются задним числом для файлов, скопированных более ранними выпусками OS X.

sudo tmutil verifychecksums /path/to/backup

Разработчики

Vim

Установить нормальный Vim

Установить MacVim через Homebrew со всеми наворотами, включая определение системы Vim.

brew install macvim --HEAD

Neovim

Установить Install the modern Vim drop-in alternative via Homebrew.

brew install neovim

Xcode

Установить Command Line Tools без Xcode

xcode-select --install

Удалить все недоступные симуляторы

xcrun simctl delete unavailable

Док

Добавить полку с недавними приложениями

defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }' && \

killall Dock

Добавить Безымянную папку и уменьшить расстояния

defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = {}; "tile-type"="small-spacer-tile"; }' && \
killall Dock

Увеличить расстояния

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && \
killall Dock

Добавить небольшое пространство

defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="small-spacer-tile";}' && \
killall Dock

Автоматическое изменение порядка пространств на основе последнего использования

# Включить (по-умолчанию)
defaults write com.apple.dock mru-spaces -bool true && \
killall Dock

# Отключить
defaults write com.apple.dock mru-spaces -bool false && \
killall Dock

Автоскрытие

# Включить
defaults write com.apple.dock autohide -bool true && \
killall Dock

# Отключить (по-умолчанию)
defaults write com.apple.dock autohide -bool false && \
killall Dock

Подпрыгивание иконок

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

# Включить (по-умолчанию)
defaults write com.apple.dock no-bouncing -bool true && \
killall Dock

# Отключить
defaults write com.apple.dock no-bouncing -bool false && \
killall Dock

Блокировка размера дока

# Включить
defaults write com.apple.Dock size-immutable -bool yes && \
killall Dock

# Отключить (по-умолчанию)
defaults write com.apple.Dock size-immutable -bool no && \
killall Dock

Сбросить настройки дока

defaults delete com.apple.dock && \
killall Dock

Изменить размер

Полностью измените размер дока. Чтобы изменить размер, измените значение 0 на целое число.

defaults write com.apple.dock tilesize -int 0 && \
killall Dock

Жесты прокрутки

Используйте сенсорную панель или колесо прокрутки мыши для взаимодействия с элементами дока. Позволяет использовать жест прокрутки вверх для открытия стеков. Использование того же жеста в запущенных приложениях вызывает Exposé/Mission Control.

# Включить
defaults write com.apple.dock scroll-to-open -bool true && \
killall Dock

# Отключить (по-умолчанию)
defaults write com.apple.dock scroll-to-open -bool false && \
killall Dock

Установить задержку перед показом/скрытием

Число float определяет задержку показа/скрытия в мс.

defaults write com.apple.dock autohide-time-modifier -float 0.4 && \
defaults write com.apple.dock autohide-delay -float 0 && \
killall Dock

Показать Скрытые Значки Приложений

# Включить
defaults write com.apple.dock showhidden -bool true && \
killall Dock

# Отключить (по-умолчанию)
defaults write com.apple.dock showhidden -bool false && \
killall Dock

Показывать только активные приложения

# Включить
defaults write com.apple.dock static-only -bool true && \
killall Dock

# Отключить (по-умолчанию)
defaults write com.apple.dock static-only -bool false && \
killall Dock

Режим одного приложения

При нажатии на значок приложения в Dock соответствующие окна будут отображаться спереди, но все остальные окна приложений будут скрыты.

# Включить
defaults write com.apple.dock single-app -bool true && \
killall Dock

# Отключить (по-умолчанию)
defaults write com.apple.dock single-app -bool false && \
killall Dock

Документы

Конвертировать файл в HTML

Поддерживаемые форматы: обычный текст, форматированный текст (rtf) и Microsoft Word (doc/docx).

textutil -convert html file.ext

Файлы, диски и Тома

Создать пустой файл

Создать пустой файл размером 10гб

mkfile 10g /path/to/file

Отключить Датчик Внезапного Движения

Если вы используете только твердотельные накопители, его использование бесполезно

sudo pmset -a sms 0

Извлечение Всех Монтируемых Томов

Единственный надежный способ сделать это-отправить команду AppleScript в Finder.

osascript -e 'tell application "Finder" to eject (every disk whose ejectable is true)'

Восстановление Прав Доступа К Файлам

Для этого не обязательно использовать графический интерфейс Дисковой утилиты.

sudo diskutil repairPermissions /

Начиная с OS X El Capitan, права доступа к системным файлам автоматически защищаются. В этом больше нет необходимости, чтобы проверить или восстановить права в Дисковой утилите. (Source)

Установка Загрузочного Тома

# Вплоть до Yosemite
bless --mount "/path/to/mounted/volume" --setBoot

# Начиная с El Capitan
sudo systemsetup -setstartupdisk /System/Library/CoreServices

Показать все подключенные диски и разделы

diskutil list

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

Непрерывный поток информации о доступе к файловой системе.

sudo fs_usage

APFS

Доступна с High Sierra. Нет никакой центральной утилиты, и использование непоследовательно, поскольку большая часть функциональности свернута в tmutil

Преобразование Тома из HFS+ в APFS

/System/Library/Filesystems/apfs.fs/Contents/Resources/hfs_convert /path/to/file/system

Создание новой файловой системы APFS

/System/Library/Filesystems/apfs.fs/Contents/Resources/newfs_apfs /path/to/device

Создание Моментального Снимка

tmutil localsnapshot

Удаление Моментального Снимка

tmutil deletelocalsnapshots com.apple.TimeMachine.2018-01-26-044042

Список Снимков

tmutil listlocalsnapshots /

Монтирование снимка

Снимки доступны только для чтения.

mkdir ~/mnt

/System/Library/Filesystems/apfs.fs/Contents/Resources/mount_apfs -s com.apple.TimeMachine.2018-01-26-044042 / ~/mnt

Образ диска

Создание Образа Диска Из Содержимого Папки

hdiutil create -volname "Volume Name" -srcfolder /path/to/folder -ov diskimage.dmg

Если вы хотите зашифровать образ диска:

hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmg

По умолчанию, вам будет предложено ввести пароль. Вы можете автоматизировать это, введя пароль:

echo -n YourPassword | hdiutil create -encryption -stdinpass -volname "Volume Name" -srcfolder /path/to/folder -ov encrypted.dmg

Запись образов дисков на DVD

Эта команда применима к .iso, .img и .dmg образам.

hdiutil burn /path/to/image_file

Отключить Проверку Образа Диска

defaults write com.apple.frameworks.diskimages skip-verify -bool true && \
defaults write com.apple.frameworks.diskimages skip-verify-locked -bool true && \
defaults write com.apple.frameworks.diskimages skip-verify-remote -bool true

Сделать загрузочный образ OSX

bless --folder "/path/to/mounted/volume/System/Library/CoreServices" --bootinfo --bootefi

Смонтировать Образ Диска

hdiutil attach /path/to/diskimage.dmg

Размонтировать Образ Диска

hdiutil detach /dev/disk2s1

Запись образа диска на том

Как функция «восстановления» Дисковой утилиты.

sudo asr -restore -noverify -source /path/to/diskimage.dmg -target /Volumes/VolumeToRestoreTo

Finder

Рабочий стол

Показать Внешние Носители

Внешние жесткие диски, флэш-накопители и т. д.

# Включить
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true && \
killall Finder

# Отключить (по-умолчанию)
defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool false && \
killall Finder

Показать Внутренние Носители

Встроенные HDD или SSD.

# Включить
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true && \
killall Finder

# Отключить (по-умолчанию)
defaults write com.apple.finder ShowHardDrivesOnDesktop -bool false && \
killall Finder

Показать Съемный Носитель

CDs, DVDs, iPods, и т.п.

# Включить
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true && \
killall Finder

# Отключить (по-умолчанию)
defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool false && \
killall Finder

Показать Сетевые Тома

AFP, SMB, NFS, WebDAV, и т.п.

# Включить
defaults write com.apple.finder ShowMountedServersOnDesktop -bool true && \
killall Finder

# Отключить (по-умолчанию)
defaults write com.apple.finder ShowMountedServersOnDesktop -bool false && \
killall Finder

Файлы и папки

Очистить Все Списки Управления Доступом

sudo chmod -RN /path/to/folder

Скрыть папку в Finder

chflags hidden /path/to/folder/

Показать Все Расширения Файлов

defaults write -g AppleShowAllExtensions -bool true

Показать Скрытые Файлы

# Показать все
defaults write com.apple.finder AppleShowAllFiles true

# Восстановление Видимости Файлов По Умолчанию
defaults write com.apple.finder AppleShowAllFiles false

Удалить Защищенный Флаг

sudo chflags -R nouchg /path/to/file/or/folder

Показывать полный путь в заголовке окна Finder

defaults write com.apple.finder _FXShowPosixPathInTitle -bool true

Показать папку Library пользователя

chflags nohidden ~/Library

Увеличение количества последних мест

defaults write -g NSNavRecentPlacesLimit -int 10 && \ killall Finder

Компоновка

Показать Пункт Меню «Quit Finder»

Позволяет увидеть пункт меню Finder «Quit Finder» с ярлыком по умолчанию Cmd + Q

# Включить
defaults write com.apple.finder QuitMenuItem -bool true && \
killall Finder

# Отключить (по-умолчанию)
defaults write com.apple.finder QuitMenuItem -bool false && \
killall Finder

Плавная Прокрутка

Useful if you’re on an older Mac that messes up the animation.

# Отключить
defaults write -g NSScrollAnimationEnabled -bool false

# Включить (по-умолчанию)
defaults write -g NSScrollAnimationEnabled -bool true

Прокрутка рывками

# Отключить
defaults write -g NSScrollViewRubberbanding -bool false

# Включить (по-умолчанию)
defaults write -g NSScrollViewRubberbanding -bool true

Разверните панель сохранить по умолчанию

defaults write -g NSNavPanelExpandedStateForSaveMode -bool true && \
defaults write -g NSNavPanelExpandedStateForSaveMode2 -bool true

Видимость Значков На Рабочем Столе

# Скрыть иконки
defaults write com.apple.finder CreateDesktop -bool false && \
killall Finder

# Отображать иконки (по-умолчанию)
defaults write com.apple.finder CreateDesktop -bool true && \
killall Finder

Полоса Пути

# Отображать
defaults write com.apple.finder ShowPathbar -bool true

# Скрыть (по-умолчанию)
defaults write com.apple.finder ShowPathbar -bool false

Видимость Полосы Прокрутки

Возможное значение: WhenScrolling, Automatic и Always.

defaults write -g AppleShowScrollBars -string "Always"

строка состояния

# Отображать
defaults write com.apple.finder ShowStatusBar -bool true

# Скрыть (по-умолчанию)
defaults write com.apple.finder ShowStatusBar -bool false

Сохранить на диск по умолчанию

Устанавливает цель сохранения по умолчанию как локальный диск, а не iCloud.

defaults write -g NSDocumentSaveNewDocumentsToCloud -bool false

Установить текущую папку в качестве области поиска по умолчанию

defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"

Установить в Finder по умолчанию домашнюю папку

defaults write com.apple.finder NewWindowTarget -string "PfLo" && \
defaults write com.apple.finder NewWindowTargetPath -string "file://${HOME}"

Установить Размер Значков в Боковой Панели

Устанавливает размер «средний».

defaults write -g NSTableViewDefaultSizeMode -int 2

Файлы с метаданными

Отключить создание файлов метаданных на сетевых томах

Избегает создания .DS_Store и AppleDouble файлов.

defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true

Отключить создание файлов метаданных на томах USB

Избегает создания .DS_Store и AppleDouble файлы.

defaults write com.apple.desktopservices DSDontWriteUSBStores -bool true

Разное

Изменить рабочий каталог на путь в Finder

Если открыто несколько окон, выбирается самое верхнее.

cd "$(osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)')"

Открыть URL

open https://github.com

Открыть файл

open README.md

Открытие приложений

Вы можете открывать приложения используя -a

open -a "Google Chrome" https://github.com

Открыть папку

open /path/to/folder/

Открыть текущую папку

open .

Шрифты

Очистить кэш шрифтов для текущего пользователя

Чтобы очистить кэш шрифтов для всех пользователей, добавьте

sudo

вначале команды

atsutil databases -removeUser && \
atsutil server -shutdown && \
atsutil server -ping

Получить шрифты SF Mono

Для этого необходимо загрузить и установить бета-версию Xcode 8. После этого они должны быть доступны во всех приложениях.

cp -v /Applications/Xcode-beta.app/Contents/SharedFrameworks/DVTKit.framework/Versions/A/Resources/Fonts/SFMono-* ~/Library/Fonts

Начиная со Sierra, они включены в Terminal.app.

cp -v /Applications/Utilities/Terminal.app/Contents/Resources/Fonts/SFMono-* ~/Library/Fonts

Аппаратная часть

Bluetooth

# Статус
defaults read /Library/Preferences/com.apple.Bluetooth ControllerPowerState

# Включить (по-умолчанию)
sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 1

# Отключить
sudo defaults write /Library/Preferences/com.apple.Bluetooth ControllerPowerState -int 0 && \
sudo killall -HUP blued

Жесткие диски

Принудительно Включить TRIM

Включить Trim для SSD, отличных от Apple. Эта команда доступна начиная с Yosemite.

forcetrim

Информация Об Оборудовании

Список Всех Аппаратных Портов

networksetup -listallhardwareports

Оставшийся Процент Батареи

pmset -g batt | egrep "([0-9]+\%).*" -o --colour=auto | cut -f1 -d';'

Оставшееся Время Работы От Батареи

pmset -g batt | egrep "([0-9]+\%).*" -o --colour=auto | cut -f3 -d';'

Показать подключенные UDID устройства

system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p' -e '/iPhone/,/Serial/p'

Показать Текущее Разрешение Экрана

system_profiler SPDisplaysDataType | grep Resolution

Показать CPU Brand String

sysctl -n machdep.cpu.brand_string

инфракрасный приемник

# Статус
defaults read /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled

# Включить (по-умолчанию)
defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 1

# Отключить
defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -int 0

Управление питанием

Предотвращение перехода в сон

Не переходить в сон в течении 1 часа:

caffeinate -u -t 3600

Показать Все Параметры Управления Питанием

sudo pmset -g

Перевести дисплей в спящий режим после 15 минут бездействия

sudo pmset displaysleep 15

Перевести компьютер в спящий режим после 30 минут бездействия

sudo pmset sleep 30

Проверка Времени Бездействия Системы

sudo systemsetup -getcomputersleep

Установить время простоя системы в режиме ожидания до 60 минут

sudo systemsetup -setcomputersleep 60

Полностью отключить режим сна

sudo systemsetup -setcomputersleep Never

Автоматический перезапуск при замораживании системы

sudo systemsetup -setrestartfreeze on

Воспроизвести звук при подключении зарядки

Воспроизведение звука зарядки iOS при подключении MagSafe.

# Включить
defaults write com.apple.PowerChime ChimeOnAllHardware -bool true && \
open /System/Library/CoreServices/PowerChime.app

# Отключить (по умолчанию)
defaults write com.apple.PowerChime ChimeOnAllHardware -bool false && \
killall PowerChime

Устройства ввода

Клавиатура

Автоисправление

# Отключить
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false

# Включить (по умолчанию)
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool true

# Посмотреть статус
defaults read -g NSAutomaticSpellingCorrectionEnabled

Полный доступ к клавиатуре

Включить вкладки в модальных окнах

# Только текстовые поля и списки(по умолчанию)
defaults write NSGlobalDomain AppleKeyboardUIMode -int 0

# Полный контроль
defaults write NSGlobalDomain AppleKeyboardUIMode -int 3

Повтор клавиши

Отключите поведение «нажмите и удерживайте» по умолчанию.

# Включить Повторение Клавиш
defaults write -g ApplePressAndHoldEnabled -bool false

# Отключить Повторение Клавиш
defaults write -g ApplePressAndHoldEnabled -bool true

Частота повтора клавиши

Устанавливает очень быструю частоту повтора, выставите по вкусу нужную.

defaults write -g KeyRepeat -int 0.02

Launchpad

Сброс Launchpad

Вам нужно перезагрузить Док потому что Launchpad зависит от этого.

# до Yosemite
rm ~/Library/Application\ Support/Dock/*.db && \
killall Dock

# начиная с El Capitan
defaults write com.apple.dock ResetLaunchPad -bool true && \
killall Dock

Медиа

Аудио

Конвертировать аудиофайл в рингтон для iPhone

afconvert input.mp3 ringtone.m4r -f m4af

Создание аудио книги из текста

Использовать голос «Alex», простой текстовый файл в кодировке UTF-8 для ввода и вывода в AAC

say -v Alex -f file.txt -o "output.m4a"

Отключить звуковые эффекты при загрузке

sudo nvram SystemAudioVolume=" "

Выключить звук

osascript -e 'set volume output muted true'

Выставить громкость

osascript -e 'set volume 4'

Воспроизвести аудиофайл

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

afplay -q 1 filename.mp3

Произнести текст стандартным голосом выбранным в системе

say 'All your base are belong to us!'

Видео

Автоматическое воспроизведение видео в QuickTime плеере

defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1

Сеть

Bonjour

Bonjour сервис

# Отключить
sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array-add "-NoMulticastAdvertisements"

# Включить (по-умолчанию)
sudo defaults write /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist ProgramArguments -array "/usr/sbin/mDNSResponder" "-launchd"

DHCP

Обновить DHCP Lease

sudo ipconfig set en0 DHCP

Отобразить DHCP информацию

ipconfig getpacket en0

DNS

Очистить DNS кэш

sudo dscacheutil -flushcache && \
sudo killall -HUP mDNSResponder

Hostname

Установить имя комьютера/Hostname

sudo scutil --set ComputerName "newhostname" && \
sudo scutil --set HostName "newhostname" && \
sudo scutil --set LocalHostName "newhostname" && \
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string "newhostname"

Сетевые настройки

Сетевое расположение

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

# Статус
scselect

# Сменить сетевое расположение
scselect LocationNameFromStatus

Установить статичский IP адрес

networksetup -setmanual "Ethernet" 192.168.2.100 255.255.255.0 192.168.2.1

Сетевые утилиты

Проверить хост на доступность

ping -o github.com

Устранение неполадок маршрутизации

traceroute github.com

SSH

Постоянное добавление пароля закрытого ключа к агенту SSH

До macOS Sierra ssh представлял бы диалоговое окно с запросом вашей парольной фразы и предлагал бы возможность сохранить ее в связке ключей. Этот пользовательский интерфейс устарел и был удален.

Вместо этого в macOS Sierra появилась новая опция UseKeychain, позволяющая пользователям указывать, хотят ли они, чтобы парольная фраза хранилась в связке ключей. Этот параметр был включен по умолчанию в macOS Sierra, что привело к хранению всех парольных фраз в связке ключей.

Это не являлось обычным поведением по умолчанию, так что это было изменено в macOS 10.12.2. (Source)

ssh-add -K /path/to/private_key

Then add to 

~/.ssh/config

:


GeSHi Error: GeSHi could not find the language script (using path /home/b/bold666/xakinfo.ru/public_html/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

Удаленный вход

# Включить удаленный заход
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

# Отключить удаленный заход
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist

TCP/IP

Отобразить приложения использующие определенный порт

Это отобразит все приложения использующие 80 порт в данный момент.

sudo lsof -i :80

Отобразить внешний IP адрес

Работает, если ваш провайдер не заменяет DNS-запросы (чего не должно быть).

dig +short myip.opendns.com @resolver1.opendns.com

Альтернатива, которая работает на всех сетях.

curl -s https://api.ipify.org && echo

Отобразить информацию о сетевых устройствах

Недокументированная опция команды scutil.

scutil --nwi

TFTP

Запустить встроенную службу TFTP

Файлы должны располагаться /private/tftpboot

sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist && \
sudo launchctl start com.apple.tftpd

Wi-Fi

Подключится к Wi-Fi сети

networksetup -setairportnetwork en0 WIFI_SSID WIFI_PASSWORD

Просканировать доступные точки доступа

Создать символьную ссылку на airport команду для простого доступа:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport

Запустить скан WiFi сети:

airport -s

Отобразить текущий SSID

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/ SSID/ {print substr($0, index($0, $2))}'

Отобразить локальный IP адрес

ipconfig getifaddr en0

Отобразить историю Wi-Fi подключений

defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep LastConnected -A 7

Отобразить пароли Wi-Fi сетей

Изменить SSID на название точки доступа, с которой вы хотите запросить пароль.

security find-generic-password -D "AirPort network password" -a "SSID" -gw

Включить Wi-Fi адаптер

networksetup -setairportpower en0 on

Менеджеры пакетов

  • Fink — множество пакетов с исходным кодом, немного устарел на данный момент.
  • Homebrew — отсутствующий в OS X менеджер пакетов. Наиболее популярный выбор.
  • MacPorts — компиляция, установка и обновление с помощью командной строки, X11 или Aqua основанный на открытом исходном коде софт. Не перегружен лишним.

Homebrew

Полная установка

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

Печать

Очистить очередь печати

cancel -a -

Развернуть панель печати по умолчанию

defaults write -g PMPrintingExpandedStateForPrint -bool true && \
defaults write -g PMPrintingExpandedStateForPrint2 -bool true

Выйти из приложения принтера после завершения печати

defaults write com.apple.print.PrintingPrefs "Quit When Finished" -bool true

Безопасность

Firewall

Служба Firewall

# Отобразить статус
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --getglobalstate

# Включить
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on

# Отключить (по-умолчанию)
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off

Добавить приложение в Firewall

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /path/to/file

Gatekeeper

Добавить исключение в Gatekeeper

spctl --add /path/to/Application.app

Удалить исключение из Gatekeeper

spctl --remove /path/to/Application.app

Управлять Gatekeeper

# Статус
spctl --status

# Включить (по-умолчанию)
sudo spctl --master-enable

# Отключить
sudo spctl --master-disable

Пароли

Сгенерировать безопасный пароль и скопировать в буфер обмена

LC_ALL=C tr -dc "[:alnum:]" < /dev/urandom | head -c 20 | pbcopy

Физический доступ

Запустить заставку

# вплоть до Sierra
open /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app

# после High Sierra
/System/Library/CoreServices/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine

Экран блокировки

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

Немедленное включение заставки с блокировкой экрана

# Статус
defaults read com.apple.screensaver askForPasswordDelay

# Включено (по-умолчанию)
defaults write com.apple.screensaver askForPasswordDelay -int 0

# Отключить (целое число = задержка в секундах)
defaults write com.apple.screensaver askForPasswordDelay -int 10

Пароль заставки

# Статус
defaults read com.apple.screensaver askForPassword

# Включить
defaults write com.apple.screensaver askForPassword -int 1

# Отключить (по-умолчанию)
defaults write com.apple.screensaver askForPassword -int 0

Стирание информации

Примечание: команда srm, кажется, была удалена на MacOS после 10.9. На странице поддержки Apple есть заметка, намекающая на то, почему:

С SSD-накопителем безопасное стирание и стирание свободного места недоступны в Disk Utility. Эти параметры не нужны для SSD-накопителя, поскольку стандартное стирание затрудняет восстановление данных с SSD.

Безопасное удаление файла

srm /path/to/file

Безопасное удаление папки

srm -r /path/to/folder/

Безопасное удаление пути (принудительное)

srm -rf /path/to/complete/destruction

Поиск

Find

Рекурсивное удаление файлов .DS_Store

find . -type f -name '*.DS_Store' -ls -delete

Locate

Заполнить Locate базу

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

Поиск через Locate

-i опция сделает поиск регистрозависимым.

locate -i *.jpg

Система

AirDrop

# Включить AirDrop через Ethernet и на неподдерживаемых компьютерах Mac
defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true

# Включить (по умолчанию)
defaults remove com.apple.NetworkBrowser DisableAirDrop

# Отключить
defaults write com.apple.NetworkBrowser DisableAirDrop -bool YES

AppleScript

Выполнить AppleScript

osascript /path/to/script.scpt

Базовое

Сравнить две папки

diff -qr /path/to/folder1 /path/to/folder2

Скопировать большой файл с отображением прогресса

Make sure you have pv installed and replace /dev/rdisk2 with the appropriate write device or file.

FILE=/path/to/file.iso pv -s $(du -h $FILE | awk '/.*/ {print $1}') $FILE | sudo dd of=/dev/rdisk2 bs=1m

Восстановление Вменяемой Оболочки

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

stty sane

Перезагрузка

sudo reboot

Выключение

sudo poweroff

Отобразить версию сборки ОС

sw_vers

Uptime

Как долго система работает после включения.


GeSHi Error: GeSHi could not find the language uptime (using path /home/b/bold666/xakinfo.ru/public_html/wp-content/plugins/codecolorer/lib/geshi/) (code 2)

Буфер обмена

Скопировать информацию в буфер обмена

cat whatever.txt | pbcopy

Конвертировать содержимое буфера обмена в обычный текст

pbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy

Преобразование табуляции в пробелы для содержимого буфера обмена

pbpaste | expand | pbcopy

Копирование данных из буфера обмена

pbpaste > whatever.txt

Сортировка и удаление повторяющихся строк из содержимого буфера обмена

pbpaste | sort | uniq | pbcopy

FileVault

Автоматическая разблокировка FileVault при перезагрузке

Если FileVault включен на текущем томе, он перезапускает систему, минуя начальную разблокировку. Команда может работать не на всех системах.

sudo fdesetup authrestart

Служба FileVault

# Статус
sudo fdesetup status

# Включить
sudo fdesetup enable

# Отключить (по умолчанию)
sudo fdesetup disable

Информация/Отчеты

Создание расширенного отчета о системе и производительности

sudo sysdiagnose -f ~/Desktop/

Установка ОС

Создание загрузочного установщика Bootable Installer

# Mojave
sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --nointeraction --downloadassets

# High Sierra
sudo /Applications/Install\ macOS\ High\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ High\ Sierra.app

# Sierra
sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ macOS\ Sierra.app

# El Capitan
sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app

# Yosemite
sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ Yosemite.app
  • Для подтверждения перед стиранием диска удалите —nointeraction из команды.
  • Необязательный флаг —downloadassets является новым в Mojave. Он загружает активы, которые могут потребоваться во время установки, например обновления.
  • Флаг —applicationpath устарел со времен Mojave и при использовании выдаст ошибку.

Расширения ядра

Отображение состояния загруженных расширений ядра

sudo kextstat -l

Загрузить Расширение Ядра

sudo kextload -b com.apple.driver.ExampleBundle

Выгрузить Модули Ядра

sudo kextunload -b com.apple.driver.ExampleBundle

LaunchServices

Перестроить Базу Данных LaunchServices

Чтобы быть независимым от версии OS X, это зависит от locate, чтобы найти lsregister. Если у вас еще нет базы данных locate, создайте её.

sudo $(locate lsregister) -kill -seed -r

Окно входа

Установить текст в окне логина

sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Your text"

Управление памятью

Очистить кэш памяти

sudo purge

Отобразить статистику использования памяти

# Единоразово
vm_stat

# Таблица с данными, повторяющимися 10 раз с интервалом в 1 секунду
vm_stat -c 10 1

Центр уведомлений

Служба центра уведомлений

# Отключить
launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist && \
killall -9 NotificationCenter

# Включить (по умолчанию)
launchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist

QuickLook

Просмотр через QuickLook

qlmanage -p /path/to/file

Удаленные события Apple

# Статус
sudo systemsetup -getremoteappleevents

# Включить
sudo systemsetup -setremoteappleevents on

# Отключить (по умолчанию)
sudo systemsetup -setremoteappleevents off

Root пользователь

# Включить
dsenableroot

# Отключить
dsenableroot -d

Загрузка в безопасном режиме

# Статус
nvram boot-args

# Включить
sudo nvram boot-args="-x"

# Отключить
sudo nvram boot-args=""

Скриншоты

Задержка между скриншотами

Получение скриншотов в JPEG через 3 секунды и показ в быстром просмотре.

screencapture -T 3 -t jpg -P delayedpic.jpg

Сохранять скриншоты в другую папку по умолчанию

Установить папку ~/Desktop.

defaults write com.apple.screencapture location ~/Desktop && \
killall SystemUIServer

Сохранять скриншоты в другом формате

Установить сохранение в png. Также возможно bmp, gif, jpg, jpeg, pdf, tiff.

defaults write com.apple.screencapture type -string "png"

Отключить тени на скриншотах

defaults write com.apple.screencapture disable-shadow -bool true && \
killall SystemUIServer

Сменить стандартное название скриншотов

Дата и время не меняются

defaults write com.apple.screencapture name "Example name" && \
killall SystemUIServer

Установка приложений

Установка PKG

installer -pkg /path/to/installer.pkg -target /

Обновление приложений

Установить все возможные обновление

sudo softwareupdate -ia

Выставить интервал проверки обновлений

Set to check daily instead of weekly.

defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1

Посмотреть доступные обновления

sudo softwareupdate -l

Указать сервер обновлений

Это должно быть сделано только для целей тестирования или неуправляемых клиентов. Чтобы использовать сеть в целом, либо правильно настроить DNS вместе с Apple SUS сервис и свяжите своих клиентов через OpenDirectory. В качестве альтернативы, использовать Reposado вместе с правильными сетевыми настройками DNS, чтобы сделать разрешение прозрачным. Margarita смотрится довольно не плохо.

# Использовать свой SUS
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog

# Использовать Apple SUS
sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL

Версии приложений

Отобразить версии системного ПО

sw_vers -productVersion

Spotlight

Spotlight индексация

# Отключить
mdutil -i off -d /path/to/volume

# Включить (по умолчанию)
mdutil -i on /path/to/volume

Удалить Spotlight индексы и создать заново

mdutil -E /path/to/volume

Поиск через Spotlight

mdfind -name 'searchterm'

Отобразить Spotlight индексированные метаданные

mdls /path/to/file

Защита целостности системы

Отключить защиту целостности системы

Перезагрузка при удержании Cmd + R, открыть приложение терминала и выполнить:

csrutil disable && reboot

Включить защиту целостности системы

Перезагрузка при удержании Cmd + R, открыть приложение терминала и выполнить:

csrutil enable && reboot

Дата и время

Отобразить временные зоны

sudo systemsetup -listtimezones

Установить временную зону

sudo systemsetup -settimezone Europe/Berlin

Использовать время сети

# Статус
sudo systemsetup getusingnetworktime

# Включить (по умолчанию)
sudo systemsetup setusingnetworktime on

# Отключить
sudo systemsetup setusingnetworktime off

Терминал

Воспроизводить звук

Воспроизводить звук и выводить значок колокольчика в заголовке

tput bel

Альтернативные терминалы

  • Alacritty — Крос-платформенный, GPU-оптимизированный терминал
  • iTerm2 — один из лучших терминалов
  • kitty — современный, GPU-оптимизированный терминал

Shells

Bash

Установите последнюю версию и установите в качестве оболочки текущего пользователя по умолчанию:

brew install bash && \
echo $(brew --prefix)/bin/bash | sudo tee -a /etc/shells && \
chsh -s $(brew --prefix)/bin/bash
  • Homepage — Оболочка по умолчанию для OS X и большинства других операционных систем Unix.
  • Bash-it — Сообщество bash framework, как Oh My Zsh для Bash.

fish

Установите последнюю версию и установите в качестве оболочки текущего пользователя по умолчанию:

brew install fish && \
echo $(brew --prefix)/bin/fish | sudo tee -a /etc/shells && \
chsh -s $(brew --prefix)/bin/fish
  • Homepage — Интеллектуальная и удобная оболочка командной строки для OS X, Linux и остальной части семейства.
  • The Fishshell Framework — Предоставляет базовую инфраструктуру для установки пакетов, расширяющих или изменяющих внешний вид оболочки.
  • Installation & Configuration Tutorial — Как настроить fish с помощью шрифтов Fisherman, Powerline, iTerm2 и Budspencer на OS X.

Zsh

Установите последнюю версию и установите в качестве оболочки текущего пользователя по умолчанию:

brew install zsh && \
sudo sh -c 'echo $(brew --prefix)/bin/zsh >> /etc/shells' && \
chsh -s $(brew --prefix)/bin/zsh
  • Homepage — Zsh-это оболочка, предназначенная для интерактивного использования, хотя это также мощный язык сценариев.
  • Oh My Zsh — Платформа с открытым исходным кодом, управляемая сообществом для управления конфигурацией Zsh.
  • Prezto — Довольно быстрый Zsh framework. Обогащает среду интерфейса командной строки разумными значениями по умолчанию, псевдонимами, функциями, автоматическим завершением и темами приглашений.
  • zgen — Еще одна платформа с открытым исходным кодом для управления конфигурацией zsh. Zgen будет загружать Oh-my-zsh совместимые плагины и темы и имеет то преимущество, что они быстрее и автоматически клонируют любые плагины, используемые в вашей конфигурации для вас.

Терминальные Шрифты

  • Anonymous Pro — Семейство из четырех шрифтов фиксированной ширины, разработанных с учетом кодирования.
  • Codeface — Галерея и хранилище моноширинных шрифтов для разработчиков.
  • DejaVu Sans Mono — Семейство шрифтов, основанных на шрифте Vera.
  • Hack — ухоженный и оптически сбалансированный, чтобы ваш код отлично выглядел.
  • Inconsolata — Моноширинный шрифт, предназначенный для перечисления кода и тому подобное.
  • Input — Гибкая система шрифтов, разработанная специально для кода.
  • Meslo — Настроенная версия шрифта Menlo от Apple.
  • Operator Mono — Удивительно полезная альтернатива моноширинный шрифт (коммерческий).
  • Powerline Fonts — Репозиторий исправленных шрифтов для плагина Powerline.
  • Source Code Pro — Моноширинный шрифт для пользовательских интерфейсов и сред программирования.