Командная строка Linux
Шрифт:
– 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
Вставка целого файла в другой файл
Кроме того, мы можем вставить файл целиком в другой файл. Для выполнения этого приема завершите
[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. Настройка приглашения к вводу
В этой главе мы рассмотрим, казалось
Как и многое в Linux, приглашение к вводу командной оболочки можно настраивать в очень широких пределах, и хотя мы принимаем это приглашение как данность, оно в действительности оказывается очень полезным средством для тех, кто умеет управлять им.
Устройство строки приглашения к вводу
По умолчанию строка приглашения к вводу имеет следующий вид:
[me@linuxbox ~]$
Обратите внимание, что она содержит имя пользователя, имя хоста (сетевое имя компьютера) и имя текущего рабочего каталога. Но как она образовалась? Все, оказывается, очень просто. Форма приглашения к вводу определяется в переменной окружения PS1 (сокращенно от prompt string 1 — строка приглашения 1). Увидеть содержимое переменной PS1 можно с помощью команды echo:
[me@linuxbox ~]$ echo $PS1
[\u@\h \W]\$
ПРИМЕЧАНИЕ
Не волнуйтесь, если вы увидите нечто отличающееся от примера, приведенного выше. Все дистрибутивы Linux определяют приглашение к вводу по-своему, а некоторые содержат весьма экзотические определения.
Мы видим, что PS1 содержит несколько символов, например: квадратные скобки, знак @ и знак доллара, но все остальное — сплошная абракадабра. Наиболее догадливые из вас сразу поймут, что символы, экранированные слешем, — специальные символы, как те, что мы видели в табл. 7.2. В табл. 13.1 приводится неполный список символов, которые командная оболочка интерпретирует специальным образом в строке приглашения.
Таблица 13.1. Экранированные последовательности, используемые в строке приглашения
Последовательность
Отображаемое значение
\a
Звонок. Заставляет компьютер издавать звуковой сигнал
\d
Текущая дата в формате: день недели месяц число; например, «Mon May 26» (Пн Май 26)
\h
Имя хоста локальной машины минус имя домена
\H
Полное имя хоста
\j
Число заданий, действующих в текущем сеансе
\l
Имя текущего устройства терминала
\n
Символ перевода строки
\r
Возврат каретки
\s
Имя программы командной оболочки
\t
Текущее время в 24-часовом формате
\T
Текущее время в 12-часовом формате
\@
Текущее время в 12-часовом формате AM/PM
\A
Текущее время в 24-часовом формате, часы:минуты
\г
Имя пользователя
\v
Номер версии командной оболочки