Помимо внушительного списка из более чем 200 изменений и нововведений, в Mountain Lion можно найти ряд новых UNIX-команд. Конечно, большинство из них довольно специфичны и предназначены, скажем так, для очень продвинутых пользователей, но некоторые команды могут пригодиться даже обычным юзерам, которые не пугаются командной строки и слова Терминал.
Администраторские команды
sharing
Эта утилита способна создавать, модифицировать и удалять общие ресурсы для AFP, FTP и SMB. Вот как с помощью неё, например, открыть общий доступ к определенному каталогу на вашем Mac для всех вышеперечисленных протоколов:
sudo sharing -a /Users/Deavy/temp-folder
(имя каталога может быть любое)
Для отключения гостевого доступа к этой общей папке требуется немного модифицировать предыдущую команду:
sudo sharing -e /Users/Deavy/temp-folder -g 000
Отключить «шару» полностью так же просто, как и её создать:
sudo sharing -r /Users/Deavy/temp-folder
Помимо этого, sharing
позволяет устанавливать индивидуальные имена и права на доступ для каждого протокола, а также указывать специфические детали. Единственное неудобство может заключаться в том, что данная команда должна всегда запускаться от root
, но для большинства пользователей и применений это не будет столь критично.
serverinfo
Полезней всего данная команда будет при написании shell-скриптов, и позволяет определить, на какой версии системы он запускается (обычной или серверной), и какие специфические серверные функции включены:
if serverinfo -q --hardware; then echo Running on server hardware; fi
К сожалению, у этой команды до сих пор нет man’а с её подробным описанием, но запуск serverinfo -h
отобразит список доступных опций, и этого уже может хватить.
Общие команды
caffeinate
Команда caffeinate
запрещает вашему Mac’у переходить в режим сна на определенный промежуток времени (например, на час):
caffeinate -u -t 3600
Или позволить выполняться некоторой команде ровно столько, сколько нужно, не переживая, что встроенная функция автоматического перехода ко сну (которая особенно «агрессивно» себя ведет в Mountain Lion) прервет её выполнение:
caffeinate -s любая-команда-которая-выполняется-довольно-долго -аргументы
fdesetup
Полное шифрование диска с помощью утилиты FileVault — это одна из тех вещей, которую можно один раз включить и благополучно о ней забыть, ибо оно просто работает, как любил говаривать Стив Джобс. Так почему бы не появиться UNIX-команде, которая поддерживает весь этот процесс? На данный момент можно придумать несколько сценариев использования этой команды:
- После включения FileVault каждый пользователь должен один раз войти в систему (login) для активации аккаунта. К сожалению, до выхода Mountain Lion не было простого способа узнать, кто из пользователей на определенном компьютере еще этого не сделал. Разве что малоинформативное сообщение в соответствующей панели в Системных Настройках. С помощью команды
sudo fdesetup list
можно вывести список активированных учетных записей. Аsudo fdesetup add -usertoadd имя-пользователя
позволит включить аккаунт указанному пользователю. - В сетевом окружении (например, небольшой фирме или учебном классе) администратор получит возможность принудительно включить FileVault на всех компьютерах при помощи комбинации
ssh
иfdesetup
, включая интеграцию с Open Directory и Keychains, если это необходимо.
Однако, стоит иметь в виду, что сейчас данная команда поддерживает только основной жесткий диск, поэтому для шифрования любых подключенных внешних накопителей требуется использовать hdiutil
.
pgrep и pkill
Скорее всего, многие продвинутые пользователи в прошлом и так устанавливали эти утилиты через MacPorts или Homebrew, поскольку гораздо проще воспользоваться pgrep
, нежели писать конструкцию вида ps опции|grep то-что-мы-ищем
(которая, к тому же, обычно возвращала сам grep). В OS X 10.8 они доступны «из коробки».
Например, если вы хотите узнать, сколько у вас запущено процессов Chrome, просто за пустите следующую команду:
pgrep Chrome | wc -l
Не менее полезной является pkill. Если вы хотите завершить все процессы Chrome для определенного пользователя не застрагивая другие учетные записи, запустите sudo pkill -U имя-пользователя Chrome
. Для более специфичных задач (особенно с участием сложных регулярных выражений), где требуется подтверждение перед каждым «убийством» процесса, можно использовать -I.
tccutil
Эта команда предназначена для управления специальной базой данных, в которой хранятся решения пользователя в отношении приложений, запрашивающих доступ к личным данным. Правда, на данный момент она позволяет только удалять решения для определенной программы или сервиса (tccutil reset AddressBook
). С одной стороны, это не так много, с другой — гораздо проще выполнить эту команду удаленно, чем идти на каждый компьютер в сети и ковыряться в Системных настойках.
Последние комментарии