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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Командная строка LinuxΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 20

Автор Шоттс Уильям

Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ рСдактирования ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки bash ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ (ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) с ΠΈΠΌΠ΅Π½Π΅ΠΌ Readline. ΠœΡ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ…. НапримСр, Π½Π°ΠΌ Π·Π½Π°ΠΊΠΎΠΌΡ‹ клавиши со стрСлками Π²Π»Π΅Π²ΠΎ ΠΈ Π²ΠΏΡ€Π°Π²ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°ΡŽΡ‰ΠΈΠ΅ курсор, Π½ΠΎ сущСствуСт Π΅Ρ‰Π΅ Ρ†Π΅Π»ΠΎΠ΅ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. РассматривайтС ΠΈΡ… ΠΊΠ°ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… всС, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ… вСсьма ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹. Π’Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ понравятся.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•

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

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ курсора

Π’ Ρ‚Π°Π±Π». 8.1 пСрСчислСны ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ для пСрСмСщСния курсора.

Π’Π°Π±Π»ΠΈΡ†Π° 8.1. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ пСрСмСщСния курсора

Клавиша

ДСйствиС

CTRL+A

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² Π½Π°Ρ‡Π°Π»ΠΎ строки

CTRL+E

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π² ΠΊΠΎΠ½Π΅Ρ† строки

CTRL+F

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π½Π° ΠΎΠ΄ΠΈΠ½ символ Π²ΠΏΠ΅Ρ€Π΅Π΄; дСйствуСт Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ клавиша со стрСлкой Π²ΠΏΡ€Π°Π²ΠΎ

CTRL+B

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π½Π° ΠΎΠ΄ΠΈΠ½ символ Π½Π°Π·Π°Π΄; дСйствуСт Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ клавиша со стрСлкой Π²Π»Π΅Π²ΠΎ

ALT+F

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π½Π° ΠΎΠ΄Π½ΠΎ слово Π²ΠΏΠ΅Ρ€Π΅Π΄

ALT+B

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ курсор Π½Π° ΠΎΠ΄Π½ΠΎ слово Π½Π°Π·Π°Π΄

CTRL+L

ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ экран ΠΈ устанавливаСт курсор Π² Π»Π΅Π²Ρ‹ΠΉ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ ΡƒΠ³ΠΎΠ». Π’ΠΎ ΠΆΠ΅ самоС Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° clear

ИзмСнСниС тСкста

Π’ Ρ‚Π°Π±Π». 8.2 пСрСчислСны ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш для рСдактирования символов Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС.

Π’Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ ΠΈ вставка (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚) тСкста

Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ Readline ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ killing and yanking (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚), ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π²Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈ вставкой (cutting and pasting). Π’ Ρ‚Π°Π±Π». 8.3 пСрСчислСны ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ клавиш, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΠ΅ ΠΈ вставку. Π’Ρ‹Ρ€Π΅Π·Π°Π½Π½Ρ‹Π΅ элСмСнты ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠΌ Π±ΡƒΡ„Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся kill-ring (ΠΊΠΎΠ»ΡŒΡ†ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΉ).

Π’Π°Π±Π»ΠΈΡ†Π° 8.2. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ рСдактирования тСкста

Клавиша

ДСйствиС

CTRL+D

УдаляСт символ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора

CTRL+T

ΠœΠ΅Π½ΡΠ΅Ρ‚ мСстами Π΄Π²Π° символа β€” Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ

ALT+T

ΠœΠ΅Π½ΡΠ΅Ρ‚ мСстами Π΄Π²Π° слова β€” Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора ΠΈ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΅ΠΌΡƒ

ALT+L

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π² Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр символы, начиная с символа Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° слова

ALT+U

ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр символы, начиная с символа Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° слова

Π’Π°Π±Π»ΠΈΡ†Π° 8.3. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ вырСзания ΠΈ вставки

Клавиша

ДСйствиС

CTRL+K

УдаляСт символы ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки

CTRL+U

УдаляСт символы ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° строки

ALT+D

УдаляСт символы ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слова

ALT+BACKSPACE

УдаляСт символы ΠΎΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ курсора Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ слова. Если курсор находится Π² Π½Π°Ρ‡Π°Π»Π΅ слова, удаляСтся ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ слово

CTRL+Y

Π˜Π·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ тСкст ΠΈΠ· ΠΊΠΎΠ»ΡŒΡ†Π΅Π²ΠΎΠ³ΠΎ Π±ΡƒΡ„Π΅Ρ€Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΉ ΠΈ вставляСт Π΅Π³ΠΎ Π² ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ курсора

клавиша meta

ΠžΡ‚Π²Π°ΠΆΠΈΠ²ΡˆΠΈΠ΅ΡΡ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ Readline, которая находится Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«READLINEΒ», Π½Π° страницС справочного руководства (man) для bash, столкнутся с Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ клавиша meta (meta key). На соврСмСнных ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ… Π΅ΠΉ соотвСтствуСт клавиша ALT, Π½ΠΎ Ρ‚Π°ΠΊ Π±Ρ‹Π»ΠΎ Π½Π΅ всСгда.

Π’ стародавниС Π²Ρ€Π΅ΠΌΠ΅Π½Π° (Π΄ΠΎ появлСния IBM-совмСстимых ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², Π½ΠΎ послС появлСния Unix) ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСны. Иногда ΠΈΡ… замСняли устройства, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°ΠΌΠΈ. Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» β€” это ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ устройство с тСкстовым дисплССм ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€ΠΎΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ элСктроники, сколько Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для отобраТСния символов ΠΈ пСрСмСщСния курсора. Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ посрСдством ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ кабСля) ΠΊ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ сСти большого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. Π’ Ρ‚ΠΎ врСмя сущСствовало ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ², ΠΈΠΌΠ΅Π²ΡˆΠΈΡ… Ρ€Π°Π·Π½Ρ‹Π΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ дисплСи с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ возмоТностями. Π’Π°ΠΊ ΠΊΠ°ΠΊ всС ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»ΠΈ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ Π½Π°Π±ΠΎΡ€ символов ASCII, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΌ пСрСносимыС прилоТСния, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ Π·Π½Π°ΠΌΠ΅Π½Π°Ρ‚Π΅Π»ΡŽ. Π’ систСмах Unix примСняСтся ΠΎΡ‡Π΅Π½ΡŒ слоТный способ использования Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² ΠΈ ΠΈΡ… Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… возмоТностСй. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Readline Π½Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ спСциализированной ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ клавиши, ΠΎΠ½ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π΅Π»ΠΈ Π΅Π΅ ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ meta. На соврСмСнных ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°Ρ… Ρ€ΠΎΠ»ΡŒ клавиши meta ΠΈΠ³Ρ€Π°Π΅Ρ‚ ALT, ΠΎΠ΄Π½Π°ΠΊΠΎ Ссли Π²Ρ‹ всС Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Π΄ΠΎ сих ΠΏΠΎΡ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Linux!), ΠΌΠΎΠΆΠ½ΠΎ просто Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ESC, ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ эффСкт наТатия ΠΈ удСрТания клавиши ALT.

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

Π”Ρ€ΡƒΠ³ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° дополнСния (completion). Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ происходит, ΠΊΠΎΠ³Π΄Π° Π² процСссС Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ наТимаСтся клавиша TAB. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Допустим, Ρ‡Ρ‚ΠΎ ваш домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ содСрТит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

[[email protected] ~]$ ls

DesktopΒ Β Β Β ls-output.txtΒ Β PicturesΒ Β TemplatesΒ Β Β Videos

DocumentsΒ Β MusicΒ Β Β Β Β Β Β Β Β Β Public

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ввСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку, Π½ΠΎ Π½Π΅ Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ENTER:

[[email protected] ~]$ ls l

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ TAB:

[[email protected] ~]$ ls ls-output.txt

ΠžΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π»ΠΈ Π²Ρ‹ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку Π·Π° вас? ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку β€” ΠΈ снова Π½Π΅ Π½Π°ΠΆΠΈΠΌΠ°ΠΉΡ‚Π΅ ENTER):

[[email protected] ~]$ ls D

НаТмитС TAB:

[[email protected] ~]$ ls D

ДополнСния Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ β€” просто ΠΏΡ€ΠΎΠ·Π²ΡƒΡ‡Π°Π» Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ сигнал. Π’Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ символу D соотвСтствуСт Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ»Π° Π²Π°ΡˆΡƒ строку, прСдлоТСнная Π²Π°ΠΌΠΈ «подсказка» Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄:

[[email protected] ~]$ ls Do

Π—Π°Ρ‚Π΅ΠΌ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ TAB:

[[email protected] ~]$ ls Documents

Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ.

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡƒΡ‚Π΅ΠΉ ΠΊΠ°ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частый случай использования дополнСния. Однако Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΊΠΎΠ³Π΄Π° слово начинаСтся с символа $), ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (ΠΊΠΎΠ³Π΄Π° слово начинаСтся с символа ~), ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ (ΠΊΠΎΠ³Π΄Π° дополняСмоС слово являСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС) ΠΈ сСтСвыми ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² (ΠΊΠΎΠ³Π΄Π° слово начинаСтся с символа @). Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сСтСвых ΠΈΠΌΠ΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² дСйствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΈΠΌΠ΅Π½, пСрСчислСнных Π² /etc/hosts.

Π‘ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ дополнСния связано нСсколько ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ клавиш (Ρ‚Π°Π±Π». 8.4).

БущСствуСт Π΅Ρ‰Π΅ нСсколько ΠΊΠΎΠΌΠ°Π½Π΄, смысл ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… для мСня Π½Π΅ совсСм ясСн. ΠŸΠΎΠ»Π½Ρ‹ΠΉ список Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π½Π° страницС справочного руководства (man) для bash, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Β«READLINEΒ».

Π’Π°Π±Π»ΠΈΡ†Π° 8.4. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ дополнСния

Клавиша

ДСйствиС

ALT+?

Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ эффСкт ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Π½Π°ΠΆΠ°Π² ΠΊΠ»Π°Π²ΠΈΡˆΡƒ TAB Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅

ALT+*

Вставит всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ дополнСния. Π­Ρ‚ΠΎ пригодится Π² Ρ‚ΠΎΠΌ случаС, Ссли трСбуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ большС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° дополнСния

ΠŸΠ ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅

ПослСдниС вСрсии bash Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ дополнСния. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это дСлаСтся с Ρ†Π΅Π»ΡŒΡŽ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ Ubuntu ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ мноТСство Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ рСализуСтся посрСдством Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ β€” Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠΈΠ½ΠΈ-сцСнариСв, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ…. Если Π²Π°ΠΌ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ