Subversion Repositories Kolibri OS

Rev

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	убивает процесс по . kill all убивает все процессы, слоты >=2
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