-Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в Linux_Comunity

 -Сообщества

Читатель сообществ (Всего в списке: 1) linux

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 28.09.2005
Записей:
Комментариев:
Написано: 3834


Советы и подсказки по bash

Четверг, 13 Декабря 2007 г. 19:28 + в цитатник
все записи автора Для непосвященных, bash - командная оболочка по умолчанию во многих Linux-дистрибутивах, включая Fedora, Ubuntu, Redhat и др. Используя операционную систему Linux-семейства, вы, вероятно, используете и bash. По этой причине ниже я собрал несколько часто возникающих проблем с bash и простые способы их решения.

1. Потеря истории команд

Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым. Вдвойне неприятно!

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.

Для этого надо отредактировать файл .bashrc (начинающим: любой файл, начинающийся с точки, является скрытым - служит для хранения пользовательских настроек).

nano ~/.bashrc

sudo здесь не нужно, это файл пользователя, а не настройка системы. Мне нравится nano, но можно использовать любой редактор: gedit, kate, mousepad, vi или emacs

добавить строки

shopt -s histappend

PROMPT_COMMAND=’history -a’

И сохранить. (Ctrl-O для записи. “^” означает клавишу “Ctrl” в nano и других программах. ^X для выхода)

Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash.

2. Глупые ошибки в написании

Добавьте

shopt -s cdspell

опять-таки в .bashrc. Таким образом ошибки в написании (например, ect вместо etc) будут исправляться.

3. Дубликаты в истории команд

Я часто набираю cd .. несколько раз подряд, и когда я нажимаю клавишу “вверх”, чтобы вернуться к ранее введенным командам, я не хочу, чтобы мне постоянно напоминали о моих неоптимальных передвижениях по файловой системе.

Добавьте

export HISTCONTROL="ignoredups"

опять таки к .bashrc.

Или даже лучше, добавьте

export HISTIGNORE="&:ls:[bf]g:exit"

Это позволит избавиться от дубликатов, а также от ls, bg, fg и exit, что сделает историю команд bash более читабельной.

4. Разорванные многострочные команды в истории команд

Добавьте

shopt -s cmdhist

в .bashrc, и многострочные команды будут записываться в одну строку, что облегчит редактирование.

5. Пара дополнительных советов от комментаторов

Нажмите Ctrl-R в bash, далее начните набирать команду. Так искать в истории команд гораздо быстрее, чем нажимать 300 раз “вверх”.

Также можно искать при помощи

history | grep "foo"

Команда

cd -

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

Нажатие “Esc”+”.” вызывает последний упомянутый объект. Например, если набрать cat /etc/apt/sources.list, а затем rm и нажать “Esc”+”.”, то команда будет автоматически завершена: rm /etc/apt/sources.list. Попробуйте!

Заключение

Вот несколько советов, как сделать историю команд bash удобней. Если у вас есть свои хитрости на этот счет, добавляйте в комментарии!

Извиняюсь за копипаст. Просто нашел эту статью полезной для себя и думаю, что для многих будет хорошим подспорьем.
Взято с http://linux-digg.ru/?p=11
Метки:  

Процитировано 5 раз

dandr   обратиться по имени [TLC] Без заголовка Четверг, 13 Декабря 2007 г. 19:41 (ссылка)
Утащил в цитатник...


Ответить С цитатой В цитатник
dreamer-x-dreamer   обратиться по имени Четверг, 13 Декабря 2007 г. 22:05 (ссылка)
Спасибо! Последую примеру dandr :))
Ответить С цитатой В цитатник
qmor   обратиться по имени Пятница, 14 Декабря 2007 г. 11:14 (ссылка)
Особенно пригодилось удаление дубликатов из истории
Ответить С цитатой В цитатник
MasterJedi   обратиться по имени Пятница, 14 Декабря 2007 г. 17:45 (ссылка)
Отлично, повышаем юзабилити консоли. Спс - полезно.
Ответить С цитатой В цитатник
Аноним   обратиться по имени Суббота, 15 Декабря 2007 г. 20:37 (ссылка)
спасибо за заметку последнего незнал
Ответить С цитатой В цитатник
StasikOS   обратиться по имени Понедельник, 17 Марта 2008 г. 12:42 (ссылка)
Еще немножко комплита из readline ) (Вместо M у кого-то подойдет Alt, у кого-то - тыцнуть Esc)
M-@ - дополнение имен хостов из /etc/hosts
M-~ - дополнение имен юзеров
M-$ - дополнение имен переменных
Ну и показ вариантов - то же самое, но начинать с ^x )
Ответить С цитатой В цитатник
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку