forked from KolibriOS/kolibrios
9e91bb1d1c
* ps now displays the RAM size used by the process * ls now displays all files not in one but in several columns, the old single column output is still accessible via the key '-1' git-svn-id: svn://kolibrios.org@7024 a494cfbc-eb01-0410-851d-a64ba20cac60
79 lines
3.6 KiB
Plaintext
79 lines
3.6 KiB
Plaintext
Консольные приложения Shell
|
|
=======================================
|
|
|
|
Обмен информацией между Shell и консольными приложениями осуществляется через именованную область.
|
|
|
|
Консольное приложение может быть написано на любом языке программирования - это обыкновенная программа для КолибриОС.
|
|
|
|
Консольное приложение после своего запуска в первую очередь должно создать именованную область с именем pid-SHELL, где pid - идентификатор процесса без заглавных нулей,
|
|
например: 6, 42 или 204.
|
|
|
|
Первый байт области - команда (т.е. максимум 255 команд, что вполне достаточно), далее - данные (могут отсутствовать).
|
|
|
|
Список реализованных команд:
|
|
SC_OK 0 ничего не делать
|
|
SC_EXIT 1 выход
|
|
SC_PUTC 2 вывести на экран символ
|
|
SC_PUTS 3 вывести на экран строку
|
|
SC_GETC 4 считать с клавиатуры символ
|
|
SC_GETS 5 считать с клавиатуры строку
|
|
SC_CLS 6 очистить экран
|
|
|
|
Программа должна сама заботиться о рациональном использовании процессорного времени.
|
|
|
|
Программа должна сама заботиться о закрытии именованной области.
|
|
|
|
Команды Shell
|
|
=======================================
|
|
В угловых скобках указаны параметры команд
|
|
|
|
about выводит версию программы shell
|
|
|
|
alias без параметра выводит список синонимов команд,
|
|
с параметром вида newprg = old_name определяет синоним newprg
|
|
если есть пробелы, нужно значение закавычить newprg = "old name"
|
|
cd сменить текущий каталог на указанный параметром <каталог>
|
|
clear очистка экрана
|
|
cp копирование файла <источник> <результат>
|
|
date показывает дату и время
|
|
echo Выводит <данные> на экран
|
|
exit завершение работы Shell
|
|
free показывает объём оперативной памяти: всей, свободной и используемой
|
|
help показать перечень команд shell. С параметром <команда> справка по команде
|
|
history cписок последних использованных команд
|
|
kill убивает процесс по <PID>. kill all убивает все процессы, слоты >=2
|
|
ls выводит список файлов в текущем каталоге или указанном <каталоге>
|
|
ключ '-1' выводит список в одну колонку, иначе многоколоночный вывод
|
|
mkdir cоздает <каталог>. Поддерживаются абсолюные и относительные пути
|
|
more выводит содержимое <файла> на экран
|
|
ps показывает список процессов и их PID,
|
|
если задать <имя>, покажет %CPU, используемую память и запомнит
|
|
внутреннюю переменную LASTPID (полезно для команды waitfor)
|
|
<имя> - это первые 11 букв имени исполняемого файла без расширения
|
|
pwd показывает имя текущего каталога
|
|
reboot перезагружает компьютер или ядро KolibriOS. reboot kernel перезапустить ядро Kolibri
|
|
rm удаляет <файл>
|
|
rmdir удаляет <каталог>
|
|
shutdown выключает компьютер
|
|
sleep приостанавливает работу Shell'а на заданное <время в сотых долях секунды>
|
|
touch создаёт пустой <файл> или изменяет дату/время создания файла
|
|
uptime показывает время работы системы с момента загрузки
|
|
ver показывает версию Shell, ver kernel - версию и номер ревизии ядра OS,
|
|
ver cpu - информацию о процессоре
|
|
waitfor если перед этим была запущена программа, приостанавливает
|
|
выполнение командного файла до ее завершения по LASTPID
|
|
или до завершения явно указанного параметра <PID>
|
|
|
|
Скрипты и запуск на исполнение
|
|
=======================================
|
|
Если имя исполнимого файла начинается с / то считается что путь является абсолютным.
|
|
В противном случае, поиск сначала проводится в текущем каталоге, а затем в /rd/1.
|
|
|
|
Далее, если файл найден, проверяются первые 4 байта на сигнатуру #SHS.
|
|
С этой сигнатуры начинается командный (пакетный) файл.
|
|
В командном файле допустимы все команды приведенные выше, а комментарии
|
|
начинаются с символа # в первой позиции строки.
|
|
|
|
Если на выполнение был задан исполняемый файл, запомнит LASTPID
|
|
|