Π―Π·Ρ‹ΠΊ программирования shell. О Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… Linux ΠΈ Unix. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ test ΠΈ условныС выраТСния

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

Для обСспСчСния интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π² ОБ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ языки программирования, с собствСнным синтаксисом ΠΈ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями.

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Windows 9x Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ command.com , Π² Windows NT Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ UNIX популярны csh, ksh ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΏΡ€ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ настройкС ОБ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ исполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ своСго языка, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС ΠΈΠ»ΠΈ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° .

Π’ качСствС ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Ρ‹ систСмных ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ , Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° раскрытиС шаблонов ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π·Π° ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ связываниС Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚.

Π’ совокупности с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° прСдставляСт собой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ срСду , ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΉ язык программирования ΠΈ ΠΌΠΎΡ‰Π½ΠΎΠ΅ срСдство Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ систСмных, Ρ‚Π°ΠΊ ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, Π² особСнности, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ часто выполняСмых ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

Π Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹

Наряду со стандартными, Π² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ОБ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ tcsh, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ синтаксисом ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… конструкций ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

НСкоторыС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ОБ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ собствСнных языков ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (Ρ‚Π°ΠΊΠΈΠΌΠΈ, ΠΊΠ°ΠΊ язык ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ОБ Microsoft Windows NT, язык OS/2 ΠΈ Ρ‚. ΠΏ.)

НСкоторыС ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ часто выполняСмых ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ языками, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Python.

ГрафичСская ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°

ГрафичСскиС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ для OC Windows

ПослСдниС вСрсии ОБ Windows ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² качСствС своСй ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Windows . ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ Windows прСдставляСт собой Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ срСду управлСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ Π² сСбя Π Π°Π±ΠΎΡ‡ΠΈΠΉ стол, МСню пуск, ПанСль Π·Π°Π΄Π°Ρ‡, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ управлСния Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. Π Π°Π½Π½ΠΈΠ΅ вСрсии ОБ Windows 3.xx Π² качСствС графичСской ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

МногиС сторонниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ срСды, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ вмСсто ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft Π² систСму Windows.

  • Aston shell
  • BB4Win
  • BBlean
  • Cairo (Under Development)
  • Chroma
  • Emerge Desktop
  • Geoshell
  • Packard Bell Navigator
  • Program Manager
  • Secure Desktop
  • SharpE
  • Talisman Desktop
  • WinStep
  • Microsoft Bob

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

Wikimedia Foundation . 2010 .

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ "Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°" Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… словарях:

    - (Π°Π½Π³Π». Unix shell, часто просто «шСлл» ΠΈΠ»ΠΈ Β«shΒ») ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства UNIX, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ пользова … ВикипСдия

    Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Wish. wish (Windowing Shell) это простая сцСнарная ΠΈΠ»ΠΈ интСрактивная командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX для X Window System ΠΈ Mac OS X. Она прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ компонСнты… … ВикипСдия

    - … ВикипСдия

    Бюда пСрСнаправляСтся запрос Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. На Ρ‚Π΅ΠΌΡƒ Β«Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки» Π½ΡƒΠΆΠ½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (Π°Π½Π³Π». Co … ВикипСдия

    ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ΠΎΡ‚ Π°Π½Π³Π». shell ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°) ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ интСрфСйс для взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с функциями систСмы. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ с двумя Ρ‚ΠΈΠΏΠ°ΠΌΠΈ интСрфСйса для … ВикипСдия

    Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX (Π°Π½Π³Π». Unix shell, часто просто «шСлл» ΠΈΠ»ΠΈ Β«shΒ») ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства POSIX совмСстимыС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, восходящиС ΠΊ Bourne shell, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ Π² Unix Version 7. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

    Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX (Π°Π½Π³Π». Unix shell, часто просто «шСлл» ΠΈΠ»ΠΈ Β«shΒ») ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства POSIX совмСстимыС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, восходящиС ΠΊ Bourne shell, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ Π² Unix Version 7. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

    Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX (Π°Π½Π³Π». Unix shell, часто просто «шСлл» ΠΈΠ»ΠΈ Β«shΒ») ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства POSIX совмСстимыС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, восходящиС ΠΊ Bourne shell, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ Π² Unix Version 7. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

Книги

  • Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Linux, OS X ΠΈ Unix. Руководство , Π’Π΅ΠΉΠ»ΠΎΡ€ Π”Π΅ΠΉΠ². Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ систСмным администраторам ΠΈ программистам Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ‚Π΅Ρ… самых ΠΏΠΎΡ€, ΠΊΠ°ΠΊ появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° пСрвого…

    wish (командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX) - Π£ этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ значСния, см. Wish. wish (Windowing Shell) это простая сцСнарная ΠΈΠ»ΠΈ интСрактивная командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX для X Window System ΠΈ Mac OS X. Она прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ компонСнты… … ВикипСдия

    Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° - ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ΠΎΡ‚ Π°Π½Π³Π». shell ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°) ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы (ОБ), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ интСрфСйс для взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с функциями систСмы. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ с двумя Ρ‚ΠΈΠΏΠ°ΠΌΠΈ интСрфСйса для … ВикипСдия

    ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX

    Unix shell - Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX (Π°Π½Π³Π». Unix shell, часто просто «шСлл» ΠΈΠ»ΠΈ Β«shΒ») ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства POSIX совмСстимыС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, восходящиС ΠΊ Bourne shell, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ Π² Unix Version 7. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

    Unix Shell - Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° UNIX (Π°Π½Π³Π». Unix shell, часто просто «шСлл» ΠΈΠ»ΠΈ Β«shΒ») ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах сСмСйства POSIX совмСстимыС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ, восходящиС ΠΊ Bourne shell, ΠΏΠΎΡΠ²ΠΈΠ²ΡˆΠ΅ΠΌΡƒΡΡ Π² Unix Version 7. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ 1… … ВикипСдия

    Командная строка - Бюда пСрСнаправляСтся запрос Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. На Ρ‚Π΅ΠΌΡƒ Β«Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки» Π½ΡƒΠΆΠ½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ. Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (Π°Π½Π³Π». Co … ВикипСдия

    UNIX System V - ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² System V … ВикипСдия

    Unix System V - ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² System V AT T UNIX System V ΠΎΠ΄Π½Π° ΠΈΠ· вСрсий ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы 1989 Π³. Π‘Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ 4 основныС вСрсии Releases 1, 2, 3 ΠΈ 4. ВСрсия System V Release 4 (SVR4) Π±Ρ‹Π»Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΈ популярной ΠΈ послуТила источником для… … ВикипСдия

    UNIX - ГСнСалогичСскоС Π΄Ρ€Π΅Π²ΠΎ UNIX систСм UNIX (читаСтся юникс) сСмСйство пСрСносимых, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… … ВикипСдия

    Unix - ГСнСалогичСскоС Π΄Ρ€Π΅Π²ΠΎ UNIX систСм UNIX (читаСтся юникс) Π³Ρ€ΡƒΠΏΠΏΠ° пСрСносимых, ΠΌΠ½ΠΎΠ³ΠΎΠ·Π°Π΄Π°Ρ‡Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм. ΠŸΠ΅Ρ€Π²Π°Ρ систСма UNIX Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² 1969 Π³. Π² ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠΈ Bell Labs ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ AT T. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Π±Ρ‹Π»ΠΎ создано … ВикипСдия

Книги

  • Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Linux, OS X ΠΈ Unix. Руководство , Π’Π΅ΠΉΠ»ΠΎΡ€ Π”Π΅ΠΉΠ². Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ систСмным администраторам ΠΈ программистам Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ‚Π΅Ρ… самых ΠΏΠΎΡ€, ΠΊΠ°ΠΊ появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° пСрвого… ΠšΡƒΠΏΠΈΡ‚ΡŒ Π·Π° 1217 Π³Ρ€Π½ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π£ΠΊΡ€Π°ΠΈΠ½Π°)
  • Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ. Linux, OS X ΠΈ Unix , Π’Π΅ΠΉΠ»ΠΎΡ€ Π”Π΅ΠΉΠ², ΠŸΠ΅Ρ€Ρ€ΠΈ Π‘Ρ€Π΅Π½Π΄ΠΎΠ½. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ систСмным администраторам ΠΈ программистам Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ с Ρ‚Π΅Ρ… самых ΠΏΠΎΡ€, ΠΊΠ°ΠΊ появились ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π²Ρ‹Ρ…ΠΎΠ΄Π° пСрвого…

Основная срСда взаимодСйствия с UNIX – командная строка . Π‘ΡƒΡ‚ΡŒ Π΅Ρ‘ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ каТдая строка, пСрСдаваСмая ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ систСмС, – это ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ. Пока Π½Π΅ Π½Π°ΠΆΠ°Ρ‚Π° клавишаEnter , строку ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° отсылаСтся систСмС.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ – ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ (ΠΈΠ»ΠΈ Β«shellΒ», ΠΏΠΎ-английски). Π§Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ производится ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ процСссами – для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ срСдства мСТпроцСссного ΠΎΠ±ΠΌΠ΅Π½Π°.

Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° нСпосрСдствСнно связана с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ осущСствляСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΈ тСкста. На рисункС (3.1) прСдставлСна общая схСма взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с систСмой ΠΏΡ€ΠΈ использовании ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

Рисунок 3.1. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ доступ ΠΊ систСмС

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ UNIX, прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ систСмС нСскольким ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π”Π°ΠΆΠ΅ Ссли Π² распоряТСнии всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ ΠΈ ΠΎΠ΄Π½Π° систСмная ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, эта Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ нСбСсполСзна: одноврСмСнная рСгистрация Π² систСмС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Π±Π΅Π· нСобходимости ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ всС Π½Π°Ρ‡Π°Ρ‚Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Π·Π°Ρ‚Π΅ΠΌ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈΡ…. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² систСмС нСсколько Ρ€Π°Π· ΠΏΠΎΠ΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ рСсурсам ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ нСсколькими Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.

Π₯Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹ΠΉ для соврСмСнных вСрсий UNIX способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ – Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ консоли . Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ консоли (virtual console) – это нСсколько ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ выполняСмых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² систСмС Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС (см. Рисунок 3.2, Β«Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ графичСскиС консоли»).

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Linux ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ консолями Π² тСкстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅ производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш Alt -F1 ,Alt -F2 ΠΈ Ρ‚.ΠΏ. ΠŸΡ€ΠΈ этом каТдая Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ консоль обозначаСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ: Β«tty1Β», Β«tty2Β» ΠΈ Ρ‚.Π΄. Π‘ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ сочСтаниСм связана ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ консоль. КаТдая ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… консолСй связано с собствСннымтСрминалом , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ характСризуСтся Ρ„Π°ΠΉΠ»ΠΎΠΌ устройства с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,/dev/tty1).

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии UNIX ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ графичСскиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ интСрфСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π­Ρ‚Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ достигаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ графичСских Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ тСкстовый Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π² графичСском ΠΎΠΊΠ½Π΅.

Π’Π°ΠΊΠΆΠ΅ сущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… графичСских подсистСм, Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ консолями – ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ клавиш Ctrl -Alt -F1 .

Рисунок 3.2. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ графичСскиС консоли

КаТдоС устройство Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈΠΌΠ΅Π΅Ρ‚ свои возмоТности ΠΏΠΎ Π²Π²ΠΎΠ΄Ρƒ ΠΈ Π²Ρ‹Π²ΠΎΠ΄Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚Π°ΠΊΠΈΡ… возмоТностСй ΡΠ²Π»ΡΡŽΡ‚ΡΡ: число Ρ†Π²Π΅Ρ‚ΠΎΠ² отобраТСния, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ курсор ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ экрана, Π½Π°Π±ΠΎΡ€ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… символов ΠΈ Ρ‚.ΠΏ.. Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ ΠΏΠΎΡ‚ΠΈΠΏΠ°ΠΌ : Π½Π°Π±ΠΎΡ€Ρƒ возмоТностСй, Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ: tty (Ρ‚Π΅Π»Π΅Ρ‚Π°ΠΉΠΏ) ΠΈΠ»ΠΈ xterm (графичСский Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»). Π’ΠΈΠΏ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° явно ΡƒΠΊΠ°Π·Π°Π½ Π² ΠΈΠΌΠ΅Π½ΠΈ устройства Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,/dev/tty1). ВсС настройки Ρ‚ΠΈΠΏΠΎΠ² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² находятся Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ/etc/termcap.

  • Tutorial

Π—Π°Ρ‡Π΅ΠΌ ΠΈ для ΠΊΠΎΠ³ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡ?

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ это Π±Ρ‹Π»Π° памятка для студСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ систСмами. Π˜Π½Ρ‹ΠΌΠΈ словами, ΡΡ‚Π°Ρ‚ΡŒΡ рассчитана Π½Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² unix-ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, Π½ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ эффСктивно с нСю Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ.

Π—Π΄Π΅ΡΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ пСрСсказа ΠΌΠ°Π½ΠΎΠ² (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ), ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ отмСняСт ΠΈ Π½Π΅ замСняСт ΠΈΡ… Ρ‡Ρ‚Π΅Π½ΠΈΠ΅. ВмСсто этого я расскаТу ΠΎ Π³Π»Π°Π²Π½Ρ‹Ρ… Π²Π΅Ρ‰Π°Ρ… (ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, ΠΏΡ€ΠΈΠ΅ΠΌΠ°Ρ… ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°Ρ…), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΎΡΠΎΠ·Π½Π°Ρ‚ΡŒ с самого Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² unix shell-Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π° происходила эффСктивно ΠΈ приятно.

Π‘Ρ‚Π°Ρ‚ΡŒΡ касаСтся ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ, с ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ шСллом (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ zsh ΠΈΠ»ΠΈ bash)ΠΈ достаточно ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ стандартных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ шСлл

Shell (шСлл, ΠΎΠ½ ΠΆΠ΅ «командная строка», ΠΎΠ½ ΠΆΠ΅ CLI, ΠΎΠ½ ΠΆΠ΅ «консоль», ΠΎΠ½ ΠΆΠ΅ Β«Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Β», ΠΎΠ½ ΠΆΠ΅ Β«Ρ‡Π΅Ρ€Π½ΠΎΠ΅ окошко с Π±Π΅Π»Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠΎΠ²ΠΊΠ°ΠΌΠΈΒ») -- это тСкстовый интСрфСйс общСния с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой (Π½Ρƒ, строго говря, это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° , которая Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ интСрфСйс обСспСчиваСт, Π½ΠΎ сСйчас это Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ нСсущСствСнно).

Π’ Ρ†Π΅Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· шСлл выглядит Ρ‚Π°ΠΊ: ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (Ρ‚.Π΅. Π²Ρ‹) с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ Enter, систСма выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΠΈΡˆΠ΅Ρ‚ Π½Π° экран Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния, ΠΈ снова ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ Π²Π²ΠΎΠ΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ Π²ΠΈΠ΄ шСлла:

Π¨Π΅Π»Π» - это основной способ для взаимодСйствия со всСми Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ сСрвСрными систСмами.

Π“Π΄Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ систСмы с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой?

Π“Π΄Π΅ вас ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΆΠΈΠ΄Π°Ρ‚ΡŒ unix-ΠΎΠ²Ρ‹ΠΉ шСлл, популярныС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:
  • MacOS (bash);
  • ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ доступ Π½Π° сСрвСр ΠΏΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΈΠ»ΠΈ для Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°;
  • домашний Ρ„Π°ΠΉΠ»-сСрвСр с ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ доступом;
  • Ubuntu, PC-BSD Π½Π° Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅/дСсктопС - unix-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ систСмы сСгодня просты Π² установкС ΠΈ использовании.

КакиС Π·Π°Π΄Π°Ρ‡ΠΈ Ρ€Π°Π·ΡƒΠΌΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ шСллом?

ЕстСствСнныС Π·Π°Π΄Π°Ρ‡ΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… шСлл ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π΅Π½, ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ:
  • интСрактивная Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅:
    • Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ компиляции, запуск Π·Π°Π΄Π°Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· make;
    • сравнСниС тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ²;
    • быстрый ad-hoc Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… (количСство ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ip Π² Π»ΠΎΠ³Π΅, распрСдСлСниС записСй ΠΏΠΎ часам/ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌ ΠΈ Ρ‚.ΠΏ.);
    • Ρ€Π°Π·ΠΎΠ²Ρ‹Π΅ массовыС дСйствия (ΠΏΡ€ΠΈΠ±ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ процСссов; Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с систСмой контроля вСрсий - Ρ€Π΅Π²Π΅Ρ€Ρ‚Π½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Ρ€Π΅Π·ΠΎΠ»Π²ΠΈΡ‚ΡŒ ΠΊΡƒΡ‡Ρƒ Ρ„Π°ΠΉΠ»ΠΎΠ²);
    • диагностика происходящСго Π² систСмС (сСмафоры, Π»ΠΎΠΊΠΈ, процСссы, дСскрипторы, мСсто Π½Π° дискС ΠΈ Ρ‚.ΠΏ.);
  • скриптованиС:
    • установочныС скрипты, для выполнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… нСльзя Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² - это Π½Π΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²;
    • Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для кастомизации ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ шСлла (Π²Π»ΠΈΡΡŽΡ‰ΠΈΠ΅ Π½Π° ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅, ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния) - Ρ‚ΠΎΠΆΠ΅ Π½Π΅ совсСм для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²;
    • ΠΎΠ΄Π½ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Π΅ скрипты Ρ‚ΠΈΠΏΠ° массового пСрСкодирования Ρ„Π°ΠΉΠ»ΠΎΠ²;
    • makefile-Ρ‹.

ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги

НачинаСм Ρ€Π°Π±ΠΎΡ‚Ρƒ: Π²ΠΎΠΉΡ‚ΠΈ ΠΈ Π²Ρ‹ΠΉΡ‚ΠΈ

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ шСлл ΠΈ ΠΊΠ°ΠΊ ΠΈΠ· Π½Π΅Π³ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π·Π° машиной, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ установлСна Ubuntu, Π²Π°ΠΌ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Terminal. По ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ просто Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ.

На MacOS - Ρ‚ΠΎΠΆΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Terminal.

Для доступа ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ сСрвСру - Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ssh (Ссли локально Ρƒ вас MacOS, Ubuntu ΠΈΠ»ΠΈ другая unix-like систСма) ΠΈΠ»ΠΈ putty (Ссли Ρƒ вас Windows).

ΠšΡ‚ΠΎ я, Π³Π΄Π΅ я?

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:
  • hostname - Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ имя ΠΌΠ°ΡˆΠΈΠ½Ρ‹ (сСрвСра), Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²Ρ‹ сСйчас Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ;
  • whoami - Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ваш Π»ΠΎΠ³ΠΈΠ½ (вашС имя Π² систСмС);
  • tree -d / |less - псСвдографичСскоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π½Π° машинС; Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· пролистывания - q ;
  • pwd - Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹ сСйчас Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ; Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ «просто Ρ‚Π°ΠΊΒ», Π²Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (=Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³). ВСроятно, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ выводится Ρƒ вас Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ (prompt).
  • ls - список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅; ls /home - список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅;

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ (history)

Π’Π°ΠΆΠ½ΠΎΠ΅ свойство ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки - история ΠΊΠΎΠΌΠ°Π½Π΄.

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄: hostname , ls , pwd , whoami . Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Β«Π²Π²Π΅Ρ€Ρ…Β». Π’ строкС Π²Π²ΠΎΠ΄Π° появилась прСдыдущая ΠΊΠΎΠΌΠ°Π½Π΄Π°. Клавишами Β«Π²Π²Π΅Ρ€Ρ…Β» ΠΈ Β«Π²Π½ΠΈΠ·Β» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ ΠΏΠΎ истории. Когда долистаСтС Π΄ΠΎ hostname , Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter - ΠΊΠΎΠΌΠ°Π½Π΄Π° выполнится Π΅Ρ‰Π΅ Ρ€Π°Π·.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· истории ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ просто Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ, Π° Π΅Ρ‰Π΅ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ДолистайтС ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls , Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΊ Π½Π΅ΠΉ ΠΊΠ»ΡŽΡ‡ -l (ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ls -l , ΠΏΠ΅Ρ€Π΅Π΄ минусом ΠΏΡ€ΠΎΠ±Π΅Π» Π΅ΡΡ‚ΡŒ, Π° послС - Π½Π΅Ρ‚). НаТмитС Enter - выполнится модифицированная ΠΊΠΎΠΌΠ°Π½Π΄Π°.

ΠŸΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ истории, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ - самыС Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ дСйствия ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС, ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ°ΠΉΡ‚Π΅.

Copy-paste

Командная строка ΠΎΡ‡Π΅Π½ΡŒ тСкстоцСнтрична: ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ - это тСкст, Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° стандартных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ - тСкст, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ - Ρ‡Π°Ρ‰Π΅ всСго Ρ‚ΠΎΠΆΠ΅ тСкст.

ΠŸΡ€Π΅ΠΊΡ€Π°ΡΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ тСкста являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ, это Π²Π΅Ρ€Π½ΠΎ ΠΈ для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ date +"%y-%m-%d, %A"
Π’Π²ΠΎΠ΄ΠΈΠ»ΠΈ Π»ΠΈ Π²Ρ‹ Π΅Π΅ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ Ρ€ΡƒΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ скопировали ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ? Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ man "ΠΎΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· справки. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² справкС ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ date Ρ€Π°Π·Π΄Π΅Π» EXAMPLES , скопируйтС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ (Π½Π° всякий случай: Π·Π½Π°ΠΊ Π΄ΠΎΠ»Π»Π°Ρ€Π° Π½Π΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, это условноС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΡ ΠΊ Π²Π²ΠΎΠ΄Ρƒ).

Как ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» - зависит ΠΎΡ‚ вашСй систСмы ΠΈ ΠΎΡ‚ Π΅Π΅ настроСк, поэтому Π΄Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, ΠΊ соТалСнию, Π½Π΅ получится. На Ubuntu ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊ: ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ - просто Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΡŒΡŽ, вставка - срСдняя ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΡ‹ΡˆΠΈ. Если Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΈΠ»ΠΈ Ссли Ρƒ вас другая систСма - ΠΏΠΎΠΈΡ‰ΠΈΡ‚Π΅ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ спроситС Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ….

ΠšΠ»ΡŽΡ‡ΠΈ ΠΈ ΠΎΠΏΡ†ΠΈΠΈ

ΠŸΡ€ΠΈ исслСдовании истории ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ ΡƒΠΆΠ΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls Π΅ΡΡ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°. Если Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π΅ просто Ρ‚Π°ΠΊ, ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ простой список:

Akira@latitude-e7240: ~/shell-survival-quide> ls Makefile shell-first-steps.md shell-first-steps.pdf shell-survival-quide.md shell-survival-quide.pdf
Если ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ -l , ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ выводится подробная информация:

Akira@latitude-e7240: ~/shell-survival-quide> ls -l total 332 -rw-rw-r-- 1 akira akira 198 Feb 13 11:48 Makefile -rw-rw-r-- 1 akira akira 15107 Feb 14 22:26 shell-first-steps.md -rw-rw-r-- 1 akira akira 146226 Feb 13 11:49 shell-first-steps.pdf -rw-rw-r-- 1 akira akira 16626 Feb 13 11:45 shell-survival-quide.md -rw-rw-r-- 1 akira akira 146203 Feb 13 11:35 shell-survival-quide.pdf
Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ типичная ситуация: Ссли ΠΊ Π²Ρ‹Π·ΠΎΠ²Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΎΠΏΡ†ΠΈΠΈ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹), ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мСняСтся. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅: tree / ΠΈ tree -d / , hostname ΠΈ hostname -f .

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ просто тСкстовыС строки. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅:

Ls -ld /home ls -l /home grep root /etc/passwd

man

man - справка ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ, доступным Π½Π° вашСй машинС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ систСмным Π²Ρ‹Π·ΠΎΠ²Π°ΠΌ ΠΈ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ C.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅: man grep , man atoi , man chdir , man man .

ΠŸΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π΅Π΄ ΠΈ Π½Π°Π·Π°Π΄ дСлаСтся ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ Β«Π²Π²Π΅Ρ€Ρ…Β», Β«Π²Π½ΠΈΠ·Β», Β«PageUpΒ», Β«PageDownΒ», Π²Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· просмотра справки - ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ q . Поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π² справочной ΡΡ‚Π°Ρ‚ΡŒΠ΅: Π½Π°ΠΆΠΈΠΌΠΈΡ‚Π΅ / (прямой слСш), Π²Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст для поиска, Π½Π°ΠΆΠΈΠΌΠΈΡ‚Π΅ Enter. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ вхоТдСниям - клавиша n .

ВсС справочныС ΡΡ‚Π°Ρ‚ΡŒΠΈ дСлятся Π½Π° ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ. Π‘Π°ΠΌΡ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅:

Π£ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, ΠΈΠ· ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ Π½Π°Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ справку, Π½ΡƒΠΆΠ½ΠΎ Π² случаях совпадСний ΠΈΠΌΠ΅Π½. НапримСр, man 3 printf описываСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ C, Π° man 1 printf - ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список всСх доступных Π½Π° машинС справочных статСй ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ man -k . (Ρ‚ΠΎΡ‡ΠΊΠ° - Ρ‚ΠΎΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π΄Ρ‹).

less

Когда Π² нСбольшом ΠΎΠΊΠ½Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ тСкст (содСрТимоС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Π°, Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ man ΠΈ Ρ‚.ΠΏ.), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-Β«ΠΏΠ΅ΠΉΠ΄ΠΆΠ΅Ρ€Ρ‹Β» (ΠΎΡ‚ слова page/страница, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ постраничныС листатСли). Π‘Π°ΠΌΡ‹ΠΉ популярный Π»ΠΈΡΡ‚Π°Ρ‚Π΅Π»ΡŒ - less , ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ обСспСчиваСт Π²Π°ΠΌ пролистываниС, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ man-Ρ‹.

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΈ сравнитС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

Cat /etc/bash.bashrc cat /etc/bash.bashrc |less

МоТно ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» Π² ΠΏΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ сразу Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ…:

Less /etc/bash.bashrc

ΠŸΡ€ΠΎΠ»ΠΈΡΡ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π²Π²Π΅Ρ€Ρ…ΠΈ ΠΈ Π²Π½ΠΈΠ· - ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π²Π²Π΅Ρ€Ρ…Β», Β«Π²Π½ΠΈΠ·Β», Β«PageUpΒ», Β«PageDownΒ», Π²Ρ‹Ρ…ΠΎΠ΄ - ΠΊΠ½ΠΎΠΏΠΊΠ° q . Поиск ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ тСкста: Π½Π°ΠΆΠΈΠΌΠΈΡ‚Π΅ / (прямой слСш), Π²Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст для поиска, Π½Π°ΠΆΠΈΠΌΠΈΡ‚Π΅ Enter. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ вхоТдСниям - клавиша n . (Π£Π·Π½Π°Π΅Ρ‚Π΅ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΎ man ? НичСго ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, для Π²Ρ‹Π²ΠΎΠ΄Π° справки Ρ‚ΠΎΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ less .)

ΠŸΡ€Π°Π²Π°

Π‘ Π»ΡŽΠ±Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ связан Π½Π°Π±ΠΎΡ€ Β«ΠΏΡ€Π°Π²Β»: ΠΏΡ€Π°Π²ΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, ΠΏΡ€Π°Π²ΠΎ Π½Π° запись Π² Ρ„Π°ΠΉΠ», ΠΏΡ€Π°Π²ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ». ВсС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ дСлятся Π½Π° Ρ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ: Π²Π»Π°Π΄Π΅Π»Π΅Ρ† Ρ„Π°ΠΉΠ»Π°, Π³Ρ€ΡƒΠΏΠΏΠ° Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Ρ„Π°ΠΉΠ»Π°, всС ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ls -l . НапримСр:

> ls -l Makefile -rw-r--r-- 1 akira students 198 Feb 13 11:48 Makefile
Π­Ρ‚ΠΎΡ‚ Π²Ρ‹Π²ΠΎΠ΄ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ (akira) ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π³Ρ€ΡƒΠΏΠΏΠ΅ (students) - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, всСм ΠΏΡ€ΠΎΡ‡ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ - Ρ‚ΠΎΠΆΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ.

Если ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ сообщСниС permission denied , это Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρƒ вас нСдостаточно ΠΏΡ€Π°Π²Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² man chmod .

STDIN, STDOUT, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρ‹ (ΠΏΠ°ΠΉΠΏΡ‹)

Π‘ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ связаны 3 стандартных ΠΏΠΎΡ‚ΠΎΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…: ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… STDIN , ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… STDOUT , ΠΏΠΎΡ‚ΠΎΠΊ для Π²Ρ‹Π²ΠΎΠ΄Π° ошибок STDERR .

ЗапуститС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ wc , Π²Π²Π΅Π΄ΠΈΡ‚Π΅ тСкст Good day today , Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter, Π²Π²Π΅Π΄Ρ‚ΠΈΠ΅ тСкст good day , Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+d. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° wc ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ статистику ΠΏΠΎ количСству Π±ΡƒΠΊΠ², слов ΠΈ строк Π² вашСм тСкстС ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ:

> wc good day today good day 2 5 24
Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Ρ‹ ΠΏΠΎΠ΄Π°Π»ΠΈ Π² STDIN ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ двухстрочный тСкст, Π° Π² STDOUT ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ числа.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ head -n3 /etc/passwd , Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

> head -n3 /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin
Π’ этом случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° head Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Ρ‡ΠΈΡ‚Π°Π»Π° ΠΈΠ· STDIN , Π° Π² STDOUT написала Ρ‚Ρ€ΠΈ строки.

МоТно ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбС Ρ‚Π°ΠΊ: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° - это Ρ‚Ρ€ΡƒΠ±Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ STDIN , Π° Π²Ρ‹Ρ‚Π΅ΠΊΠ°Π΅Ρ‚ STDOUT .

Π’Π°ΠΆΠ½Π΅ΠΉΡˆΠ΅Π΅ свойство юниксовой ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-Β«Ρ‚Ρ€ΡƒΠ±Ρ‹Β» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой: Π²Ρ‹Ρ…ΠΎΠ΄ (STDOUT) ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² качСствС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (STDIN) Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

Вакая конструкция ΠΈΠ· соСдинСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ называСтся ΠΏΠΎ-английски pipe (Ρ‚Ρ€ΡƒΠ±Π°), ΠΏΠΎ-русски - ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΈΠ»ΠΈ ΠΏΠ°ΠΉΠΏ.

ОбъСдинСниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ дСлаСтся символом | (Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π°)

Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ head -n3 /etc/passwd |wc , получится ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

> head -n3 /etc/passwd |wc 3 3 117
ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π²ΠΎΡ‚ Ρ‡Ρ‚ΠΎ: ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° head Π²Ρ‹Π΄Π°Π»Π° Π² STDOUT Ρ‚Ρ€ΠΈ строки тСкста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сразу ΠΆΠ΅ ΠΏΠΎΠΏΠ°Π»ΠΈ Π½Π° Π²Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ wc , которая Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ подсчитала количСство символов, слов ΠΈ строк Π² ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌ тСкстС.

Π’ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ wc , которая подсчитаСт, сколько слов ΠΈ Π±ΡƒΠΊΠ² Π±Ρ‹Π»ΠΎ Π² Π²Ρ‹Π²ΠΎΠ΄Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ wc:

> head -n3 /etc/passwd |wc |wc 1 3 24

БоставлСниС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΎΠ² (ΠΏΠ°ΠΉΠΏΠΎΠ²) - ΠΎΡ‡Π΅Π½ΡŒ частоС Π΄Π΅Π»ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это дСлаСтся Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «БоставлСниС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°-однострочника».

ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°

Π’Ρ‹Π²ΠΎΠ΄ (STDOUT) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Ρƒ, Π½ΠΎ ΠΈ просто Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ». Π’Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дСлаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ > (Π·Π½Π°ΠΊ «большС»):

Date > /tmp/today.txt
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π° дискС появится Ρ„Π°ΠΉΠ» /tmp/today.txt . ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ содСрТимоС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cat /tmp/today.txt

Если Ρ„Π°ΠΉΠ» с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствовал, Π΅Π³ΠΎ староС содСрТимоС Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½ΠΎ. Если Ρ„Π°ΠΉΠ» Π½Π΅ сущСствовал, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ создан. ΠšΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ создаСтся Ρ„Π°ΠΉΠ», Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹.

Если Π½Π°Π΄ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», Π° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Π΅Π³ΠΎ ΠΊΠΎΠ½Π΅Ρ†, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ >> :

Date >> /tmp/today.txt
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ записано Π² Ρ„Π°ΠΉΠ»Π΅.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ½ΠΎ вмСсто STDIN ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ любой Ρ„Π°ΠΉΠ». ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅:

Wc

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нСпонятно

Если Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ систСмы, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ, ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС (кстати, это относится Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ шСллам):
  • насколько Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ сформулируйтС вопрос ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡Ρƒ - Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ слоТнСС, Ρ‡Π΅ΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Β«Ρ‚ΠΎ, Π½Π΅ знаю Ρ‡Ρ‚ΠΎΒ»;
  • вспомнитС, ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π»ΠΈ Π²Ρ‹ ΡƒΠΆΠ΅ с Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ - Π² этом случаС стоит ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ сработало Π² ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Ρ€Π°Π·;
  • ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ подходящиС man-Ρ‹ (Ссли ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ man-Ρ‹ подходят Π² вашСм случаС) - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ подходящиС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования ΠΊΠΎΠΌΠ°Π½Π΄, Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ссылки Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;
  • ΠΏΠΎΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅: нСльзя Π»ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ? - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡ΡƒΡ‚ΡŒ-Ρ‡ΡƒΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² условия, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΡƒΠΆΠ΅ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ;
  • Π·Π°Π΄Π°ΠΉΡ‚Π΅ свой Ρ‡Π΅Ρ‚ΠΊΠΎ сформулированный вопрос Π² поисковой систСмС - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΡ‚Π²Π΅Ρ‚ найдСтся Π½Π° Stack Overflow ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сайтах;
Если Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΈΠ· пСрСчислСнного Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ - ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π·Π° совСтом ΠΊ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΡŽ, ΠΎΠΏΡ‹Ρ‚Π½ΠΎΠΌΡƒ ΠΊΠΎΠ»Π»Π΅Π³Π΅ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Ρƒ. И Π½Π΅ Π±ΠΎΠΉΡ‚Π΅ΡΡŒ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ Β«Π³Π»ΡƒΠΏΡ‹Π΅Β» вопросы - Π½Π΅ стыдно Π½Π΅ Π·Π½Π°Ρ‚ΡŒ, стыдно Π½Π΅ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ.

Если Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ со слоТной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ (ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй) -- Π·Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ своС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° случай, Ссли такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° снова Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ Ρƒ вас ΠΈΠ»ΠΈ Π²Π°ΡˆΠΈΡ… Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Π΅ΠΉ. Π—Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π² простой тСкстовый Ρ„Π°ΠΉΠ», Π² Evernote, ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² соц.сСтях.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ-ΠΈ-Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ - ΠΈΠ· man-ΠΎΠ², ΠΈΠ· статСй Π½Π° StackOverflow ΠΈ Ρ‚.ΠΏ.Командная строка состоит ΠΈΠ· тСкста, ΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ этим: ΠΊΠΎΠΏΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄,записывайтС ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΊΠΈ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠΉΡ‚Π΅ ΠΈΡ… Π² Ρ‚Π²ΠΈΡ‚Ρ‚Π΅Ρ€Π°Ρ… ΠΈ Π±Π»ΠΎΠ³Π°Ρ….

Π’Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· истории ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ΡŒ .Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π΄Π΅Π» «БоставлСниС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°-однострочника».

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

  • ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³: cd ;
  • просмотр содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ²: саt , less , head , tail ;
  • манипуляции с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ: cp , mv , rm ;
  • просмотр содСрТимого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²: ls , ls -l , ls -lS ;
  • структура ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²: tree , tree -d (ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³);
  • поиск Ρ„Π°ΠΉΠ»ΠΎΠ²: find . -name ... ;

Аналитика

  • wc , wc -l ;
  • sort -k - сортировка ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ полю;
  • sort -n - числовая соритровка;
  • diff - сравнСниС Ρ„Π°ΠΉΠ»ΠΎΠ²;
  • grep , grep -v , grep -w , grep "\" , grep -E - поиск тСкста;
  • uniq , uniq -c - уникализация строк;
  • awk - Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ awk "{print $1}" , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, $1 ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° $2 , $3 ΠΈ Ρ‚.Π΄.;

Диагностика систСмы

  • ps axuww - информация ΠΎ процСссах (Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ…), Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° машинС;
  • top - ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ просмотр самых рСсурсоСмких процСссов;
  • df - занятоС ΠΈ свободноС мСсто Π½Π° дискС;
  • du - суммарный Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ (рСкурсивно с ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ);
  • strace , ktrace - ΠΊΠ°ΠΊΠΈΠ΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ выполняСт процСсс;
  • lsof - ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ процСсс;
  • netstat -na , netstat -nap - ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΡ€Ρ‚Ρ‹ ΠΈ сокСты ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ Π² систСмС.

НСкоторых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρƒ вас ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ, ΠΈΡ… Π½Π°Π΄ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ этих ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ (root "Ρƒ).

МассовоС ΠΈ полуавтоматичСскоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

На ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠΎΡ€Π°Ρ… пропускайтС этот Ρ€Π°Π·Π΄Π΅Π», эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ конструкции понадобятся Π²Π°ΠΌ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ±Π΅Ρ€Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎ нСслоТного шСлльного скриптинга.
  • test - ΠΏΡ€ΠΎΠ²Ρ€Π΅ΠΊΠ° условий;
  • while read - Ρ†ΠΈΠΊΠ» ΠΏΠΎ строчкам STDIN ;
  • xargs - подстановка строк ΠΈΠ· STDIN Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅;
  • seq - гСнСрация ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл;
  • () - ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄;
  • ; - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ;
  • && - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ условии ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;
  • || - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈ условии Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹;
  • tee - ΠΏΡ€ΠΎΠ΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² STDOUT ΠΈ Π² Ρ„Π°ΠΉΠ» Π½Π° дискС.

Π Π°Π·Π½ΠΎΠ΅

  • date - тСкущая Π΄Π°Ρ‚Π°;
  • curl - скачиваСт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎΠΌΡƒ url ΠΈ ΠΏΠΈΡˆΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° STDOUT ;
  • touch - ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°;
  • kill - ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ процСссу сигнал;
  • true - Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ истину, ΠΏΠΎΠ»Π΅Π·Π½Π° для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π΅Ρ‡Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ²;
  • sudo - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ root "Π°.

БоставлСниС ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°-однострочника

Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ: трСбуСтся ΠΏΡ€ΠΈΠ±ΠΈΡ‚ΡŒ всС процСссы task-6-server , Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π¨Π°Π³ 1.
ΠŸΠΎΠ½ΡΡ‚ΡŒ, какая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, хотя Π±Ρ‹ ΠΈ Π½Π΅ Π² чистом Π²ΠΈΠ΄Π΅. Для нашСй Π·Π°Π΄Π°Ρ‡ΠΈ стоит ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх процСссов Π² систСмС: ps axuww . Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Π¨Π°Π³ 2.
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π³Π»Π°Π·Π°ΠΌΠΈ, ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ΠΊΠΈΠ½Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Часто это grep ΠΈΠ»ΠΈ grep -v . КлавишСй Β«Π’Π²Π΅Ρ€Ρ…Β» Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· истории ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΏΡ€ΠΈΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊ Π½Π΅ΠΉ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½Π½Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Ps axuww |grep `whoami`
- Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссы Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π¨Π°Π³ 3.
ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ 2, ΠΏΠΎΠΊΠ° Π½Π΅ получатся чистыС Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.

"
- всС процСссы с Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (плюс, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, лишниС Π²Ρ€ΠΎΠ΄Π΅ vim task-6-server.c ΠΈ Ρ‚.ΠΏ.),

Ps axuww |grep `whoami` | grep "\" | grep -v vim ps axuww |grep `whoami` | grep "\" | grep -v vim |grep -v less
- Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссы с Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ

Ps axuww |grep `whoami` | grep "\" | grep -v vim |grep -v less |awk "{print $2}"

Pid-Ρ‹ Π½ΡƒΠΆΠ½Ρ‹Ρ… процСссов, ΠΏ. 3 Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½

Π¨Π°Π³ 4.
ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ подходящий Ρ„ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ. КлавишСй Β«Π’Π²Π΅Ρ€Ρ…Β» вытаскиваСм ΠΈΠ· истории ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ добавляСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, которая Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • |wc -l Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство процСссов;
  • >pids Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ pid-Ρ‹ Π² Ρ„Π°ΠΉΠ»;
  • |xargs kill -9 ΡƒΠ±ΠΈΡ‚ΡŒ процСссы.

Задания для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹Ρ… умСниях? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ задания:
  • ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ список всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² вашСм домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅;
  • ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ список всСх man -статСй ΠΈΠ· ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ 2 (систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹);
  • посчитайтС, сколько Ρ€Π°Π· Π² man-Π΅ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ grep встрСчаСтся слово grep;
  • посчитайтС, сколько процСссов Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root ;
  • Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅, какая ΠΊΠΎΠΌΠ°Π½Π΄Π° встрСчаСтся Π² максимальном количСствС ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ справки (man);
  • подсчитайтС, сколько Ρ€Π°Π· встрСчаСтся слово var Π½Π° страницС ya.ru .
Подсказка: Π²Π°ΠΌ понадобится find , grep -o , awk "{print $1}" , рСгулярныС выраТСния Π² grep , curl -s .

Π§Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ дальшС?

Если командная строка Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Π°ΠΌ Π½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ, Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ, ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΠΉΡ‚Π΅ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ.

Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ Π²Π°ΠΌ пригодятся, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΆΠΈΡ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

  • find со слоТными опциями
  • apropos
  • locate
  • telnet
  • netcat
  • tcpdump
  • rsync
  • screen
  • zgrep , zless
  • visudo
  • crontab -e
  • sendmail
ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ стоит ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ скриптовый язык,Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, perl ΠΈΠ»ΠΈ python , ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΡ… ΠΎΠ±Π°.

ΠšΠΎΠΌΡƒ это Π½Π°Π΄ΠΎ?

А стоит Π»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ сСгодня ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈ ΡˆΠ΅Π»Π»ΡŒΠ½Ρ‹ΠΉ скриптинг? ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎ стоит. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Facebook ΠΊ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хотят ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² FB.

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ появились Π² самом Π½Π°Ρ‡Π°Π»Π΅ развития Unix, ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это Π±Ρ‹Π» СдинствСнный способ взаимодСйствия с систСмой. Π—Π° это врСмя ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΡˆΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΏΡƒΡ‚ΡŒ развития ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. НС Ρ‚Π°ΠΊ просто ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Linux. Об этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚ΠΈΡ‚. ΠœΡ‹ постараСмся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ самоС основноС Π½Π΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°ΡΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ сначала рассмотрим Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Linux ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Linux / Unix

Unix ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° - это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. ΠœΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΎΠ½Π° интСрпрСтируСтся, выполняСтся Π° Π·Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅Π΅ выполнСния. ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° обСспСчиваСт Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ интСрфСйс Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ Unix, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΌΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ. Π­Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ экран ΠΈ Π±Π΅Π»Ρ‹ΠΉ тСкст. ΠœΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ тСкста, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ скрипты ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄.

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° - это ваш интСрфСйс взаимодСйствия с систСмой. ПослС Π²Ρ…ΠΎΠ΄Π° Π² систСму Unix, Π²Ρ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, которая называСтся ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°.

Thompson Shell

Если Π²Π΅Ρ€ΠΈΡ‚ΡŒ истории ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠΌ-ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ источникам, Ρ‚ΠΎ самой ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Π±Ρ‹Π»Π° Thompson Shell, написанная КСном Вомсоном Π² Bell Labs. ВсСго Π±Ρ‹Π»ΠΎ 6 вСрсий ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»Π°ΡΡŒ ΠΎΠ½Π° с 1971 ΠΏΠΎ 1975 Π³ΠΎΠ΄. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠ°ΠΊ: ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ простыС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ конструкции - if, goto. Π­Ρ‚ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС соврСмСнныС ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π² линукс.

PWB Shell

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° PWB - это модификация ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Вомсона разработанная Π”ΠΆΠΎΠ½ΠΎΠΌ ΠœΠ°ΡˆΠ΅Ρƒ. Она Π±Ρ‹Π»Π° написана для увСличСния удобства Shell программирования. Появились Ρ‚Π°ΠΊΠΈΠ΅ интСрСсныС структуры, ΠΊΠ°ΠΊ if-then-else-endif, switch ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ while.

Bourne Shell

Π‘Π²ΠΎΠΉ подъСм Unix Π½Π°Ρ‡Π°Π» с ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ Π‘ΠΎΡ€Π½Π°. Она Π±Ρ‹Π»Π° написана Π‘Ρ‚Π΅Ρ„Π°Π½ΠΎΠΌ Π‘ΠΎΡ€Π½ΠΎΠΌ Π² Bell Labs ΠΈ использовалась ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Unix вСрсии 7 ΠΎΡ‚ 1979 Π³ΠΎΠ΄Π°. Π—Π΄Π΅ΡΡŒ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ большоС количСство возмоТностСй доступных Π² соврСмСнных ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… - Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ², Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄, стандартныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния ΠΈ встроСнныС ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры. Bourne Shell Π½Π°Π·Ρ‹Π²Π°Π»Π°ΡΡŒ sh ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π»Π°ΡΡŒ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС Unix ΠΏΠΎ адрСсу /bin/sh.

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… систСмах ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π‘ΠΎΡ€Π½Π° (sh) - это символичСская ΠΈΠ»ΠΈ ТСсткая ссылка Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π΅Π΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²:

  • Almquist shell (ash)
  • Bourne-Again shell (bash)
  • Korn shell (ksh)
  • Z shell (zsh)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта для Bourne Shell:

!/bin/sh
echo "Hello World 1!"
echo "Hello World 2!"

Almquist shell (ash)

Almquist shell, Π΅Ρ‰Π΅ извСстная ΠΊΠ°ΠΊ A Shell. Π­Ρ‚ΠΎ лСгкая ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Unix ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ написанная ΠšΠ΅Π½Π½Π΅Ρ‚ΠΎΠΌ ΠΠ»ΡŒΠΌΠΊΠ²ΠΈΡΡ‚ΠΎΠΌ. Она Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² ΠΊΠΎΠ½Ρ†Π΅ 1980Ρ…. Π­Ρ‚ΠΎ модификация ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π‘ΠΎΡ€Π½Π° ΠΈ ΠΎΠ½Π° Π·Π°ΠΌΠ΅Π½ΠΈΠ»Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π» Π² BSD Unix Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ Π² 1990 Π³ΠΎΠ΄Ρƒ. БСйчас Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… дистрибутивах, ΠΊΠ°ΠΊ Debian ΠΈ Ubuntu Π² Π²ΠΈΠ΄Π΅ вСрсии ash ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ dash (Debian Almquist shell) Π’Π°ΠΊΠΆΠ΅ эта ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° популярна Π½Π° встраиваСмых Unix дистрибутивах.

Π­Ρ‚ΠΎ быстрая, компактная ΠΈ совмСстимая со спСцификациями стандарта POSTIX ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Unux, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому ΠΎΠ½Π° часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° встраиваСмых устройствах. Но ash Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ истории ΠΊΠΎΠΌΠ°Π½Π΄. Π₯отя Π² соврСмСнных вСрсиях эта функция ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π°.

Bourne-Again Shell (Bash)

Написанная Π‘Ρ€Π°Π΅Π½ΠΎΠΌ Ѐоксом Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° GNU ΠΊΠ°ΠΊ бСсплатная ΠΈ свободная Π·Π°ΠΌΠ΅Π½Π° для ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π‘ΠΎΡ€Π½Π°. Bash -Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярная ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ ΠΈΠ· всСх ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ. ВсС дистрибутивы Linux ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с этой ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ. Она Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Bourne Shell. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Unix / Linux эта ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Π° Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ΠΏΠΎ адрСсу /bin/bash. Она Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° Π² 1989 Π³ΠΎΠ΄Ρƒ.

Благодаря Ρ‚Π°ΠΊΠΎΠΉ популярности ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° Windows ΠΈ распространяСтся вмСстС с Π½Π°Π±ΠΎΡ€ΠΎΠΌ компиляторов Cygwin ΠΈ MinGW. Π’Π°ΠΊΠΆΠ΅ Bash ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Android, для доступа ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ эмуляторы Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Π—Π΄Π΅ΡΡŒ поддСрТиваСтся Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π°, Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры для принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ (if-then-elese if) ΠΈ Ρ†ΠΈΠΊΠ»Ρ‹ (loop).

Bash скрипты Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Ρ‚Π°ΠΊΠΎΠΉ строки:

Π­Ρ‚Π° командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° linux Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° Bash:

!/bin/sh
if [ $days -gt 365 ]
then
echo This is over a year.
fi

Korn shell (ksh)

Написана Π”Π΅Π²ΠΈΠ΄ΠΎΠΌ ΠšΡ€ΠΎΠ½ΠΎΠΌ ΠΈ основана Π½Π° исходниках ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π‘ΠΎΡ€Π½Π°. KornShell (ksh) это ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°, разработанная Π² Bell Labs Π΅Ρ‰Π΅ Π² 1980. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Bourne Shell, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‡Π΅Ρ€Ρ‚Ρ‹ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Π‘.

Π•ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ вСрсии ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ:

  • Dtksh
  • MKS Korn shell

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ скрипта:

!/bin/ksh
print Disk space usage
du -k
exit 0

Z shell (zsh)

Пол Π€Π°Π»ΡŒΡΡ‚Π°Π΄ написал ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ zsh Π² 1990 Π³ΠΎΠ΄Ρƒ. Π­Ρ‚ΠΎ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Linux, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована ΠΊΠ°ΠΊ интСрактивная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π²Ρ…ΠΎΠ΄Π° Π² систСму, ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄. На самом Π΄Π΅Π»Π΅ Zsh это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π‘ΠΎΡ€Π½Π° с большим количСством ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠΉ, которая Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Bash, KSH ΠΈ Tcsh.

Имя Zsh происходит ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π™Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ профСссора Π§ΠΆΡƒΠ½ Π¨Π°ΠΎ (Zhong Shao) Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Пол Π±Ρ‹Π» студСнтом ΠŸΡ€ΠΈΠ½ΡΡ‚ΠΎΠ½ΡΠΊΠΎΠ³ΠΎ унивСрситСта.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚Π°ΠΊΠΈΠ΅ интСрСсныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • ΠΠ²Ρ‚ΠΎΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ строк
  • БовмСстная история ΠΊΠΎΠΌΠ°Π½Π΄ для всСх сСансов ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΈ массивами
  • Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк Π² ΠΎΠ΄Π½ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅
  • ΠšΠΎΡ€Ρ€Π΅ΠΊΡ†ΠΈΡ ΠΎΡ€Ρ„ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

C shell

ΠžΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° C Ρ‚Π°ΠΊΠΆΠ΅ извСстна ΠΊΠ°ΠΊ Csh. Π•Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» Π‘ΠΈΠ» Π”ΠΆΠΎΠΉ ΠΊΠΎΠ³Π΄Π° Π±Ρ‹Π» студСнтом ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΠΉΡΠΊΠΎΠ³ΠΎ унивСрситСта. Π­Ρ‚Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° ΠΎΡ‡Π΅Π½ΡŒ распространСна Π² систСмах BSD Linux. Π—Π΄Π΅ΡΡŒ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсных особСнностСй, Π² Ρ‚ΠΎΠΌ числС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ структуры ΠΈ грамматичСскиС выраТСния. Π­Ρ‚Π° ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ прСдставила большоС количСство интСрСсных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ история ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ рСдактирования, псСвдонимы, CDPATH, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΈ Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π°, присоСдинСниС, Π·Π°ΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ„ΠΎΠ½Π΅ ΠΈ Ρ‚ Π΄.

Как ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Linux здСсь ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ скриптов, ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ структуры. Csh сСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ tcsh Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… систСмах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, MacOS X ΠΈ Red Hat Linux. Π’ Debian ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° CSH ΠΈ Tcsh.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° Π½Π° C Shell:

!/bin/csh
if ($days > 365) then
echo This is over a year.
endif

Fish

Fish ΠΈΠ»ΠΈ Friendly Interactive Shell - это командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Linux Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния. Она Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄, Π΅ΡΡ‚ΡŒ подсвСтка синтаксиса, подсвСтка ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… адрСсов Ρ„Π°ΠΉΠ»ΠΎΠ², быстрый поиск ΠΏΠΎ истории, Π²Π΅Π±-ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€, Π° Ρ‚Π°ΠΊΠΆΠ΅ особый синтаксис скриптов.

Π­Ρ‚ΠΎ новая командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π² Linux ΠΈ Π΅Π΅ синтаксис Π½Π΅ΠΏΠΎΡ…ΠΎΠΆ Π½ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ ΠΈΠ· соврСмСнных ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ, Π° скорСС Π½Π° язык программирования Python.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° fish:

!/usr/bin/fish
funced su
function su
/bin/su --shell=/usr/bin/fish $argv
end
funcsave su

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ сравнСниС ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Π² Linux Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎ ссылкС .

Π­Ρ‚ΠΎ всС Π½Π° сСгодня. НадСюсь Π²Π°ΠΌ Π±Ρ‹Π»ΠΎ интСрСсно.