OpenOS. От дуба до Мастера. Часть четвёртая.

fingercomp 2015-09-20   2 минуты на чтение

Продолжаем беседу об операционной системе OpenOS. В этой записи речь пойдёт про те самые оставшиеся утилиты, которые облегчат жизнь программисту.


Сложность: средне
60%

Скучность: высокая
80%

Дубовость: для продвинутых
65%


Операционная система OpenOS в первую очередь покрывает вопросы (относительно) удобного программирования для OpenComputers. Конечно, это не исключает сторонние редакторы типа Sublime Text или Notepad++, но иметь такие средства нужно и важно. Давайте же я расскажу о них.

УТИЛИТЫ ДЛЯ ПРОГРАММИРОВАНИЯ

Простой перечень утилит с пояснениями.

address

Наипростейшая из наипростейших утилит, может соперничать даже с print("Hello, world!"). Просто выводит адрес компьютера. Интереса ради, пропишите view /bin/address.lua.

components

Ещё раз я расскажу об этой программке. Она выводит список компонентов, подключённых к системе. Можно задать фильтр, тогда выведутся только указанные компоненты. Если же указать ключ -l (о них в следующей части), то для каждого компонента будут указываться методы.

dmesg

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

flash

Та самая программа, которая записывает код на EEPROM. Ключ -l выводит код о текущего EEPROM, -r записывает код в файл, а -q заставляет не задавать вопросов.

hostname

Данная программа бессмысленна без пакета network. Но, тем не менее, она может устанавливать и выводить текущее имя компьютера.

lua

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

primary

Синтаксис: primary <компонент> [адрес]. Если аргумент [адрес] опущен, то выводится информация о первичном компоненте, иначе — предпринимается попытка сделать данное устройство первичным.

rc

Программа управления сервисами (о них — в следующих частях). Синтаксис: rc <сервис> [команда] [аргументы].

redstone

Предоставляет простой интерфейс управления редстоун-сигналами на первичной ред-карте/ред-блоке. По умолчанию синтаксис следующий: redstone <сторона> [значение]. Если [значение] не задано, выводится информация о текущем. Иначе — устанавливается.

Для многожильных кабелей синтаксис следующий: redstone -b <сторона> <цвет> [значение]. Работа необязательного аргумента такая же.

Для блоков, предоставляющих интерфейс беспроводной передачи ред-сигнала, команды следующие:

sh

Запускает сеанс командной строки, если не передано аргументов и io.stdin не перенаправлен. Иначе — читает команды из этого потока и выполняет их.

umount

Синтаксис: umount <точка монтирования>. Отмонтирует устройство по данной точке монтирования.


Вот так. Следующая часть целиком и полностью посвящена шеллу, ему родимому.
Это: переменные окружения, алиасы, ключи, аргументы, особенности работы шелла и прочее.

Пока жду комментариев по этой части, пишите, если что-то непонятно.