Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«UNIX β€” ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ срСда программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 74

Автор ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ Π‘Ρ€Π°ΠΉΠ°Π½ Уилсон

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5.29

ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

version
, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ Π΄Π²Π° задания:

$ version -5 Ρ„Π°ΠΉΠ»

Π²Ρ‹Π΄Π°Π΅Ρ‚ сводку ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π΄Π°Ρ‚Ρƒ измСнСния ΠΈ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄ΡˆΠ΅Π³ΠΎ измСнСния Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° истории вСрсии, Π°

$ version sep 20 Ρ„Π°ΠΉΠ»

Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ вСрсии, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ 20 сСнтября. Π’ΠΈΠΏΠΈΡ‡Π½ΠΎΠ΅ использованиС этой возмоТности ясно ΠΈΠ· обращСния:

$ get 'version sep 20 Ρ„Π°ΠΉΠ»'

(Команда

version
ΠΌΠΎΠΆΠ΅Ρ‚ для удобства ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эхо ΠΈΠΌΠ΅Π½ΠΈ Ρ„Π°ΠΉΠ»Π° истории.)

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5.30

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

get
ΠΈ
put
Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠΌ истории ΠΎΠ½ΠΈ использовали ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π° Π½Π΅ Π·Π°Π³Ρ€ΠΎΠΌΠΎΠΆΠ΄Π°Π»ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ.

Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5.31

Когда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ всС вСрсии. Как Π±Ρ‹ Π²Ρ‹ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ вСрсий ΠΈΠ· сСрСдины Ρ„Π°ΠΉΠ»Π° истории?

5.10 Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Когда ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ встаСт Π·Π°Π΄Π°Ρ‡Π° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ СстСствСнноС ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π° своСм любимом языкС программирования. Для нас Ρ‚Π°ΠΊΠΈΠΌ языком Ρ‡Π°Ρ‰Π΅ всСго оказываСтся

shell
, хотя синтаксис Π΅Π³ΠΎ нСсколько Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π΅Π½.
Shell
Β β€” ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ язык программирования. БСзусловно, это язык высокого уровня: ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² Π½Π΅ΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π»Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π΄ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π΄ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ состояния нСбольшими шагами. Π”Π°Π»Π΅Π΅, Ссли ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ пользования, ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ "Π²Ρ‹Π»ΠΈΠ·Ρ‹Π²Π°Ρ‚ΡŒ" ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Π² расчСтС Π½Π° ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ ΠΊΡ€ΡƒΠ³ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ Ρ‚Π΅Ρ… Ρ€Π΅Π΄ΠΊΠΈΡ… случаях, ΠΊΠΎΠ³Π΄Π°
shell
-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° оказываСтся нСэффСктивной, Ρ‡Π°ΡΡ‚ΡŒ Π΅Π΅ ΠΈΠ»ΠΈ вся ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пСрСписана Π½Π° языкС Π‘ΠΈ, Π½ΠΎ Π½Π° основС ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° с Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. (Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ‹ нСсколько Ρ€Π°Π· ΠΏΡ€ΠΎΠΉΠ΄Π΅ΠΌ этот ΠΏΡƒΡ‚ΡŒ.)

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π΅Π½ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° UNIX β€” Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π΅ с нуля, Π° Π½Π° Π±Π°Π·Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ сдСлали Π΄Ρ€ΡƒΠ³ΠΈΠ΅, ΠΈΠ΄Ρ‚ΠΈ ΠΎΡ‚ простого ΠΊ слоТному, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ срСдства для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΈΠ΄Π΅ΠΉ.

Π’ настоящСй Π³Π»Π°Π²Π΅ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка

shell
ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Иногда достаточно лишь ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ сдСлано Π² случаС с ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
cal
. Иногда ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ†ΠΈΠΊΠ»Ρ‹ языка
shell
ΠΏΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€Π°ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄ (см., Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,
watchfor
ΠΈΠ»ΠΈ
checkmail
). Для Π±ΠΎΠ»Π΅Π΅ слоТных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² всС Ρ€Π°Π²Π½ΠΎ трСбуСтся мСньшС усилий, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Π‘ΠΈ. Π’Π°ΠΊ, наша вСрсия ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
news
Π½Π° языкС
shell
замСняСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° Π‘ΠΈ Π² 350 (!) строк.

Однако Π΄Π΅Π»ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌ языкС. НСдостаточно ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈ мноТСство ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ согласованно ΠΈ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ соглашСний ΠΎ прСдставлСнии ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π―Π·Ρ‹ΠΊ

shell
позволяСт всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ встаСт новая Π·Π°Π΄Π°Ρ‡Π°, ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ простым ΠΈ эффСктивным способом. ИмСнно интСграция β€” ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° высокой продуктивности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° UNIX.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΈ библиографичСская справка

ИдССй использования команд

put
ΠΈ
get
ΠΌΡ‹ обязаны систСмС управлСния исходными тСкстами (Source Code Control System β€” SCCS), созданной M. Π ΠΎΡ‡ΠΊΠΈΠ½Π΄ΠΎΠΌ (The Source Code Control System. β€” IEEE Trans, on Software Engineering, 1975). Π­Ρ‚Π° систСма Π±ΠΎΠ»Π΅Π΅ мощная ΠΈ гибкая, Ρ‡Π΅ΠΌ наши простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹; ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для поддСрТания процСсса создания Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Однако основу SCCS составляСт всС Ρ‚Π° ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°
diff
.

Π“Π»Π°Π²Π° 6

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

Π”ΠΎ сих ΠΏΠΎΡ€ ΠΌΡ‹ использовали ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ инструмСнты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅, Π½ΠΎ сСйчас ΡƒΠΆΠ΅ достигнут Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π΅Π» Π² создании Π½ΠΎΠ²Ρ‹Ρ… срСдств с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ

shell
,
sed
ΠΈ
awk
. Π’ этой Π³Π»Π°Π²Π΅ Π½Π°ΠΌ прСдстоит Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ простыС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС программирования Π‘ΠΈ. ΠžΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π°Ρ философия конструирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… совмСстно, Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ влияниС Π½Π° построСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ наша Ρ†Π΅Π»ΡŒ β€” ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ инструмСнты, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒΡΡ. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ случаС ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ попытаСмся ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡƒΡŽ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΈΡ… инструмСнтов: Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ с ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ свойства, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ срСдства, Ссли Π² Π½ΠΈΡ… Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ.

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ вСскиС ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ "с нуля". Π’Π°ΠΊ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ, просто Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Часто приходится ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ с нСтСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. НапримСр, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Ρ€Π°Π½Π΅Π΅, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ лишь с тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ Π»ΠΈΠ±ΠΎ слишком Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Π»Π°ΡΡŒ долТная ΡΡΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ

shell
ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ срСдства ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния. Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… случаях рСализация с использованиСм
shell
ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Π° для апробирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΅Π΅ интСрфСйса с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. (Если ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ достаточно Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½Π΅Ρ‚ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ для Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»ΠΊΠΈ.) Π£ΠΆΠ΅ знакомая Π²Π°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° zap являСтся Π² этом смыслС Π½Π΅ΠΏΠ»ΠΎΡ…ΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ: трСбуСтся всСго нСсколько ΠΌΠΈΠ½ΡƒΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Π½Π°
shell
, которая ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, Π½ΠΎ слишком ΠΌΠ΅Π΄Π»Π΅Π½Π½Π°.

ΠœΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° языкС Π‘ΠΈ β€” стандартном языкС систСмы UNIX (ядро ΠΈ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ написаны Π½Π° Π‘ΠΈ), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Ρ‚ ΠΈΠ½ΠΎΠ³ΠΎ языка, хотя Π±Ρ‹ отчасти Ρ‚Π°ΠΊΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ этот язык, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π² Ρ‚Π°ΠΊΠΎΠΉ стСпСни, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свободно Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΌ здСсь ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅. Если это Π½Π΅ Ρ‚Π°ΠΊ, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Ρƒ "Π―Π·Ρ‹ΠΊ программирования Π‘ΠΈ" Π‘. ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ Π”. Π ΠΈΡ‚Ρ‡ΠΈ (М.: Ѐинансы ΠΈ статистика, 1985) [13]. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ "стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°" β€” Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Π‘ΠΈ эффСктивными ΠΈ пСрСносимыми срСдствами Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ систСмными услугами. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ…, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ UNIX, систСмах, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π‘ΠΈ, поэтому ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, взаимодСйствия с систСмой ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ возмоТностями Ρ‚Π°ΠΊΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ пСрСнСсСны.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Π½Ρ‹Π΅ Π² настоящСй Π³Π»Π°Π²Π΅, ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ±Ρ‰Π΅Π΅ свойство: ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой нСбольшиС "инструмСнты", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ рСгулярно, Π½ΠΎ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ сСдьмой вСрсии систСмы. Если ваша систСма ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Π²Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³Ρ‡Π΅ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ систСмы. Если ΠΆΠ΅ Π²Ρ‹ с Π½ΠΈΠΌΠΈ Π΅Ρ‰Π΅ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ‹, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π²Π°ΠΌ Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌΠΈ. Π­Ρ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ систСмы Π½Π΅ сущСствуСт, ΠΈ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹, достаточно ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚ΡŒ лишь нСбольшиС усилия