ΠΡΠ΅Π΄ Π΅Π΄Π½Π° Π½Π΅Π΄Π΅Π»Π°, ΠΠ°Π³Π»Π°Ρ ΠΠ΅ΠΊΠΈΠ»ΡΠΎΡ, ΡΠ°Π·Π²ΠΈΠ²Π°Ρ Π½Π° Π³Π°ΡΠΎΠ²ΠΎΠ΄ΠΎΡ UNIX ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΈΠΊ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΎΡ Π½Π° βΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°ΡΠ΅β,
Π€ΠΎΡΠΎ -
Π Π°Π±ΠΎΡΠ΅ΡΠ΅ ΡΠΎ ΡΠ΅ΠΊΡΡ
ΠΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΡΠ»ΠΈΡΠ½ΠΈ Π½Π° UNIX ΠΈΠΌΠ°Π°Ρ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π΅Π½ ΡΠ΅Ρ Π½Π° Π°Π»Π°ΡΠΊΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠ΅ΠΊΡΡ. ΠΠ»Π°ΡΠΊΠ° Π³ΡΠ΅ΡΠΊΠ° Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΡ Π·Π° ΠΏΠ΅ΡΠ°ΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ
ΠΠ΅Π½Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ½Π°ΡΠ° Π³ΡΠ΅ΡΠΊΠ° Π΅ Π·Π°ΠΌΠ΅Π½Π΅ΡΠ° ΡΠΎ ΠΏΠΎΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΏΠΎΠΏΡΠ΅ΡΠΈΠ·Π½ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π½Π° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡ Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ΅ΡΠ½ΠΈΠΊ. Π‘Π΅ΠΏΠ°ΠΊ, Π»ΡΡΠ΅ΡΠΎ ΡΓ¨ ΡΡΡΠ΅ ΡΠ΅ ΡΠ΅ΡΠ°Π²Π°Π°Ρ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΡ - ΠΏΡΠ΅Π΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π΅Π½ΡΡΠ·ΠΈΡΠ°ΡΡ
ΠΡΡΠ³Π° Π°Π»Π°ΡΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΎΠ΄ 80-ΡΠΈΡΠ΅ Π΅ ΠΏΠ°ΠΊΠ΅ΡΠΎΡ ΠΠΈΡΠ°ΡΠ΅Π»ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ½Π° ΠΌΠ°ΡΠ° ΠΎΠ΄ ΠΠΎΡΠΈΠ½Π΄Π° Π§Π΅ΡΠΈ ΠΈ ΠΠΈΠ½Π° ΠΠ΅ΠΊΠ΄ΠΎΠ½Π°Π»Π΄ ΠΎΠ΄ 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: ΠΊΠΎΠ³Π° ΠΈΠΌΠΈΡΠ°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΈ ΡΡΠ°Π½Π°Π° ΠΏΠ»Π°ΡΠ΅Π½ΠΈ
ΠΡΡΠΎΡΠΈΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° ΠΈΠΌΠΈΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅Π½ΠΈ: ΠΡΠΎΡΠΎΠΊΠΎΠ»ΡΠΊΠΈ Π²ΠΎΡΠ½ΠΈ
ΠΠ·Π²ΠΎΡ: www.habr.com