Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Ср Dec 17, 2008 4:41 pm Заголовок сообщения: Программы и утилиты |
|
|
редактор vi
http://lib.ru/unixhelp/vi.txt
полное faq http://unix1.jinr.ru/~lavr/faq_vi.html
================================================
Очень кратко о редакторе "VI"
По не знаю какой уж там исторической традиции "честные"
(канонические, особенно коммерческие) системы Unix не имеют в
своем базовом комплекте ни одного нормального (еще раз
подчеркну это слово - НОРМАЛЬНОГО) текстового редактора.
Поэтому системный администратор должен уметь пользоваться
тем, что ему дают. А дают ему несравненный "Визуальный" экранный
редактор файлов - Редактор VI.
Редактор VI имеет три режима:
1. Командный - в этом режиме можно перемещаться по файлу и
выполнять редактирующие команды над текстом. Команды вызываются
ОБЫЧНЫМИ ЛАТИНСКИМИ БУКВАМИ.
2. Ввода текста - в этом режиме обычные латинские буквы будут
вставляться в текст.
3. Режим строчного редактора ED используется для управления
файлами (типа сохранить файл, зачитать файл и т.д.)
Прочитайте предыдущий абзац еще раз. Вы еще не испугались?
Хорошо. Поехали. Итак:
vi имя_файла
VI в КОМАНДНОМ РЕЖИМЕ.
ЧТОБЫ ВЫЙТИ ИЗ ФАЙЛА БЕЗ СОХРАНЕНИЯ, нажмите:
ESC : q ! Enter
чтобы выйти из файла, сохранив изменения, нажмите:
ESC : w ! Enter
ESC : q Enter
выйти из файла с сохранением, одной командой:
ESC : wq Enter
для перехода В РЕЖИМ ВВОДА нужно нажать команды типа:
"i" вставлять здесь
"A" вставлять с конца строки
"cw" заменять текущее слово
ESC для ВОЗВРАТА В КОМАНДНЫЙ РЕЖИМ
CTRL-[ для возврата в командный режим
для перехода В РЕЖИМ УПРАВЛЕНИЯ ФАЙЛАМИ нужно нажать
":" (перейти в режим редактора ED)
Двигаться по файлу можно командами:
h,j,k,l влево, вниз, вверх, вправо
Ctrl-F На страницу вниз
Ctrl-B На страницу вверх
А если вам очень повезет, то можно будет двигаться стрелочками.
Чтобы перейти в режим везения, нужно описать для операционной
системы ваш терминал. Этим займемся в дальнейшем (см.
"Описание терминалов, terminfo, termcap").
Подгоните курсор к нужному месту и нажмите
i перевод в режим ввода
вводите требуемый текст
ESC прекратить ввод, перейти в командный режим
Подгоните курсор к ненужному месту и нажмите
x удалить символ
dd удалить строчку
Еще парочка полезных команд:
o вставлять с новой строки (под текущей строкой)
a в режим ввода ЗА курсором
5yy запомнить 5 строчек
Подгоните курсор к нужному месту
p вставить запомненные строки под курсором
P вставить запомненные строки НАД курсором
J Склеить две строки
/Шаблон поиска Enter - поиск
n Повторить поиск
На этом ознакомление с редактором VI можно считать законченным.
Того, кто считает, что VI может предоставить больше удобств и
команд по редактированию, я отсылаю к прилагаемому здесь
справочнику-памятке "наиболее употребительные команды VI",
vibegin.txt
ну, и, естественно (как всегда), к документации. Остальных я
отсылаю к не менее удивительному в своем роде редактору EMACS,
которым, не смотря на это, рекомендую пользоваться впредь.
====================================== |
|
Вернуться к началу |
|
|
admin Site Admin
Зарегистрирован: 11.09.2008 Сообщения: 546
|
Добавлено: Пн Авг 17, 2009 2:57 pm Заголовок сообщения: screen |
|
|
Использование screen
Screen запускается из командной строки также, как и любое приложение
Вы можете получить сообщение о том, что screen запущен, а можете и не получить… Зависит от вашей системы. Если вы не получили сообщения, то вы можете подумать, что ничего не произошло. Однако это не так. Вы уже внутри терминала, запущенного в screen. Это нормальный полнофункциональный шелл, за исключением нескольких специальных команд. Screen использует клавиатурную комбинацию Ctrl+A для подачи команд терминалам внутри себя. Попробуйте нажать Ctrl+A, а затем ?
Вы увидите примерно следующее:
Код: |
Screen key bindings, page 1 of 2.
Command key: ^A Literal ^A: a
break ^B b lockscreen ^X x reset Z
clear C log H screen ^C c
colon : login L select ” ‘
copy ^[ [ meta a silence _
detach ^D d monitor M split S
digraph ^V next ^@ ^N sp n suspend ^Z z
displays * number N time ^T t
fit F only Q title A
flow ^F f other ^A vbell ^G
focus ^I pow_break B version v
help ? pow_detach D width W
history { } prev ^P p ^? windows ^W w
info i readbuf < wrap ^R r
kill K redisplay ^L l writebuf >
lastmsg ^M m remove X xoff ^S s
license , removebuf = xon ^Q q
[Press Space for next page; Return to end.] |
Screen воспринимает командные клавиатурные комбинации после нажатия Ctrl+A. Вы можете изменить это поведение при помощи конфиг-файла $HOME/.screenrc
Многооконность
Screen, как и большинство оконных менеджеров, поддерживает работу с несколькими окнами. Это очень удобно для выполнения параллельных задач без открытия новых ssh-сессий. Например, у меня постоянно открыто четыре или пять сессий с несколькими задачами в каждой. Раньше мне бы пришлось открыть порядка 15 терминалов, логинов, сессий.. Утомительно, не так ли? Эти неудобства полностью решает screen. Теперь я вполне могу обойтись одним терминалом.
Новое окно открывается комбинацией клавиш “Ctrl+a c”. После нажатия вы увидите новый терминал с вашим приглашением в том же окне. При этом предыдущие окна также продолжают работать. Давайте попробуем: запустите screen и в нем top
Код: |
Mem: 506028K av, 500596K used, 5432K free,
0K shrd, 11752K buff
Swap: 1020116K av, 53320K used, 966796K free
393660K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root 25 0 1892 1892 596 R 49.1 0.3
6614 root 16 0 1544 1544 668 S 28.3 0.3
7198 admin 15 0 1108 1104 828 R 5.6 0.2 |
Теперь откройте новое окно, нажав “Ctrl+a c”
Код: |
[boombick@server ] $ |
Вернитесь обратно, нажав Ctrl+a n
Код: |
Mem: 506028K av, 500588K used, 5440K free,
0K shrd, 11960K buff
Swap: 1020116K av, 53320K used, 966796K free
392220K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %ME
6538 root 25 0 1892 1892 596 R 48.3 0.3
6614 root 15 0 1544 1544 668 S 30.7 0.3 |
top остался в прежнем состоянии. Вы можете создать несколько окон и переключаться между ними используя Ctrl+a n для переключения на следующеее окно и Ctrl+a p для переключения на предыдущее. При этом каждый запущенный процесс останется в рабочем состоянии.
Отключаемся от screen
Есть два способа отключиться от screen: первый - это просто разлогиниться. Вы можете использовать клавиатурную комбинацию Ctrl+a K или просто набрать exit. Этот способ “убьет” текущее окно, если у вас их несколько или совсем остановит screen.
Второй способ заключается в отсоединении. Этот способ оставляет текущий процесс запущенным и просто отключает вас от терминала. Например, если вы через ssh-сессию запускаете какой-то очень длительный процесс, не требующий вашего внимания, то вы можете просто отключиться от screen при помощи Ctrl+a d. Это вернет вас обратно в исходную оболочку. Все процессы, запучшенные в screen, при этом остаются работающими и вы можете подключиться к ним позже.
Подключение к сессии
Вы компилируете большую программу на удаленном сервере, используя screen. И конечно же, по законам Мэрфи, соединение обрывается по независящим от вас причинам. Не стоит впадать в панику, screen все сохранил Просто соединитесь с сервером еще раз и посмотрите запущеные под screen процессы при помощи
Код: |
[root@server root]# [b]screen -ls[/b]
There are screens on:
31619.ttyp2.server (Detached)
4731.ttyp2.server (Detached)
2 Sockets in /tmp/screens/S-root. |
В этом примере запущено две screen-сессии. Для подключения к нужной из них используйте команду
[root@server root]#screen -r 31619.ttyp2.server
Просто используйте screen с флагом r и именем сессии для повторного подключения. Это очень удобно. Можно, например, запустить какой-то длительный процесс на работе и, вернувшись домой, продолжить контроль за его выполнением.
Логирование
Мне кажется очень важным порой сохранять полный лог своих действий. К счастью, screen легко с этим справляется. Просто активируйте логирование нажатием Ctrl+a H. Screen будет продолжать логирование на протяжении всего процесса работы. Бывает очень полезно вернуться назад и посмотреть порядок необходимых действий.
И еще немного…
Screen может вести мониторинг активности окна. Если вы качаете что-то большое, компилируете программу или просто выполняете длительный процесс, вы можете долгое время наблюдать пустой терминал без признаков активности. А процесс, тем временем, продолжает выполняться. Или, наоборот, смотреть на поток отладочной информации, ожидая окончания процесса. Для начала слежения перейдите в терминал, который вы хотите наблюдать и нажмите Ctrl+a M для слежения за активностью (сработает при появлении новой информации) или Ctrl+a _ для слежения за бездействием (сработает при прекращении поступления информации в терминал). Затем вы можете спокойно переключиться в другое окно или создать новое. При наступлении события, screen предупредит вас об этом сообщением с номером окна в заголовке терминала. Для быстрого переключения в это окно используйте Ctrl+a ” (это символ кавычки). Вы увидите список всех активных окон на данный момент. Для перехода в нужное можно использовать стрелки или просто набрать номер нужного окна. Для прекращения наблюдения перейдите в нужное окно и отмените мониторинг той же командой. Например, для прекращения наблюдения за активностью нажмите Ctrl+a M
Оригинал: http://www.rackaid.com/resources/linux-tutorials/general-tutorials/linux-screen.cfm |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|