воскресенье, 13 июля 2008 г.

Консоль не так страшна. Руководство для новичков.

Консоль не так страшна. Руководство для новичков. / Linux для всех / Блоги / Хабрахабр

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

Итак, поехали.

PS1


Будем считать, что способы перехода в режим консоли Вам знакомы. Переходим, логинимся и видим приглашение примерно такого вида:
имя_пользователя@сетевое_имя:`$

Мало о чем говорит, правда? На самом деле приглашение оболочки может содержать много полезной информации. Какой? Это Вы можете решить сами. За приглашение оболочки отвечает переменная окружения PS1. Не буду читать нудные лекции о том что это такое, перейдем сразу к практике.
Находим файл /home/<имя пользователя>/.bashrc (далее, вместо /home/<имя пользователя> используется ~). На первых порах, для удобной навигации по файлам и каталогам в консоли, рекомендую использовать файловый менеджер Midnight commander. Вызывается он простой командой mc. Возможно его придется установить из репозиториев Вашего дистрибутива. Итак, файл нашли, жмем F4 (открывает файл для редактирования) и при помощи курсоров спускаемся в самый конец файла. Пишем:
PS1="\u@\t \w \$ "

Сохраняем клавишей F2, закрываем файл и mc клавишей F10, вводим команду exit (выход из консоли) и логинимся заново. Теперь приглашение оболочки стало выглядеть так:
имя_пользователя@текущее_время текущий_каталог $

Вот некоторые значения переменной PS1. На самом деле их больше и Вы без труда сможете найти полный список этих значений.
\a - Cимвол Ctrl-g, который вызывает системный звонок
\d - Текущая системная дата
\h - Сетевое имя машины
\n - Символ новой строки
\t - Текущее системное время в формате 24 часов
\@ - Текущее системное время в формате 12 часов am/pm
\w - Имя текущего рабочего каталога
\u - Имя пользователя
\! - Номер следующей команды в истории команд


screen


С приглашением разобрались. Стало интересней, но удобней не стало. Будем делать удобней. Существует замечательный консольный оконный менеджер screen, который значительно упрощает жизнь настоящего юниксоида. Про screen на Хабре есть хорошая статья "Screen - текстовый оконный менеджер" (обязательно к прочтению) и я не хотел бы повторяться. Внесу лишь несколько дополнений в вышеуказанную статью.
Все настройки screen находятся в файле `/screenrc. Приведу несколько полезных:
# убираем приветствие при запуске screen
startup_message off
# показывать мигание экрана вместо писка динамика
vbell on
# размер буфера прокрутки
defscrollback 1000
# за счет этой строки имя работающего в окне приложения отображается рядом с номером окна.
shelltitle '$ |sh'

Подробней про строку shelltitle '$ |sh'. Пример строки состояния:
0 mc 1* vim 2 mutt

Это означает, что в первом окне, а оно текущее (символ *), запущен vim, во втором почтовик mutt, а в нулевом mc. Чтобы эта опция работала, необходимо в /etc/profile добавить строку:
export PROMPT_COMMAND = 'echo -n -e "\033k\033\134"'

Стало удобней, но напрягает постоянно набирать команду screen. Можно настроить screen на запуск сразу после входа пользователя в систему. Для этого в конц /etc/profile добавим следующие строки:
if [ "`tty`" = "/dev/vc/1" ]; then
if [ -x /usr/bin/screen ]; then
screen -R; logout
fi
fi

Это означает, что screen должен запускаться на первом терминале (тот, который запускается ctrl+alt+F1) сразу после входа пользователя, а после выхода из screen должен происходить logout.
И напоследок интересная фича screen. Ctrl+a h - создание текстовых скриншотов, очень полезная фича, посмотреть полученный результат можно так: "less hardcopy.X", где Х - это номер текущего окна screen.

alias и писк динамика


Стало удобней? Думаю да. Но можно еще удобней. Вы слыхали про alias? Нет? Сейчас расскажу, точней покажу как это работает. Опять идем в `/.bashrc и в конец файла пишем:
alias rpm='rpm -ihv'

Теперь при запуске команды rpm program.rpm будет выполняться rpm -ihv program.rpm.

Вы наверно обратили внимание, что работа в консоли порой сопровождается надоедливым писком динамика. Вот три способа отключения:
1. Выполните команду "setterm -blength 0 -bfreq 0 -store"
2. Добавьте в /etc/inputrc или в ~/.inputrc строку "set bell-style visible"
3. Добавьте в /etc/screenrc или в ~/.screenrc строку "vbell on"


Послесловие


И под конец еще несколько советов.
1. Вам просто необходимо познакомиться с текстовым редактором vim. На Хабре есть целый блог про него.
2. Пользуйтесь манами. Это что-то вроде помощи по использованию приложений. Для примера, наберите man mc и увидите подробный мануал по использованию вышеупомянутого mc.
3. Научитесь искать ответы на возникшие вопросы самостоятельно, только так вы сможете подружиться с такой системой как Linux. А она не берет в друзья кого попало.

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

Источники:
http://www.xakep.ru/magazine/xa/069/112/…
http://skif.bas-net.by/bsuir/base/node13…
http://www.linuxfocus.org/Russian/May200…

Комментариев нет: