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