Яка структура команди інтерпретатора. Інтерпретатор командного рядка. Створення жорсткого зв'язку

У цьому розділі описані команди та символи, які мають особливе значення, які дозволяють:

  • - знаходити за допомогою шаблону та маніпулювати групами файлів;
  • - запускати команду в фоновому режиміабо у певний час;
  • - Виконувати послідовно групу команд;
  • - перенаправляти стандартні введення та виведення;
  • - Завершувати працюючі програми.

Інтерпретатор SHELL є оболонкою всієї операційної системи та виконує інтерфейсні функції між користувачем та ОС. Він перехоплює та інтерпретує всі команди користувача, формує та виводить повідомлення у відповідь.

Крім запуску виконання стандартних команд UNIX і файлів, що виконуються, інтерпретатор включає власну мову, яка за своїми можливостями наближається до високорівневим мовампрограмування. Ця мова дозволяє створювати програми (shell-файли, скрипти), які можуть включати оператори мови та команди UNIX. Такі файли не вимагають компіляції і виконуються в режимі інтерпретації, але вони повинні мати право на виконання (встановлюється за допомогою команди chmod).

Спілкування користувача з командним інтерпретатором здійснюється введенням команд із клавіатури після появи промпта (запрошення), як правило, символу "$". Введену послідовність символів інтерпретатор розглядатиме або як ім'я внутрішньої команди, або як ім'я виконуваного файлу.

Процедурі (скрипту) shell можуть бути передані аргументи під час запуску. Кожному з перших дев'яти аргументів ставиться у відповідність позиційний параметр від $1 до $9 ($0 - ім'я самої процедури), і за цими іменами до них можна звертатися з тексту процедури.

Перед тим, як почати розгляд деяких операторів shell, слід звернути увагу на використання в командах деяких символів.

Нижче наведені метасимволи, що використовуються shell:

*? - дозволяють вказувати скорочені імена файлів під час пошуку за шаблоном;

& - означає, що команда виконуватиметься у фоновому режимі;

; - розділяє команди у командному рядку;

Скасує спеціальне значення символів, таких як *, ?, [, ], &, ;,<,

"..." - скасовують значення пробілу як роздільника та спеціальне значення

всіх символів;

"..." - скасовують значення пробілу як роздільника і спеціальне значення всіх символів, крім $ і;

> - перенаправляє виведення команди у файл;

< - Перенаправляє введення команди з файлу;

>> - перенаправляє висновок команди, який має бути доданий до

кінець існуючого файлу;

| - створює канал, що спрямовує виведення однієї команди у введення іншої

`...` - використовується у парі; дозволяє використовувати висновок команди як

аргументи у командному рядку;

$ - використовується з позиційними параметрами і певними поль-

зователем змінними, також використовується за замовчуванням в

якості підказки shell.

Крім того, для зручності роботи з файлами майже всі командні інтерпретатори інтерпретують символи "?" та "*", використовуючи їх як шаблони імен файлів (т.зв. метасимволи):

  • ? - один будь-який символ;
  • * - довільна кількість будь-яких символів.

Наприклад: *.c – задає всі файли з розширенням "c";

pr???.* - задає файли, імена яких починаються з "pr", містять п'ять символів і мають розширення.

Змінні мови shell

Мова shell дозволяє працювати зі змінними (без попереднього оголошення). Імена змінних починаються з літери та можуть включати літери та цифри. Звертання до змінних починається зі знака "$".

приклад. Перехід до початкового каталогу користувача: cd $HOME

Оператор присвоєння. Надання значень змінним здійснюється за допомогою оператора `=" без пробілів.

Драйвери символьних пристроїв

Під час введення команди потік символів в першу чергу інтерпретується драйвером символьного пристрою. Який саме драйвер працює, у кожному випадку залежить від обладнання, що використовується (докладніші відомості див. в «Описі програми. Частина 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 вказано, як драйвери пристроїв символьного вводу/виводу інтерпретують натискання різних клавішта їх поєднань (тобто груп одночасно натиснутих клавіш). Драйвери обробляють натискання клавіш відразу після виконання.

Примітка. Відгук системи на роботу користувача з клавіатурою може відрізнятися від описаного далі, якщо:

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-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/

Примітки:

- Помилки в текстах питань є оригінальними (помилки ІНТУІТ) і не виправляються нами по наступною причиною- відповіді легше підбирати питання зі специфічними помилками у текстах;

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

При роботі з FreeBSD, у більшості випадків для виконання повсякденних завдань використовується командний інтерфейс(так званий ``шелл''), який приймає команди, які йому подаються, та виконує їх. Багато командні інтерпретатори мають вбудовані засоби виконання найчастіше використовуваних команд, наприклад, операції над файлами та каталогами, редагування командного рядка, командні макроси та змінні оточення. Разом з FreeBSD поставляється кілька командних інтерпретаторів, наприклад, sh або Bourne Shell, і csh, інакше C-shell. Багато інших, більш потужних, наприклад, tcsh або bash, доступні в колекції портів.Який з командних інтерпретаторів використовувати? Це справа смаку. Якщо Ви програмуєте на C, то Вам, можливо, сподобається tcsh, а якщо Ви працювали з Linux, то Вас швидше влаштує bash, ніж будь-що інше. Кожен із названих інтерпретаторів має свої особливі властивості, які відрізнять його від інших і, можливо, вплинуть на Ваш вибір. Ви можете набрати тільки перші кілька символів імені файлу, натиснути клавішу табуляції (TAB), і командний інтерпретатор автоматично Наприклад, ми маємо два фали, названі foobar і foo.bar . Допустимо, ми хочемо видалити файл foo.bar. Для цього наберемо на клавіатурі rm fo. .Ви побачите наступне: rm foo.bar .Тут - це так званий консольний дзвінок, що сигналізує про те, що інтерпретатор не в змозі закінчити ім'я файлу, оскільки за введеними Вами символами неможливо однозначно ідентифікувати файл. Наприклад, імена файлів foobar і foo.bar обидва починаються з fo, але після натискання TAB можна однозначно доповнити лише до foo. Якщо ж тепер ввести точку (.) і знову натиснути TAB, інтерпретатор добудує ім'я файлу повністю. Під змінною оточення розуміється певний рядок символів, що ідентифікується деяким ім'ям. Значення змінних оточенняможе бути прочитано будь-якою програмою, запущеною з командного інтерпретатора, і часто містить конфігураційні налаштування для багатьох програм і утиліт. Нижче наведені деякі змінні оточення, що найчастіше зустрічаються, з поясненням їх значення:

ЗміннаОпис USERІм'я користувача.PATHКаталоги, розділені двокрапкою, у яких здійснюватиме пошук виконуваних файлів.DISPLAYМережеве ім'я віртуального дисплея X11, якщо доступне для підключення.SHELLПоточний командний інтерпретатор.TERMНазва (тип) терміналу. Використовується, щоб дізнатися про можливості терміналу.TERMCAPСписок escape-послідовностей для керування різними функціямитерміналу.OSTYPEНазва (тип) операційної системи. Наприклад, FreeBSD.MACHTYPEАрхітектура машини (процесора).EDITORВподобаний користувачем текстовий редактор. PAGERПереважна утиліта перегляду файлів.MANPATHКаталоги, розділені двокрапкою, у яких здійснюватиме пошук файлів системного довідника.

Залежно від використовуваного командного інтерпретатора, перегляду та встановлення значень змінних оточення служать різні команди. Наприклад, в інтерпретаторах csh і tcsh це setenv. У sh і bash це set і export. Зокрема, щоб встановити або змінити значення змінної EDITOR (в csh або tcsh), що дорівнює /usr/local/bin/emacs , виконайте команду: setenv EDITOR /usr/local/bin/emacs Якщо Ви використовуєте bash: export EDITOR="/usr /local/bin/emacs" Щоб отримати значення змінної, наприклад, у командному рядку, помістіть символ долара ($) перед ім'ям змінної. Наприклад, команда echo $TERM виведе значення змінної $TERM .Командний інтерпретатор сприймає деякі символи, які називаються метасимволами, як керуючі, що несуть спеціальні функції. Одні з найчастіше використовуваних символ * , який замінює будь-яку кількість символів в імені файлу, і? , що замінює один символ. Ці метасимволи використовуються для пошуку файлів по масці, наприклад, команда echo * виконує практично те саме, що і команда ls , тому що під маску * потрапляють усі файли з поточного каталогу (насправді це завжди так і залежить від командного інтерпретатора, наприклад У деяких ситуаціях потрібно, щоб інтерпретатор сприймав метасимволи як звичайні, що не несуть спеціального смислового навантаження. Цього можна досягти, поставивши перед символом зворотну косу межу (\). Наприклад, команда echo $TERM виведе тип терміналу, в той же час команда echo \$TERM виведе саме слово $TERM , а не значення змінної $TERM .

3.4.1. Як змінити командний інтерпретатор за замовчуванням

Найпростішим, мабуть, буде скористатися командою chsh. Якщо змінна EDITOR визначена, буде завантажено текстовий редактор $EDITOR , інакше vi. Вам потрібно буде змінити значення поля ``Shell:"" і вийти з редактора зі збереженням результатів. Можна також скористатися опцією -s команди chsh. Наприклад: % chsh -s /usr/local/bin/bash
Note: Пам'ятайте, щоб використовувати деяку програму як командний інтерпретатор, вона повинна бути обов'язковозгадана у файлі /etc/shells. Зазвичай при установці інтерпретаторів з дерева портів це робиться автоматично. Якщо ж це не так, Вам потрібно буде самим додати відповідний рядок до цього файлу. Наприклад, припустимо, що Ви встановили bash вручну, без використання відповідного порту, і помістили його в каталог /usr/local/bin. В такому випадку можна набрати: # echo "/usr/local/bin/bash" >> /etc/shells Тепер можна сміливо використовувати команду chsh .

Командний інтерпретатор, інтерпретатор командного рядка - комп'ютерна програмачастина операційної системи, що забезпечує базові можливостікерування комп'ютером через інтерактивне введення команд через інтерфейс командного рядка або послідовного виконання пакетних командних файлів.

Як правило, його функції зводяться до надання користувачеві можливості запускати інші програми, може також містити деякі базові командивведення-виводу та свою просту скриптову мову програмування.

@ echo off : begin Cls Title Калькулятор Color 71 Echo Введіть рівняння: Set /P exp = Set /A result =% exp % Title Обчислено Echo Ваше рівняння: %exp% Echo Рішення: %result% Pause > nul goto begin

Калькулятор, для командної оболонки bash:

#!/usr/bin/env bash echo "Калькулятор" while read -p "Введіть вираз: " expr do echo "Результат: $(($expr )) " done

Поняття

Оболонка у своїй роботі оперує простими командами.

Проста команда- це послідовність слів через прогалину. Натискання клавіші Enterпри введенні команди або перекладу рядка при обробці сценарію є для командного інтерпретатора ознакою завершення команди. Вона обробляється та виконується.

Конвеєр- це послідовність однієї чи більше команд, розділених |(& для cmd.exe). Стандартний вихідний потік кожної команди, крім останньої, з'єднується за допомогою програмного каналу зі стандартним потоком вхідної наступної команди. Кожна команда виконується як окремий процес; інтерпретатор чекає на закінчення останньої команди. Статус виходу конвеєра є статус виходу його останньої команди. Ось приклад простого конвеєра для інтерпретатора bash:

$ls | tee save | wc 15 15 100

Командні інтерпретатори

Data Control Language – мова баз даних для здійснення адміністративних функцій

Digital Command Language - інтерпретатор командного рядка в операційні системифірми DEC.

DCL - сучасна французька важка броньована ремонтно-евакуаційна машина

MZ (формат)

MZ - стандартний формат 16-бітових виконуваних файлів з розширенням .EXE для DOS. Названо так за сигнатурою - ASCII-символами MZ (4D 5A) у перших двох байтах. Ця сигнатура - ініціали Марка Збіковського, одного зі творців MS-DOS. Формат був розроблений як заміна застарілому формату. Виконані файли MZ включають метадані, можуть мати розмір більше 64 Кбайт і використовувати кілька сегментів пам'яті різного типу(коду, даних і стека), точка входу в програму також може бути будь-де (у файлах.COM виконання команд завжди починається безпосередньо з початку файлу). Метод завантаження виконуваного файлу визначається за сигнатурою: за її наявності обробляється MZ-заголовок, за відсутності файл запускається як.COM - незалежно від розширення файлу (наприклад, в останніх версіях MS-DOS інтерпретатор командного рядка COMMAND.COM насправді є EXE-файлом ).

Виконувані файли пізніших форматів для Windows починаються з MZ-заглушки. Зазвичай заглушка, що додається компіляторами, виводить повідомлення на кшталт "This program cannot be run in DOS mode" ("Цю програму неможливо запустити в режимі DOS").

У старих компонувальниках для DOS могла застосовуватись сигнатура ZM, яка також розпізнається MS-DOS і поряд сумісних ОС.

SQL*Plus

SQL*Plus - програма-інтерпретатор командного рядка для роботи із системою управління базами даних Oracle Database, у якій можуть виконуватися команди SQLі PL/SQL інтерактивному виглядіабо зі сценарію.

SQL*Plus працює як відносно простий інструмент з інтерфейсом командного рядка. Програмісти та адміністратори СУБД зазвичай використовують його як інструмент за замовчуванням, тому що інтерфейс доступний практично у будь-якій установці програмного забезпечення Oracle.

TOPS-20

TOPS-20 (перш за TENEX) - операційна система, розроблена компанією BBN Technologies (Bolt, Beranek and Newman) для комп'ютерів DEC PDP-10. TENEX включала повну реалізацію системи віртуальної пам'яті, що дозволяло програмам не тільки здійснювати доступ до всіх 262 кілословів пам'яті (еквівалент 1152 кілобайт), але і робити це одночасно; система сторінкової організаціїпам'яті копіювала дані з і на зовнішні носіїпо мірі необхідності.

Одною з відмінних рис TENEX був орієнтований на користувача інтерпретатор командного рядка. На відміну від типових системтого часу[яких?], у TENEX для ясності використовувалися довгі іменакоманд навіть із надмірними словами. Наприклад, для друку вмісту каталогу в UNIX використовується команда ls, а в TENEX - DIRECTORY (OF FILES), де DIRECTORY є ключовим словом, а OF FILES - надмірністю, внесеною для того, щоб зробити призначення команди більш очевидним. локальної мережіпрограма Creeper, яку помилково вважають одним із перших у світі комп'ютерних вірусів.

Take Command

Take Command - це ім'я, яке компанія JP Software використовувала у своїх інтерпретаторах командного рядка з графічним інтерфейсом (GUI) для Windows 3.1 (TC16), 32-розрядних версій Windows(TC32) та пізніше для OS/2 Presentation Manager (TCOS2). Вони випускалися паралельно з версіями 4DOS 5.5, 4NT 2.5 та 4OS2 2.52. Продукти для OS/2 та Windows у 16-розрядних варіантах проіснували до версії 2.02, їх можна завантажити і зараз із FTP-сайту JP Software.

Take Command сьогодні – це інтерпретатор командного рядка для операційних систем сімейства Microsoft Windows. Його переваги перед стандартною командною оболонкою Windowsтакі ж, як у 4DOS перед COMMAND.COM із постачання MS-DOS.

Починаючи з версії 9, назва Take Command відноситься до всього пакету програм: TCI (командний інтерфейс у вкладках) та 4NT. Розробку вихідної версії Take Command припинено. Компонент TCI тепер розширений: він включає диспетчер файлів, панелі, що настроюються, і ряд інших вікон, а 4NT перейменований в TCC і крім повної версіїдоступний у безкоштовній «полегшеній» (TCC/LE).

До складу Take Command додані вбудовані редактор та налагоджувач пакетних файлів, у командах реалізований доступ до файлів по FTP та HTTP, доступ до мережевої файлової системи, інтеграція з Active Scripting, команди моніторингу системи та управління службами Windows.

Take Command Console (TCC)

Take Command Console (TCC) (колишні назви - 4DOS for Windows NT і 4NT) - це інтерпретатор командного рядка, що випускається компанією JP Software як більш функціонально насичена заміна стандартного інтерпретатора командного рядка Microsoft Windows - CMD.EXE. TCC заснований на раніше виходили командних оболонках 4DOS для DOS та 4OS/2 для OS/2.

Починаючи з версії 12 у 4NT видалена підтримка Windows 95, 98, ME, NT і 2000. Починаючи з версії 16 у TCC видалена підтримка Windows XP, хоча робота в XP, як і раніше, можлива. 4NT перейменована в Take Command Console (TCC) як частину пакета JP Software Take Command версії 9 та новішої.

TCC надає великий набір можливостей для роботи з командним рядком та пакетними файлами. Для забезпечення широкого доступу до операційної системи TCC дозволяє спільно працювати з іншими мовами сценаріїв - REXX, Ruby і Perl, або скрипт-мовами Windows, у вигляді движків Active Scripting - VBScript і JScript, а також PerlScript (через ActivePerl), TclScript (через ActiveTcl ), PythonScript (через ActivePython), і версією скрипт-движка Object REXX.

Інтерфейс командного рядка

Інтерфейс командного рядка (Command line interface, CLI) - різновид текстового інтерфейсу (CUI) між людиною і комп'ютером, у якому інструкції комп'ютера даються переважно шляхом введення з клавіатури текстових рядків (команд), в UNIX-системах можливе застосування миші. Також відомий за назвою консоль.

Інтерфейс командного рядка протиставляється системам керування програмою на основі меню, а також різним реалізаціям графічного інтерфейсу.

Формат виведення інформації в інтерфейсі командного рядка не регламентується; зазвичай це також простий текстовий висновок, але може бути графічним, звуковим і т.д.

Консоль відновлення

Консоль відновлення (англ. Recovery Console) - компонент, включений до складу Windows 2000, Windows XP та Windows Server 2003. Він надає адміністраторам засоби виконання обмеженого кола завдань із використанням інтерфейсу командного рядка. Його основне завдання полягає в тому, щоб дозволити адміністраторам відновлювати ОС у ситуаціях, коли Windows не завантажується до графічного інтерфейсу користувача. Консоль відновлення використовується для надання доступу до жорсткому дискуу надзвичайній ситуації через командний рядок. Таким чином, до консолі відновлення можна отримати доступ або через вихідний інсталяційний носій, що використовується для установки Windows, або також можна встановити на жорсткий дискі додати в меню NTLDR, однак, покладаючись на останнє, це ризиковано, тому що для цього потрібно, щоб комп'ютер завантажився до NTLDR.

Порівняння мов програмування

У наведеній нижче таблиці зазначено наявність або відсутність тих чи інших можливостей деяких популярних сьогодні мовами програмування. Стовпці впорядковані за абеткою. Якщо можливість мові недоступна безпосередньо, але може бути емульована за допомогою інших засобів, то таблиці зазначено, що її немає.

При заповненні таблиці враховано лише фактичні дані, у тому, що наявність можливості обов'язково є перевагою мови, а відсутність - недоліком.

Точка з'єднання NTFS

Точка з'єднання NTFS (англ. NTFS Junction Point) - нововведення у файловій системі NTFS 3.0 (файлова система за промовчанням у Windows 2000). Суть нововведення полягає в тому, що вказаний логічний диск або папка відображатиметься як папка на іншому логічному дискуабо в іншій папці. Ця можливість дозволяє створювати деякі ефекти з файловою системою(наприклад, зберігати два профілі одного і того ж користувача і перемикатися між ними без особливих проблем). Точка з'єднання реалізована NTFS як особливий тип точки повторної обробки (англ. reparse point).

Цю функцію можна налаштувати в оснастці «Керування дисками»: клацання правою кнопкоюна диску, що підключається, пункт «Змінити букву диска або шлях до диска ...», далі в списку будуть відображені всі можливі шляхидо диска, за промовчанням диск доступний за своєю літерою («Х:» - де Х літера диска). Змінювати шляхи до диска можна кнопками під списком.

Для створення точки з'єднання на папку можна скористатися утилітою linkd, яка входить до комплекту Windows 2000 та Windows XP Resource Kits. У Windows Vistaі вище точку з'єднання або символьне посиланняможна створити за допомогою стандартної консольної команди mklink.

Для доступу до такої папки не потрібні додаткові налаштуваннядодатків, тобто доступ здійснюється запровадженням адреси папки. Таким чином, зникає обмеження на 26 локальних томіводному комп'ютері (кількість літер англійського алфавіту для іменування дисків), оскільки тому може бути доступний без присвоєння йому імені.

Шебанг (Unix)

Шебанг (англ. shebang, sha-bang, hashbang, pound-bang, або hash-pling) - у програмуванні послідовність з двох символів: грати та знака оклику("#!") на початку файлу скрипта.

Коли скрипт із шебангом виконується як програма в Unix-подібних операційних системах, завантажувач програм розглядає залишок рядка після шебангу як ім'я файлу інтерпретатора. Завантажувач запускає цю програму та передає їй як параметр ім'я файлу скрипта з шебангом. Наприклад, якщо повне ім'яфайлу скрипта "path/to/script" та перший рядок цього файлу:

#!/bin/shзавантажувач запускає на виконання "/bin/sh" (зазвичай це Bourne shell або сумісний інтерпретатор командного рядка) і передає "path/to/script" як перший параметр.

Рядок із шебангом зазвичай пропускається інтерпретатором, оскільки символ "#" є символом початку коментарів у багатьох скриптових мовах. Деякі інтерпретатори, які не використовують символ ґрат для позначення початку коментарів (такі, як Scheme), можуть пропустити рядок шебангу, визначивши його призначення. Інші рішення покладаються на препроцесор, який обробляє та видаляє рядок шебангу перед тим, як решта скрипта передається компілятору чи інтерпретатору. Так, наприклад, працює InstantFPC, який дозволяє запускати програми, написані на Free Pascal як скрипти на деяких операційних системах.