Командный язык системы unix. интерпретатор shell

05.08.2019 Ios

Из книги Журнал «Компьютерра» N 33 от 12 сентября 2006 года автора Журнал «Компьютерра»

СОФТЕРРА: Высокохудожественный командный интерпретатор Автор: Илья ШпаньковКогда разговор заходит о растровых графических редакторах, абсолютное большинство людей в первую очередь вспоминает Adobe Photoshop. Сторонники свободного софта, конечно, не забудут упомянуть и

Из книги Давайте создадим компилятор! автора Креншоу Джек

Из книги Архитектура операционной системы UNIX автора Бах Морис Дж

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

19.7. Интерпретатор команд bash Интерпретатор команд - это программа, выполняющая команды пользователя. Стандартным интерпретатором (или оболочкой) является bash (Bourne Again Shell). Достаточно распространенными также являются следующие интерпретаторы: sh, ash, bsh, tcsh, csh, zsh. Список

Из книги Программирование на языке Пролог для искусственного интеллекта автора Братко Иван

Из книги Бесплатные разговоры через Интернет автора Фрузоров Сергей

16.2. Простой интерпретатор программ, управляемых образцами Для описания модулей, управляемых образцами, мы применим следующую синтаксическую конструкцию:ЧастьУсловия ---> ЧастьДействияЧасть условия представляет собой список условий:[ Условие1, Условие2, Условие3, ...]где

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

Глава 4 TeamSpeak - командный разговор через компьютерную сеть Чем TeamSpeak отличается от TeamTalk Программа TeamSpeak очень уж похожа на TeamTalk: те же каналы, та же возможность работать как в Интернете, так и в локальной сети, выбор разнообразных кодеков по сжатию звука, клиент-серверный

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Глава 22 Командный интерпретатор bash 22.1. Что нужно знать о bash bash - это наиболее часто использующаяся командная оболочка (командный интерпретатор) Linux. Основное предназначение bash - выполнение команд, введенных пользователем. Пользователь вводит команду, bash ищет программу,

Из книги Операционная система UNIX автора Робачевский Андрей М.

Командный режим Хотя isql имеет некоторые удобные интерактивные возможности, она не ограничена только этим режимом. Многие интерактивные команды доступны также в виде переключателей командной строки. Некоторые функции isql, такие как извлечение метаданных, доступны только

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

Командный интерпретатор shell Все современные системы UNIX поставляются по крайней мере с тремя командными интерпретаторами: Bourne shell (/bin/sh), С shell (/bin/csh) и Korn shell (/bin/ksh). Существует еще несколько интерпретаторов, например Bourne-Again shell (bash), со сходными функциями.Командный

Из книги UNIX - универсальная среда программирования автора Пайк Роб

Интерпретатор bourne shell Bourne shell является стандартным интерпретатором команд, который входит в состав всех систем UNIX и совместим с интерпретатором bash в Linux. В книге, посвященной shell–программированию и не привязанной к конкретной операционной системе, в качестве общего

Из книги автора

Интерпретатор shell В первой части книги рассматриваются общие вопросы, связанные с работой в интерпретаторе shell.В главе 1 рассказывается о правах доступа к файлам и каталогам, а также о том, как создавать символические ссылки.Чтобы на поиск созданного вами файла не уходило

Из книги автора

24.1. Полный список команд, встроенных в интерпретатор shell В табл. 24.1 содержится полный перечень стандартных встроенных команд. Таблица 24.1. Стандартные встроенные команды: Нуль, всегда возвращает истинное значение. Считывание файлов из текущего интерпретатора

1. (выберите неправильный ответ) Базовое регулярное выражение включает в себя понятие

2. (выберите неправильный ответ) Как на время приостановить слишком объёмистый вывод программы (например, "ls - r /")?

3. (выберите неправильный ответ) Как остановить запущенную без параметров программу "cat"?

4. (выберите неправильный ответ) Процесс в UNIX-системе

5. (выберите неправильный ответ) Соблюдение принципов организации процедурных систем помогает

6. (выберите неправильный ответ) Утилита ed - это

7. (выберите неправильный ответ) Чем отличается поток управления от потока данных?

8. PID (идентификатор процесса) - это

9. The X window System - это

10. UNIX - это

11. X11R6 - это

12. XFree86 - это

13. X-клиент - это

14. X-сервер - это

15. Аббревиативность команд в vi приводит к тому, что

16. Активный процесс отличается от фонового тем, что

17. Без соблюдения какого принципа невозможна полноценная проективная система?

18. Больше всего в vi

19. Большинство функций пользовательского интерфейса в Unix-системах берёт на себя

20. В shell запись в произвольный файл и чтение оттуда реализованы в виде

21. В UNIX-системах

22. В графической среде X11:

23. В графической среде X11:

24. В графической среде X11:

25. В каком случае оператор if в shell посчитает условие выполненным?

26. В каталогах rc1.d, rc2.d и т. п. находятся

27. В качестве кого выступает пользователь проективной системы?

28. В качестве кого выступает пользователь процедурной системы?

29. В команде ls a b "c d" утилита ls получит

30. В основе проективной системы лежит требование

31. В основе процедурной системы лежит требование

32. В редакторе vi три режима работы с текстом:

33. В редакторе vim сделаны усовершенствования для более удобного редактирования

34. В странице руководства обязаны присутствовать поля

35. В строке "Qbab*cdecW" регулярному выражению "(a|b).*c" соответствует подстрока

36. В строке, набираемой в ответ на "подсказку" shell первое слово - это чаще всего

37. В т. н. новой BSD-схеме начальной загрузки (FreeBSD5), использующей принцип ".d"

38. В формате ls представлено содержимое каталога. Кто, помимо суперпользователя, имеет возможность удалить файл, содержащийся в нём?

39. В формате ls представлено содержимое каталога. Кто, помимо суперпользователя, имеет возможность удалить файл, содержащийся в нём?

40. В формате ls представлено содержимое каталога. Кто, помимо суперпользователя, имеет возможность удалить файл, содержащийся в нём?

41. В функции операционной среды входит

42. В функции операционной среды входит

43. В функции операционной среды входит

44. В чём заключается "проблема управляющего ввода" в текстовых редакторах?

45. В чём причина разделения прикладной и инструментальной областей при решении задачи?

46. В чём разница между операционной системой и операционной средой?

47. В чём разница между терминами "X-терминал" и "xterm"

48. В чём смысл аппаратной поддержки контекста задачи?

49. В чём смысл различения системного и пользовательского наполнения ОС?

50. Вертикальные информационные потоки имеют дело с

51. Все страницы руководства

52. Выберите пункт, в котором упомянуты только важнейшие поля руководства

53. Выберите пункт, в котором упомянуты только важнейшие поля руководства

54. Выберите пункт, в котором упомянуты только важнейшие поля руководства

55. Выберите пункт, в котором упомянуты только основные источники информации о системе

56. Выберите пункт, в котором упомянуты только основные источники информации о системе

57. Выберите пункт, в котором упомянуты только основные источники информации о системе

58. Выберите пункт, в котором этапы решения задачи расположены в оптимальном порядке

59. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

60. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

61. Выберите пункт, подпункты которого соответствуют трём последовательным уровням досистемной загрузки

62. Выберите пункт, содержащий только принципы организации проективных систем

63. Выберите пункт, содержащий только принципы организации проективных систем

64. Выберите пункт, содержащий только принципы организации проективных систем

65. Выберите пункт, содержащий только принципы организации процедурных систем

66. Выберите пункт, содержащий только принципы организации процедурных систем

67. Выберите пункт, содержащий только принципы организации процедурных систем

68. Главная область применения текстового редактора в UNIX

69. Главный недостаток "линейной" схемы начальной загрузки (т. н. старая BSD-схема, FreeBSD4)

70. Гнёзда UNIX

71. Гнездовая команда в vi может состоять из

72. Действительный субъект - это

73. Действительный субъект в UNIX однозначно определяется

74. Демоны в типичной UNIX-системе

75. Диаграмма достижимости описывает

76. Диалог человека и машины в процедурной системе чаще всего строится на основе

77. Для комфортного освоения редактора vim необходимо

78. Для определения прав доступа субъекта к файлу, системе, вдобавок к атрибутам файла, необходимо знать

79. Для традиционного механизма виртуальной памяти справедливо утверждение:

80. Для управления UNIX-системой необходимо

81. Для чего нужен "t-бит" каталога?

82. Доверенный субъект

83. Документацию по UNIX-системе

84. Документация в виде info-страниц

85. Дополнительный раздел диска (extended partition) - это

87. Достраивание - это

88. Если в текущем каталоге есть по крайней мере файл с именем "a", то по команде ls a* утилита ls получит

90. Задача операционной среды:

91. Задачи в очереди UNIX-процессов

92. Закавычивание необходимо для того, чтобы

93. Знание каких областей необходимо опытному пользователю проективной системы?

94. Знание каких областей необходимо опытному пользователю процедурной системы?

95. Имеет ли смысл хранить сложные команды vi в виде комментариев к тексту?

96. Имя макрокоманды в vi - это

98. Интерфейс UNIX-системы

99. Интерфейс UNIX-системы

100. Интерфейс командной строки появился вследствие

101. Информационный поток в модели надёжности - это

102. Информационный поток в модели секретности - это

103. Как много стандартных основных разделов можно завести на диске IBM-совместимого компьютера?

104. Как много стандартных разделов можно завести на диске IBM-совместимого компьютера?

105. Как много стандартных разделов помещается в одной таблице разбиения диска (HDPT) IBM-совместимого компьютера?

107. Как остановить "зависшую" программу?

108. Какая из строк "abcdf" "abcdbcdf" "abcdef" "af" "adbdf" "acf" соответствуют РВ "a(bcd)*f"

109. Какая из строк "abcdf" "abcdbcdf" "abcdef" "af" "adbdf" "acf" соответствуют РВ "af"

110. Какая из строк соответствуют РВ "m(1.3|)+"

111. Какая из строк соответствуют РВ "n(|x-z)+"

112. Какая из строк соответствуют РВ "o|+"

113. Какая область применения не характерна для процедурных систем?

114. Какой принцип проективной системы соблюдается в vi строже всего?

115. Какой процесс связан с каждым терминалом немедленно по окончании загрузки?

116. Какой тип человеко-машинных систем требует от пользователя знания инструментальной области?

117. Какому из подходов к разработке ОС отвечает метафора "рабочего стола"?

118. Каталог /etc в типичной UNIX-системе применяется для хранения

119. Каталог /usr в типичной UNIX-системе применяется для хранения

120. Каталог /var в типичной UNIX-системе применяется для хранения

121. Контекстный адрес задаёт

122. Кто чаще всего запускает команду "chown"?

123. Легенда в процедурной системе - это

124. Лидером сеанса называется

125. Метки текста

126. Модель надёжности вводит запрет

127. Модель секретности вводит запрет

128. Модули в типичной UNIX-системе

129. Можно ли записать данные в файл, имеющий атрибуты "r--r--r--"?

130. Можно ли реализовать функцию звукового сопровождение команд?

131. Можно ли реализовать функцию перемещения по гипертекстовым ссылкам в формате HTML?

132. Можно ли реализовать функцию редактирования электронных таблиц?

133. Можно ли удалить чужой файл из своего каталога?

134. Назначение поля NAME:

135. Назначение поля SEE ALSO

136. Назначение поля SYNOPSIS:

137. Назовите инструментальную и прикладную область при решении следующей задачи: создание железнодорожного расписания

138. Назовите инструментальную и прикладную область при решении следующей задачи: создание интернет-казино

139. Назовите инструментальную и прикладную область при решении следующей задачи: проектирование корпуса инвалидной коляски

140. Настройки редактора vi можно изменить

141. Номинальный субъект - это

142. Номинальный субъект в UNIX однозначно определяется

143. Обратная задача проективной системы - это

144. Одно и то же регулярное выражение можно использовать во всех утилитах, работающих с РВ

145. Окружение - это

146. Операция "|" в shell

147. Основное направление развития проективных систем

148. Основное направление развития процедурных систем

149. Основные задачи ядра системы

150. Основные команды работы с файлами:

151. Основные функции shell

152. Особенность графических ресурсов в том, что они

153. Отсроченная передача данных возможна

154. Пакеты в типичной UNIX-системе

155. Перемещением, изменением размера и внешнего вида окон в X занимается

156. По возможностям редактор vim

157. Подстановка в shell - это

158. Поиск нужной страницы руководства происходит

159. Пользователь какого вида систем чаще выступает в роли посредника между машиной и заказчиком?

160. Понятие "терминал" может обозначать

161. Понятие "терминал" может обозначать

162. Понятие "терминал" может обозначать

163. Понятия "системная утилита" и "пользовательская утилита" в UNIX

164. Почему "login" может запустить shell "от лица" любого пользователя?

165. Правило "левый-длинный" говорит о том, что

166. Предписание в процедурной системе - это

167. Предписание в процедурной системе - это

168. При нажатии клавиши "c" в командном режиме vi произойдёт

169. При нажатии клавиши "d" в командном режиме vi произойдёт

170. При нажатии клавиши "y" в командном режиме vi произойдёт

171. При освоении проективной системы пользователю придётся

172. При редактировании командной строки и истории главное - это

173. При типичном использовании шаблона

174. Принцип гарантированных навыков требует, чтобы

175. Принцип информационной открытости требует, чтобы

176. Принцип минимизации затрат требует, чтобы

177. Принцип ограниченной осведомлённости требует, чтобы

178. Принцип перекрытия процедур требует, чтобы

179. Принцип умопостижимости контекста требует, чтобы

180. Причина частого применения регулярных выражений в UNIX

181. Проект в проективной системе - это

182. Проект в проективной системе - это набор данных, однозначно описывающий

183. Профиль (profile) командного интерпретатора - это

184. Процедура в процедурной системе - это

185. Прямое построение проекта означает

186. Псевдотерминал - это

187. Разделение времени - это

188. Разделение ресурсов - это

189. Расширенное регулярное выражение включает в себя понятие

190. Регулярное выражение состоит из

191. С точки зрения UNIX, сценарий - это

192. Сигнал - это

194. Сколько _способов_ доступа в файловой системе UNIX?

195. Сколько X-серверов может быть зарегистрировано на одном компьютере?

196. Сколько карманов у редактора vi?

197. Сложнее всего в UNIX-системе соблюсти

198. Создатели UNIX-систем рассчитывали

199. Стандартные каталоги UNIX подразделяются

200. Стартовый виртуальный диск (initrd) - это

201. Субъект-объектная модель на основе ACL

202. Субъект-объектная модель прав доступа используется для

203. Субъект-субъектная модель прав доступа используется для

204. Субъект-субъектная модель с множественным субъектом

205. Термин "стандартный ввод программы" обозначает

206. Термин "стандартный вывод ошибок программы" обозначает

207. Термин "стандартный вывод программы" обозначает

208. Термин "устройство" обозначает

209. Терминальная линия - это

210. Типичные командные интерпретаторы UNIX

211. Трёхуровневая схема позволяет

212. Укажите область применения, не характерную для проективных систем

213. Управление сеансами доступа используется для

214. Уровни выполнения - это

215. Утилита ed - это

216. Утилита ex - это

217. Утилита sed - это

218. Утилита vi - это

219. Файловая система - это

220. Фильтром в UNIX-системах называется

221. Фильтром в UNIX-системах называется

222. Фильтром в UNIX-системах называется

223. Функцию менеджера ресурсов в UNIX выполняет

224. Чего нельзя сделать в схеме загрузки FreeBSD?

225. Чем отличаются счётные и обменные задачи?

227. Число 11 в имени X11 - это

228. Что _однозначно_ определяет пользователя в UNIX?

229. Что делает команда mount?

230. Что находится в каталоге /etc/init. d в Linux-системе?

231. Что находится в каталоге /etc/rc3.d в Linux-системе?

232. Что не поддерживается в редакторе vim?

233. Что не поддерживается в редакторе vim?

234. Что не поддерживается в редакторе vim?

235. Что не характерно для командного интерпретатора?

236. Что нельзя сделать в схеме загрузки LILO?

237. Что полностью реализовано в UNIX?

238. Что такое "виртуальная память"?

239. Что такое "контекст задачи"?

240. Что такое "псевдопараллелизм"?

241. Что такое "псевдопользователь"?

242. Что такое инструментальная область человеческой деятельности?

243. Что такое прикладная область человеческой деятельности

244. Что такое человеко-машинная система?

245. Что характерно для командного интерпретатора?

246. Что характерно для командного интерпретатора?

247. Экранный редактор vi

248. Этапы процедуры трёхуровневой загрузки:

Developer Project предлагает поддержку при сдаче экзаменов учебных курсов Интернет-университета информационных технологий INTUIT (ИНТУИТ). Мы ответили на экзаменационные вопросы 380 курсов INTUIT (ИНТУИТ) , всего вопросов, ответов (некоторые вопросы курсов INTUIT имеют несколько правильных ответов). Текущий каталог ответов на экзаменационные вопросы курсов ИНТУИТ опубликован на сайте объединения Developer Project по адресу: http://www. dp5.su/

Подтверждения правильности ответов можно найти в разделе «ГАЛЕРЕЯ», верхнее меню, там опубликованы результаты сдачи экзаменов по 100 курсам (удостоверения, сертификаты и приложения с оценками).

Болеевопросов по 70 курсам и ответы на них, опубликованы на сайте http://www. dp5.su/, и доступны зарегистрированным пользователям. По остальным экзаменационным вопросам курсов ИНТУИТ мы оказываем платные услуги (см. вкладку верхнего меню «ЗАКАЗАТЬ УСЛУГУ». Условия поддержки и помощи при сдаче экзаменов по учебным программам ИНТУИТ опубликованы по адресу: http://www. dp5.su/

Примечания:

- ошибки в текстах вопросов являются оригинальными (ошибки ИНТУИТ) и не исправляются нами по следующей причине - ответы легче подбирать на вопросы со специфическими ошибками в текстах;

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

Аннотация: Рассматриваются внутренние команды, поддерживаемые интерпретатором Cmd.exe, и наиболее часто используемые внешние команды (утилиты командной строки). Описываются механизмы перенаправления ввода/вывода, конвейеризации и условного выполнения команд. Даются примеры команд для работы с файловой системой

Оболочка командной строки Windows. Интерпретатор Cmd.exe

В операционной системе Windows , как и в других операционных системах, интерактивные (набираемые с клавиатуры и сразу же выполняемые) команды выполняются с помощью так называемого командного интерпретатора, иначе называемого командным процессором или оболочкой командной строки ( command shell ). Командный интерпретатор или оболочка командной строки - это программа , которая, находясь в оперативной памяти, считывает набираемые вами команды и обрабатывает их. В Windows 9x, как и в MS-DOS , командный интерпретатор по умолчанию был представлен исполняемым файлом command . com . Начиная с версии Windows NT, в операционной системе реализован интерпретатор команд Cmd.exe, обладающий гораздо более мощными возможностями.

Запуск оболочки

В Windows NT/2000/XP файл Cmd.exe, как и другие исполняемые файлы, соответствующие внешним командам операционной системы, находятся в каталоге %SystemRoot%\SYSTEM32 (значением переменной среды %SystemRoot% является системный каталог Windows, обычно C:\Windows или C:\WinNT). Для запуска командного интерпретатора (открытия нового сеанса командной строки) можно выбрать пункт Выполнить… (Run) в меню Пуск (Start), ввести имя файла Cmd.exe и нажать кнопку OK. В результате откроется новое окно (см. рис. 2.1), в котором можно запускать команды и видеть результат их работы.


Рис. 2.1.

Внутренние и внешние команды. Структура команд

Некоторые команды распознаются и выполняются непосредственно самим командным интерпретатором - такие команды называются внутренними (например, COPY или DIR ) Другие команды операционной системы представляют собой отдельные программы, расположенные по умолчанию в том же каталоге, что и Cmd.exe, которые Windows загружает и выполняет аналогично другим программам. Такие команды называются внешними (например, MORE или XCOPY ).

Рассмотрим структуру самой командной строки и принцип работы с ней. Для того, чтобы выполнить команду, вы после приглашения командной строки (например, C:\> ) вводите имя этой команды (регистр не важен), ее параметры и ключи (если они необходимы) и нажимаете клавишу . Например:

C:\>COPY C:\myfile.txt A:\ /V

Имя команды здесь - COPY , параметры - C:\myfile.txt и A:\ , а ключом является /V . Отметим, что в некоторых командах ключи могут начинаться не с символа /, а с символа – (минус), например, -V .

Многие команды Windows имеют большое количество дополнительных параметров и ключей, запомнить которые зачастую бывает трудно. Большинство команд снабжено встроенной справкой, в которой кратко описываются назначение и синтаксис данной команды. Получить доступ к такой справке можно путем ввода команды с ключом / ?. Например, если выполнить команду ATTRIB / ?, то в окне MS-DOS мы увидим следующий текст:

Отображение и изменение атрибутов файлов. ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[диск:][путь]имя_файла] + Установка атрибута. - Снятие атрибута. R Атрибут "Только чтение". A Атрибут "Архивный". S Атрибут "Системный". H Атрибут "Скрытый". /S Обработка файлов во всех вложенных папках указанного пути.

Для некоторых команд текст встроенной справки может быть довольно большим и не умещаться на одном экране. В этом случае помощь можно выводить последовательно по одному экрану с помощью команды MORE и символа конвейеризации |, например:

В этом случае после заполнения очередного экрана вывод помощи будет прерываться до нажатия любой клавиши. Кроме того, используя символы перенаправления вывода > и >> , можно текст, выводимый на экран, направить в текстовый файл для дальнейшего просмотра. Например, для вывода текста справки к команде XCOPY в текстовый файл xcopy.txt, используется следующая команда:

XCOPY /? > XCOPY.TXT

Замечание

Вместо имени файла можно указывать обозначения устройств компьютера. В Windows поддерживаются следующие имена устройств: PRN (принтер), LPT1 –LPT3 (соответствующие параллельные порты), AUX (устройство, присоединяемое к последовательному порту 1), COM1–COM3 (соответствующие последовательные порты), CON (терминал: при вводе это клавиатура, при выводе - монитор), NUL (пустое устройство, все операции ввода/вывода для него игнорируются).

Перенаправление ввода/вывода и конвейеризация (композиция) команд

Рассмотрим более подробно поддерживаемые в Windows UNIX-подобные концепции переназначения устройств стандартного ввода/вывода и конвейерного выполнения команд.

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

  • выводить сообщения программ не на экран (стандартный выходной поток), а в файл или на принтер (перенаправление вывода);
  • читать входные данные не с клавиатуры (стандартный входной поток), а из заранее подготовленного файла (перенаправление ввода);
  • передавать сообщения, выводимые одной программой, в качестве входных данных для другой программы (конвейеризация или композиция команд).

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

команда > имя_файла

Если при этом заданный для вывода файл уже существовал, то он перезаписывается (старое содержимое теряется), если не существовал - создается. Можно также не создавать файл заново, а дописывать информацию, выводимую командой, в конец существующего файла. Для этого команда перенаправления вывода должна быть задана так:

команда >> имя_файла

С помощью символа < можно прочитать входные данные для заданной команды не с клавиатуры, а из определенного (заранее подготовленного) файла:

команда < имя_файла

Приведем несколько примеров перенаправления ввода/вывода.

  1. Вывод встроенной справки для команды COPY в файл copy.txt:

    COPY /? > copy.txt

  2. Добавление текста справки для команды XCOPY в файл copy.txt:

    XCOPY /? >> copy.txt

  3. Ввод новой даты из файла date.txt (DATE - это команда для просмотра и изменения системной даты):

    DATE < date.txt

Если при выполнении определенной команды возникает ошибка, то сообщение об этом по умолчанию выводится на экран. В случае необходимости сообщения об ошибках (стандартный поток ошибок) можно перенаправить в текстовый файл с помощью конструкции

команда 2> имя_файла

В этом случае стандартный вывод будет производиться в файл. Также имеется возможность информационные сообщения и сообщения об ошибках выводить в один и тот же файл. Делается это следующим образом:

Драйверы символьных устройств

При вводе команды поток символов в первую очередь интерпретируется драйвером символьного устройства. Какой именно драйвер работает, в каждом случае зависит от используемого оборудования (более подробные сведения см. в «Описании программы. Часть 1. Справочник по утилитам» КПДА.10964-01 13 01).

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

Режимы ввода

Драйверы устройств символьного ввода/вывода могут функционировать либо в режиме необрабатываемых ("сырых") входных данных (raw input mode), либо в каноническом режиме (canonical mode), или режиме редактируемых входных данных (edited input mode). В режиме "сырых" входных данных все символы передаются приложению по мере их ввода. В режиме редактируемых входных данных приложение получает символы только после завершения ввода всей строки (о чем, как правило, свидетельствует символ возврата каретки).

Поддержка терминалов

Некоторым программам (например, vi) требуется информация о том, какие действия может выполнять ваш терминал (возможно ли перемещение курсора, очистка экрана и т. д.). Переменная окружения TERM указывает на тип используемого терминала, а каталог /usr/lib/terminfo представляет собой базу данных терминалов. В этом каталоге содержится набор подкаталогов (от a до z), в которых хранится информация для соответствующего терминала. Некоторые приложения вместо каталога /usr/lib/terminfo используют каталог /etc/termcap, представляющий собой устаревшую однофайловую модель базы данных.

Терминалом по умолчанию является qansi-m (QNX-версия терминала ANSI). Более подробные сведения об установке типа терминала см. в подразд. "Типы терминалов" раздела 9.

Служба telnet

При использовании сетевой службы telnet для связи между двумя QNX-машинами (под управлением QNX 4 или QNX Neutrino), для активизации восьмибитового тракта данных следует задавать параметр -8. Если вы подключаетесь к машине с QNX Neutrino из машины, управляемой какой-либо другой ОС, и терминал при этом не работает надлежащим образом, завершите telnet и запустите эту утилиту снова с параметром -8.

Примечание . При запуске telnet из ОС Windows пользуйтесь режимом ansi или vt100, в зависимости от типа терминала.

Общие сведения о клавиатуре

В табл. 4.1 указано, как драйверы устройств символьного ввода/вывода интерпретируют нажатия различных клавиш и их сочетаний (т. е. групп одновременно нажатых клавиш). Драйверы обрабатывают нажатия клавиш сразу после их выполнения.

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

В большинстве операционных систем Linux, bash является принятым по умолчанию интерпретатором командной строки. Для определения текущего интерпретатора введите следующую команду:

$ echo $SHELL
/bin/bash

В этом примере используется интерпретатор командной строки bash. Существует множество других командных интерпретаторов. Для активизации другого интерпретатора можно ввести его имя в командной строке (ksh, tcsh, csh, sh, bash и т.д.).

В большинстве полнофункциональных операционных систем Linux предоставляются на заметку все описанные здесь командные интерпретаторы. Но в небольших операционных системах могут быть предоставлены один или два интерпретатора.

Проверка доступности интересующего интерпретатора командной строки

Самым простым способом проверки доступности интересующего командного интерпретатора является ввод его имени в командной строке. Если интерпретатор запустился, он доступен.

Существует несколько причин для выбора альтернативных командных интерпретаторов.

  • Привычка работать в системах UNIX System V (во многих из них по умолчанию применяются интерпретатор ksh) или в системах компании Sun Microsystems и других системах на базе Berkeley UNIX (в них часто используется csh). В таком случае применение этих интерпретаторов командной строки окажется более удобным.
  • Необходимость запуска сценариев, которые создавались для определенного командного интерпретатора.
  • Возможности альтернативного командного интерпретатора могут оказаться более предпочтительными. Например, один из членов группы пользователей Linux предпочитает применять ksh, так как его не устраивает способ создания псевдонимов в bash.

Хотя большинство пользователей предпочитает работать в одном командном интерпретаторе, полученные навыки помогают научиться работать и в других интерпретаторах командной строки , изредка заглядывая в справочное руководство (например, с помощью команды manbash). Большинство используют bash, так как нет причин переходить на другой интерпретатор.

Использование Bash и ch

Название bash является аббревиатурой от Bourne Again SHell. Эта аббревиатура указывает на то, что bash наследует интерпретатор Bourneshell (команда sh), созданный Стивом Борном (Steve Bourne) из AT&TBell Labs. Брайан Фокс (Brian Fox) из Free Software Foundation создал bash в составе проекта GNU. В дальнейшем разработка перешла в руки Чета Рами (Chet Ramey) в Case Western Reserve University.

Интерпретатор bash содержит возможности, которые разрабатывались для интерпретаторов sh и ksh во времена ранних версий UNIX, а также ряд возможностей интерпретатора csh.

Можно рассчитывать, что в большинстве систем Linux, кроме специализированных (например, встраиваемых или загружающихся с внешнего диска), интерпретатор bash применяется по умолчанию. В специализированных системах может потребоваться командный интерпретатор меньшего объема, что подразумевает и ограничение возможностей.

Большинство примеров в этой статье рассчитано на использование bash.

Интерпретатор bash может запускаться в различных режимах совместимости, имитируя поведение других командных интерпретаторов. Он может имитировать поведение Bourne shell (sh) или командного интерпретатора, совместимого со стандартами POSK (bash — posix).

В результате интерпретатор bash с большей вероятностью сможет успешно читать файлы конфигурации и запускать сценарии, написанные специально для других командных интерпретаторов.

Все предоставляемые операционные системы Linux по умолчанию используют интерпретатор bash, кроме операционных систем, загружаемых со сменных носителей, в которых по умолчанию применяется интерпретатор ash.

Использование tcsh (и более раннего интерпретатора csh)

Командный интерпретатор tcsh является реализацией интерпретатора Сshell (csh) с открытым исходным кодом. Интерпретатор csh был создан Биллом Джоем (Bill Joy) и используется по умолчанию практически во всех системах Berkeley UNIX (такие системы распространялись компанией Sun Microsystems).

Многие возможности csh, например редактирование командной строки и методы управления историей команд, были реализованы в интерпретаторе tcsh и в других командных интерпретаторах. Так же как команда sh запускает интерпретатор bash в режиме совместимости с интерпретатором sh, команда csh запускает интерпретатор tcsh в режиме совместимости с интерпретатором csh.

Использование интерпретатора ash

Интерпретатор ash является облегченной версией интерпретатора Berkeley UNIX sh. Он не содержит многих базовых функций и не предоставляет таких возможностей, как история команд.

Интерпретатор ash хорошо подходит для применения во встраиваемых системах с ограниченными системными ресурсами. В операционной системе FedoraCore 4 интерпретатор ash на порядок меньше интерпретатора bash.

Использование zsh

Интерпретатор zsh является еще одним клоном интерпретатора sh. Он соответствует требованиям стандарта POSIX (как и bash), но обладает другими возможностями, включая проверку орфографии и иной подход к редактированию командной строки. Интерпретатор zsh использовался по умолчанию в первых операционных системах MacOS X, но в современных системах по умолчанию применяется интерпретатор bash.