Shell

Shell

Lua RTOS имеет интегрированную оболочку, которая позволяет выполнять команды аналогично Linux приглашении Lua или поместив os.shell(true) в файл system.lua.

Утилиты команды

clear

Очистить экран терминала.

luac source [destination]

luac — это компилятор Lua. Он переводит программы, написанные на языке программирования Lua (аргумент source), в бинарные файлы (аргумент [destination]), которые позже могут быть загружены и выполнены.

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

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

Аргумент destination необязателен, и если он не указан, скомпилированное имя файла будет именем файла source, к которому добавлен символ “c”.

Пример:

-- Компилировать test.lua в файл test.luac
luac test.lua test.luac

-- Компилировать test.lua в файл test.luac
luac test.lua

Команды файловой системы

cat file

Вывести содержимое file на стандартный вывод.

/ > cat system.lua
-- system.lua
--
-- This script is executed after a system boot or a system reset and is intended
-- for setup the system.

---------------------------------------------------
-- Main setups
---------------------------------------------------
os.loglevel(os.LOG_INFO)   -- Log level to info
os.logcons(true)           -- Enable/disable sys log messages to console
os.shell(true)             -- Enable/disable shell
os.history(false)          -- Enable/disable history
/ > 

cd directory

Изменить текущую директорию на directory.

/ > cd examples
/examples > 

cp source destination

Копировать source файл в destination.

/ > cp autorun.lua autorun.old

edit filename

Редактировать filename (также можно использовать nano filename).

ls pattern

Выводит список содержимого директории файлов и директорий, соответствующих pattern (шаблону).

/ > ls *.lua
f	       0		autorun.lua
f	    2446		system.lua
f	    2445		config.lua
f	     252		test.lua
f	     280		test2.lua

mkdir directory

Создает новую директорию с именем directory в текущей директории.

more file

Выводит содержимое файла file поэкранно.

mv source destination

Перемещает (переименовывает) файл source в файл destination.

pwd

Выводит имя текущей/рабочей директории.

/examples > pwd
/examples   
/examples > 

rm pattern

Удаляет файлы, соответствующие pattern (шаблону).

Сетевые команды

netstat

Выводит информацию о состоянии сетевых интерфейсов.

/ > netstat
wf: mac address 24:0a:c4:01:96:ec
   ip address 192.168.1.46 / netmask 255.255.255.0
   gw address 192.168.1.1
  ip6 address fe80:0000:0000:0000:260a:c4ff:fe01:96ec

en: mac address 00:00:00:00:00:00
   ip address 0.0.0.0 netmask 0.0.0.0
   gw address 0.0.0.0

ping host

Отправляет ICMP ECHO_REQUEST на сетевые хосты для проверки связи с host (хостом).

/ > ping whitecatboard.org
PING whitecatboard.org (5.196.211.36): 32 data bytes
60 bytes from 5.196.211.36: icmp_seq=1 time=35.515 ms
60 bytes from 5.196.211.36: icmp_seq=2 time=39.351 ms
60 bytes from 5.196.211.36: icmp_seq=3 time=35.153 ms
60 bytes from 5.196.211.36: icmp_seq=4 time=35.429 ms
60 bytes from 5.196.211.36: icmp_seq=5 time=35.362 ms
60 bytes from 5.196.211.36: icmp_seq=6 time=35.490 ms
60 bytes from 5.196.211.36: icmp_seq=7 time=35.216 ms
60 bytes from 5.196.211.36: icmp_seq=8 time=35.389 ms
60 bytes from 5.196.211.36: icmp_seq=9 time=35.739 ms
60 bytes from 5.196.211.36: icmp_seq=10 time=35.223 ms
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 35.153/35.787/39.351/1.199 ms

Системные команды

dmesg

Выводит содержимое системного журнала (syslog) на стандартный вывод.

Примечание: dmesg доступен только если основное хранилище вашей корневой файловой системы не является SPI FLASH.

passwd

Изменяет пароль root, используемый для установления ssh-соединения с Lua RTOS.

uptime

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

/ > uptime
23:42 up  0:04:14

reboot

Перезагружает систему.