ΠΠ΅Π΄Π΅Π»Ρ Π½Π°Π·Π°Π΄ ΠΡΠ³Π»Π°Ρ ΠΠ°ΠΊΠΈΠ»ΡΠΎΠΉ (Douglas McIlroy), ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° UNIX ΠΈ Π°Π²ΡΠΎΡ ΠΏΠΎΠ½ΡΡΠΈΡ Β«ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅Β»,
Π€ΠΎΡΠΎ β
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ
Π UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ
ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
Π΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°. Π£ΡΠΈΠ»ΠΈΡΠ° typo ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»Π° ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ Π½Π° Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΠΊ ΠΈ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ typo Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΠΎΠΌΠ½ΡΡ β Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π»Π΅Ρ Π½Π°Π·Π°Π΄ ΡΠ½ΡΡΠ·ΠΈΠ°ΡΡ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΈΠ· 80-Ρ
β ΠΏΠ°ΠΊΠ΅Ρ Writer’s Workbench ΠΎΡ ΠΠΎΡΠΈΠ½Π΄Ρ Π§Π΅ΡΡΠΈ (Lorinda Cherry) ΠΈ ΠΠΈΠ½Ρ ΠΠ°ΠΊΠ΄ΠΎΠ½Π°Π»ΡΠ΄ (Nina McDonald) ΠΈΠ· Bell Labs. Π Π΅Π³ΠΎ ΡΠΎΡΡΠ°Π²
Π UNIX ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΎΡΠΌΡΠ»Π°ΠΌΠΈ. ΠΡΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ eqn. ΠΠ½ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ Π΅Ρ ΠΏΡΠΎΡΡΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΌΠ΅ΡΠ°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΠΊΠΈ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ, ΠΌΠ΅Π½ΡΡΡ ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ:
sum from { k = 1 } to N { k sup 2 }
ΠΠ° Π²ΡΡ ΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π°:
Π 1980β1990-Ρ
eqn
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
Π ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΡΠ΅Π΄Π΅ ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΡ Hacker News ΠΎΡΠΌΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ
ΡΡΠΈΠ»ΠΈΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ
ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ
ΡΡΠΎΠ»Π±ΡΠΎΠ². Π ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ ΠΏΠΎΠΏΠ°Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ β ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. Π’ΡΠ΅ΡΠΈΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ comm ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π»Π΅ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ΅Π·ΠΈΠ΄Π΅Π½ΡΠΎΠ² ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠΈ
comm <(sort fileA.txt) <(sort fileB.txt)
Comm ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ»ΠΎΠ². ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΈΡ
Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ-ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΌ. Π£ΡΠΈΡΡΠ²Π°Ρ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², Π΅ΡΡΡ
Π€ΠΎΡΠΎ β
Π’Π°ΠΊΠΆΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ Π½Π° HN
$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo baz
bar qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo bar
baz qux
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΠ°ΠΊΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠ°Π»ΠΈ ΠΎΡΠΊΡΡΡΠΈΠ΅ΠΌ Π΄Π»Ρ Π²Π°Ρ?
Π ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ Π±Π»ΠΎΠ³Π΅:
ΠΠ°ΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½: ΡΡΠ° ARPANET
ΠΡΡΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½: ΠΏΠ΅ΡΠ²ΡΠ΅ DNS-ΡΠ΅ΡΠ²Π΅ΡΡ
ΠΡΡΠΎΡΠΈΡ DNS: ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΡΡΠ°Π»ΠΈ ΠΏΠ»Π°ΡΠ½ΡΠΌΠΈ
ΠΡΡΠΎΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΠΈΠΌΠ΅Π½: Β«Π²ΠΎΠΉΠ½ΡΒ» ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ²
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com