ΠΡΠ΅Π΄ΠΈ ΡΠ΅Π΄ΠΌΠΈΡΠ° ΠΡΠ³Π»Π°Ρ ΠΠ°ΠΊΠΈΠ»ΡΠΎΠΉ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° Π½Π° UNIX ΠΈ ΡΡΠ·Π΄Π°ΡΠ΅Π» Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π·Π° "ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅",
Π‘Π½ΠΈΠΌΠΊΠ° -
Π Π°Π±ΠΎΡΠ΅ΡΠ΅ Ρ ΡΠ΅ΠΊΡΡ
UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈΠΌΠ°Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΊΡΡ. ΠΏΠΎΠ»Π΅Π·Π½ΠΎΡΡ ΠΏΠ΅ΡΠ°ΡΠ½Π° Π³ΡΠ΅ΡΠΊΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π΄Π° ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° Π·Π° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΈ
ΠΠ½Π΅Ρ ΠΏΠ΅ΡΠ°ΡΠ½Π°ΡΠ° Π³ΡΠ΅ΡΠΊΠ° Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΠΎΡ ΠΏΠΎ-ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈ ΠΈ ΡΠΎΡΠ½ΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΡΠ°Π²ΠΎΠΏΠΈΡΠ°, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ΅ΡΠ½ΠΈΠΊ. ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π°, Ρ
ΠΎΡΠ°ΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΠΏΠΎΠΌΠ½ΡΡ Π·Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° - ΠΏΡΠ΅Π΄ΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π΅Π½ΡΡΡΠΈΠ°ΡΡ
ΠΡΡΠ³ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΠΎΡ 80-ΡΠ΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π΅ ΠΏΠ°ΠΊΠ΅ΡΡΡ Writer's Workbench ΠΎΡ ΠΠΎΡΠΈΠ½Π΄Π° Π§Π΅ΡΠΈ ΠΈ ΠΠΈΠ½Π° ΠΠ°ΠΊΠ΄ΠΎΠ½Π°Π»Π΄ ΠΎΡ Bell Labs. Π‘ΡΡΡΠ°Π²ΡΡ ΠΌΡ
UNIX ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ»Π΅ΡΠ½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΡΠΎΡΠΌΡΠ»ΠΈ. ΠΠΌΠ° Π΅Π·ΠΈΠΊΠΎΠ² ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅. ΠΠ°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½ΠΎ Π΅, ΡΠ΅ Π·Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠΎΡΠΌΡΠ»Π°, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΡΡΡΠ±Π²Π° ΡΠ°ΠΌΠΎ Π΄Π° Ρ ΠΎΠΏΠΈΡΠ΅ Ρ ΠΏΡΠΎΡΡΠΈ Π΄ΡΠΌΠΈ ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ. ΠΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠΌΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈ Π²Π΅ΡΡΠΈΠΊΠ°Π»Π½ΠΎ ΠΈ Ρ ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»Π½ΠΎ, Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ. ΠΠΊΠΎ ΠΏΡΠ΅Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ΅Π΄Π° Π½Π° ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°:
sum from { k = 1 } to N { k sup 2 }
Π Π΅Π·ΡΠ»ΡΠ°ΡΡΡ ΡΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠ° ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΡΠΎΡΠΌΡΠ»Π°:
ΠΡΠ΅Π· 1980β1990-ΡΠ΅ Π΅ΠΊΠ²
Π Π°Π±ΠΎΡΠ΅ΡΠ΅ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅
Π ΡΠ΅ΠΌΠ°ΡΠΈΡΠ½Π° ΡΠ΅ΠΌΠ° ΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° Hacker News ΠΎΡΠ±Π΅Π»ΡΠ·Π°Ρ
Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΡΠ΄ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΏΠΎΠΌΠΎΡΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅. ΠΠ΄ΠΈΠ½ ΠΎΡ ΡΡΡ
ΠΠ·Ρ
ΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° ΡΠ΅ ΡΡΡΡΠΎΠΈ ΠΎΡ ΡΡΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΈ. ΠΡΡΠ²Π°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π·Π° ΠΏΡΡΠ²ΠΈΡ ΡΠ°ΠΉΠ», Π²ΡΠΎΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° ΡΡΠ΄ΡΡΠΆΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΠ½ΠΈΠΊΠ°Π»Π½ΠΈ Π·Π° Π²ΡΠΎΡΠΈΡ ΡΠ°ΠΉΠ». Π’ΡΠ΅ΡΠ°ΡΠ° ΠΊΠΎΠ»ΠΎΠ½Π° Π²ΠΊΠ»ΡΡΠ²Π° ΠΎΠ±ΡΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ. ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΡΡΠ°Π²Π½ΡΠ²Π°Π½ΠΈΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π»Π΅ΠΊΡΠΈΠΊΠ°Π»Π½ΠΎ ΡΠΎΡΡΠΈΡΠ°Π½ΠΈ. ΠΡΠΎ Π·Π°ΡΠΎ, Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΆΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ°
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