Rev 6826 | Rev 8638 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
2735 | Albom | 1 | Консольные приложения Shell |
2502 | Albom | 2 | ======================================= |
3 | |||
2735 | Albom | 4 | Обмен информацией между Shell и консольными приложениями осуществляется через именованную область. |
5 | |||
2502 | Albom | 6 | Консольное приложение может быть написано на любом языке программирования - это обыкновенная программа для КолибриОС. |
7 | |||
2735 | Albom | 8 | Консольное приложение после своего запуска в первую очередь должно создать именованную область с именем pid-SHELL, где pid - идентификатор процесса без заглавных нулей, |
9 | например: 6, 42 или 204. |
||
2502 | Albom | 10 | |
2735 | Albom | 11 | Первый байт области - команда (т.е. максимум 255 команд, что вполне достаточно), далее - данные (могут отсутствовать). |
2502 | Albom | 12 | |
2735 | Albom | 13 | Список реализованных команд: |
14 | SC_OK 0 ничего не делать |
||
15 | SC_EXIT 1 выход |
||
16 | SC_PUTC 2 вывести на экран символ |
||
17 | SC_PUTS 3 вывести на экран строку |
||
18 | SC_GETC 4 считать с клавиатуры символ |
||
19 | SC_GETS 5 считать с клавиатуры строку |
||
20 | SC_CLS 6 очистить экран |
||
2502 | Albom | 21 | |
2735 | Albom | 22 | Программа должна сама заботиться о рациональном использовании процессорного времени. |
23 | |||
24 | Программа должна сама заботиться о закрытии именованной области. |
||
6822 | siemargl | 25 | |
26 | Команды Shell |
||
27 | ======================================= |
||
28 | В угловых скобках указаны параметры команд |
||
29 | |||
30 | about выводит версию программы shell |
||
31 | |||
32 | alias без параметра выводит список синонимов команд, |
||
33 | с параметром вида newprg = old_name определяет синоним newprg |
||
34 | если есть пробелы, нужно значение закавычить newprg = "old name" |
||
35 | cd сменить текущий каталог на указанный параметром <каталог> |
||
36 | clear очистка экрана |
||
37 | cp копирование файла <источник> <результат> |
||
38 | date показывает дату и время |
||
39 | echo Выводит <данные> на экран |
||
40 | exit завершение работы Shell |
||
41 | free показывает объём оперативной памяти: всей, свободной и используемой |
||
6825 | siemargl | 42 | help показать перечень команд shell. С параметром <команда> справка по команде |
6822 | siemargl | 43 | history cписок последних использованных команд |
6825 | siemargl | 44 | kill убивает процесс по |
6822 | siemargl | 45 | ls выводит список файлов в текущем каталоге или указанном <каталоге> |
7024 | leency | 46 | ключ '-1' выводит список в одну колонку, иначе многоколоночный вывод |
6822 | siemargl | 47 | mkdir cоздает <каталог>. Поддерживаются абсолюные и относительные пути |
48 | more выводит содержимое <файла> на экран |
||
6825 | siemargl | 49 | ps показывает список процессов и их PID, |
50 | если задать <имя>, покажет %CPU, используемую память и запомнит |
||
51 | внутреннюю переменную LASTPID (полезно для команды waitfor) |
||
7024 | leency | 52 | <имя> - это первые 11 букв имени исполняемого файла без расширения |
6822 | siemargl | 53 | pwd показывает имя текущего каталога |
54 | reboot перезагружает компьютер или ядро KolibriOS. reboot kernel перезапустить ядро Kolibri |
||
55 | rm удаляет <файл> |
||
56 | rmdir удаляет <каталог> |
||
57 | shutdown выключает компьютер |
||
58 | sleep приостанавливает работу Shell'а на заданное <время в сотых долях секунды> |
||
6826 | siemargl | 59 | touch создаёт пустой <файл> или изменяет дату/время создания файла |
6825 | siemargl | 60 | uptime показывает время работы системы с момента загрузки |
61 | ver показывает версию Shell, ver kernel - версию и номер ревизии ядра OS, |
||
62 | ver cpu - информацию о процессоре |
||
63 | waitfor если перед этим была запущена программа, приостанавливает |
||
64 | выполнение командного файла до ее завершения по LASTPID |
||
65 | или до завершения явно указанного параметра |
||
66 | |||
67 | Скрипты и запуск на исполнение |
||
68 | ======================================= |
||
69 | Если имя исполнимого файла начинается с / то считается что путь является абсолютным. |
||
70 | В противном случае, поиск сначала проводится в текущем каталоге, а затем в /rd/1. |
||
71 | |||
72 | Далее, если файл найден, проверяются первые 4 байта на сигнатуру #SHS. |
||
73 | С этой сигнатуры начинается командный (пакетный) файл. |
||
74 | В командном файле допустимы все команды приведенные выше, а комментарии |
||
75 | начинаются с символа # в первой позиции строки. |
||
76 | |||
77 | Если на выполнение был задан исполняемый файл, запомнит LASTPIDфайл>время>каталог>файл>имя>имя>файла>каталог>каталоге>команда>данные>результат>источник>каталог> |
||
78 |