diff
вывод двух команд, не создавая временный файл вручную (удар):
diff <(ls dir1) <(ls dir2)
Это не out-of-the-box решение, но оно будет возможно работать, если никто другой не предложит решение :-)
Можно управлять настройками управлением электропитанием с командой pmset
. См. страницу справочника для получения дополнительной информации об этом.
Интересная установка, которой мы хотим управлять, является сном:
сон - системный таймер автоматического отключения (оценивают в минутах, или 0 для отключения),
Таким образом, мы можем использовать следующие команды:
sudo pmset sleep 25 # go to sleep after 25 minutes
sudo pmset sleep 0 # disable sleep
Теперь мы должны инициировать эти команды после входа в систему и logut. Если я помню это право, Bash является оболочкой по умолчанию для Mac OS X, который приносит нам к этим двум файлам:
~/.bash_profile The personal initialization file, executed for login shells ~/.bash_logout The individual login shell cleanup file, executed when a login shell exits
Отредактируйте или создайте их в своем корневом каталоге и добавьте соответствующие команды. Если Вы хотите, сохраняете текущее значение сна во временном файле и восстанавливаете его от него впоследствии.
Последней проблемой, которая решит, является подсказка пароля sudo. Чтобы дать Вашему пользователю разрешение вызвать pmset без любого пароля, отредактируйте свой/etc/sudoers с sudoedit. Необходимо использовать NOPASSWD
тег. Если это является новым для Вас, взгляните на sudoers руководство.
Веб-поиск Mac предотвращает сон, придумывает большую хорошую информацию об утилитах и приемах, которые можно использовать.
Однако в Вашей ситуации, я подозреваю, что то, что Вы действительно хотите сделать, должно иметь отдельную ssh сессию, которая запускает очень простую программу командной строки, которая препятствует тому, чтобы Mac спал. Apple дает полный исходный код в Технических Вопросах и ответах 1160: Предотвращение сна. (К сожалению, эта страница повреждается на сайте Apple в настоящее время, но можно потянуть копию с кэша Google.)
Я не протестировал, чтобы видеть, может ли эта программа быть запущена успешно от ssh сессии, но похоже, что она могла.
Обратите внимание, что sshfs реализации обычно не остаются вошедшими удаленная система все время и просто выполняют сессию, когда они хотят файл или каталог. Таким образом, Вам нужна отдельная ssh сессия, работающая в минимизированном окне терминала, для запущения программы бессонницы.
Преимущество этого подхода состоит в том, что Вы не должны использовать sudo или путаницу с настройками управления питанием системы.
OS X создал в pmset утилите, имеет установку, которая может сделать то, что Вы хотите. Проверьте pmset
страница справочника для ttyskeepawake
установка и сопроводительное объяснение.
Следующая команда, вероятно, сделает то, что Вы хотите:
sudo pmset -c ttyskeepawake 1
-c
флаг устанавливает эту настройку, активную конкретно, когда компьютер работает на питании переменным током (в противоположность заряду батареи или питанию ИБП), и ttyskeepawake 1
препятствует тому, чтобы компьютер спал во время активной tty сессии (по-видимому, удаленная). Это позволит сон, если сессия была неактивна для дольше, чем таймер автоматического отключения, но если это - проблема, возможно, компьютер не должен быть установлен спать вообще.
Начиная с Mac OS X 10.8, необходимо смочь использовать caffeinate(8)
команда.
Попробовать caffeinate -s ssh server.example.com
.
Это позволило мне использовать мой Mac Over SSH, независимо от того, что, если Mac подключен к источнику питания.
Все выключено, когда Mac снимает свой источник питания, поэтому вам не нужно беспокоиться о сроке батареи.
Использовать SSH для открытия оболочки на удаленной машине OSX и предотвращения ее засыпания на время сеанса SSH:
$ ssh -t me@mymacbook caffeinate -i bash
Я добавил следующий сценарий в .bash_profile
if expr "$(ps -o comm= $PPID)" : '^sshd:' > /dev/null; then
caffeinate -s $SHELL --login
exit $?
fi
Если процесс является прямым дочерним процессом демона ssh, запустите тот же shell с помощью команды caffeinate(8), чтобы предотвратить засыпание системы во время сеанса ssh.