Теперь на экране должен появиться некий список файлов (здесь показана только часть):

343700

-rwxr-xr-x 1 root root      31316 2011-12-05 08:58 [

-rwxr-xr-x 1 root root       8240 2011-12-09 13:39 411toppm

-rwxr-xr-x 1 root root     111276 2012-01-31 13:36 a2p

-rwxr-xr-x 1 root root      25368 2010-10-06 20:16 a52dec

-rwxr-xr-x 1 root root      11532 2011-05-04 17:43 aafire

-rwxr-xr-x 1 root root       7292 2011-05-04 17:43 aainfo

Переместите курсор на первую строку и вставьте строку, скопированную в предыдущем файле, введя команду p:

343700

Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно..

-rwxr-xr-x 1 root root      31316 2011-12-05 08:58 [

-rwxr-xr-x 1 root root       8240 2011-12-09 13:39 411toppm

-rwxr-xr-x 1 root root     111276 2012-01-31 13:36 a2p

-rwxr-xr-x 1 root root      25368 2010-10-06 20:16 a52dec

-rwxr-xr-x 1 root root      11532 2011-05-04 17:43 aafire

-rwxr-xr-x 1 root root       7292 2011-05-04 17:43 aainfo

Вставка целого файла в другой файл

Кроме того, мы можем вставить файл целиком в другой файл. Для выполнения этого приема завершите сеанс vi и запустите новый, с одним файлом:

[me@linuxbox ~]$ vi ls-output.txt

На экране снова появится список файлов:

343700

-rwxr-xr-x 1 root root      31316 2011-12-05 08:58 [

-rwxr-xr-x 1 root root       8240 2011-12-09 13:39 411toppm

-rwxr-xr-x 1 root root     111276 2012-01-31 13:36 a2p

-rwxr-xr-x 1 root root      25368 2010-10-06 20:16 a52dec

-rwxr-xr-x 1 root root      11532 2011-05-04 17:43 aafire

-rwxr-xr-x 1 root root       7292 2011-05-04 17:43 aainfo

Переместите курсор в третью строку и введите следующую ex-команду:

:r foo.txt

Команда :r (сокращенно от read — читать) вставит указанный файл перед позицией курсора. Теперь экран должен выглядеть так:

343700

-rwxr-xr-x 1 root root      31316 2011-12-05 08:58 [

-rwxr-xr-x 1 root root       8240 2011-12-09 13:39 411toppm

Съешь же ещё этих мягких французских булок, да выпей чаю. Это классно.

Строка 2

Строка 3

Строка 4

Строка 5

-rwxr-xr-x 1 root root     111276 2012-01-31 13:36 a2p

-rwxr-xr-x 1 root root      25368 2010-10-06 20:16 a52dec

-rwxr-xr-x 1 root root      11532 2011-05-04 17:43 aafire

-rwxr-xr-x 1 root root       7292 2011-05-04 17:43 aainfo

Сохранение результатов работы

И здесь vi предлагает нам несколько способов сохранения отредактированных файлов. Мы уже знакомы с ex-командой :w, но существуют и другие команды, которые могут оказаться полезными.

В командном режиме можно ввести ZZ, чтобы сохранить текущий файл и выйти из vi. Аналогично, ex-команда :wq сочетает в себе команды :w и :q, первая из которых сохраняет файл, а вторая закрывает редактор.

В команде :w можно также указать имя файла. В этом случае она будет действовать как команда Save As (Сохранить как). Например, если вы редактируете foo.txt и хотите сохранить альтернативную версию с именем foo1.txt, введите следующую команду:

:w foo1.txt

ПРИМЕЧАНИЕ

Эта команда сохранит файл с новым именем, но она не изменит имя текущего редактируемого файла. Если после этого продолжить редактирование, вы будете редактировать foo.txt, а не foo1.txt.

13. Настройка приглашения к вводу

В этой главе мы рассмотрим, казалось бы, такую незначительную деталь, как приглашение к вводу командной оболочки (prompt). Кроме того, мы познакомимся с некоторыми внутренними особенностями работы командной оболочки и самой программы эмулятора терминала.

Как и многое в Linux, приглашение к вводу командной оболочки можно настраивать в очень широких пределах, и хотя мы принимаем это приглашение как данность, оно в действительности оказывается очень полезным средством для тех, кто умеет управлять им.

Устройство строки приглашения к вводу

По умолчанию строка приглашения к вводу имеет следующий вид:

[me@linuxbox ~]$

Обратите внимание, что она содержит имя пользователя, имя хоста (сетевое имя компьютера) и имя текущего рабочего каталога. Но как она образовалась? Все, оказывается, очень просто. Форма приглашения к вводу определяется в переменной окружения PS1 (сокращенно от prompt string 1 — строка приглашения 1). Увидеть содержимое переменной PS1 можно с помощью команды echo:

[me@linuxbox ~]$ echo $PS1

[\u@\h \W]\$

ПРИМЕЧАНИЕ

Не волнуйтесь, если вы увидите нечто отличающееся от примера, приведенного выше. Все дистрибутивы Linux определяют приглашение к вводу по-своему, а некоторые содержат весьма экзотические определения.

Мы видим, что PS1 содержит несколько символов, например: квадратные скобки, знак @ и знак доллара, но все остальное — сплошная абракадабра. Наиболее догадливые из вас сразу поймут, что символы, экранированные слешем, — специальные символы, как те, что мы видели в табл. 7.2. В табл. 13.1 приводится неполный список символов, которые командн­ая оболочка интерпретирует специальным образом в строке приглашения.

Перейти на страницу:

Похожие книги