Если вы используете Linux или Mac, то вы, скорее всего, используете bash в качестве командного интерпретатора по умолчанию. Обычно у него есть несколько неплохих возможностей (табы, история и т.п.), но существуют также несколько советов и трюков, которые могут сделать его более приятным в использовании. Ниже следует 5 моих любимых.
Перечисленные вещи следует добавлять в ваш файл .bashrc. Откройте его с помощью
nano ~/.bashrc
вы можете заменить «nano» на ваш любимый текстовый редактор (vi, emacs, pico, gedit, kate и т.п.)
Эффективный поиск по истории Нажмите ctrl+R для начала поиска, затем наберите фразу, которую следует найти в истории. Этот совет несложный, но он является отправной точкой, которую все должны знать!
history | grep "искомоевыражение"
Вы найдете выражение в вашей истории с использованием немного более гибкого способа.
Улучшите историю bash Если вы используете две сессии bash в одно и то же время, закрыв вторую, вы будете писать поверх команд, набранных в первой. Это означает, что история одной из сессий будет утеряна. По меньшей мере, это раздражает. К счастью, есть способ исправить это.
Откройте ваш файл .bashrc, как указано выше, и добавьте строки:
shopt -s histappend
PROMPT_COMMAND='history -a'
Новая история будет добавляться в конец существующей, вместо того, чтобы переписывать неё. Теперь вся ваша история будет сохранена!
Исправьте распространенные ошибки написания Добавьте в файл .bashrc:
shopt -s cdspell
Простые ошибки, такие как «otp» вместо «opt», или «ect» вместо «etc», будут игнорироваться.
Уберите дубликаты в истории Когда-нибудь читали свою историю команд и находили, что она в основном состоит из ls, pwd и exit? А как насчет набора одних и тех же команд вновь и вновь, таких как считывание содержимого лога?
и дублирующиеся записи будут игнорироваться, как и некоторые общие команды.
Исправьте многострочные команды Добавьте
shopt -s cmdhist
к .bashrc.
Это позволит вам быть уверенным в том, что команды в несколько строк будут оставаться едиными в истории.
Заключение Итак, вот 5 вещей, которые сэкономили мое время, — если вы знаете другие трюки, дайте мне знать о них в комментариях.
Комментарии:
Онанимус (13 мая 2011 16:39): Низкие цены на сантехнические работы в Киеве
Онанимус (13 мая 2011 16:38): Это рекламное агентство - лучший выбор
Онанимус (13 мая 2011 16:30): Дизайн офиса, дизайн интерьеров и квартиры
Онанимус (13 мая 2011 16:30): Качественно - реклама на радио
Онанимус (13 мая 2011 06:37): Аренда, прокат автомобилей посуточно, недорого
Онанимус (12 мая 2011 18:45): Лучшие сэндвич панели только тут
Онанимус (12 мая 2011 18:45): Металлочерепица, профнастил в Киеве, недорого
Онанимус (23 января 2011 07:19): If you want to buy real estate, you would have to receive the <a href="http://bestfinance-blog.com">loan</a>. Furthermore, my sister usually utilizes a financial loan, which is the most firm.
Онанимус (11 октября 2008 01:24): Предлагаю еще один способ применения HISTIGNORE. У меня часто была проблема, что когда набираю su, потом необходимо ввести рутовый пароль, так вот необратив внимания (да и наверное я не один такой) можно набрать su и случайно еще что-то, нажать ентер, и ввести неглядя пароль, и получалось что пароль попадал в хистори.
Хакеры часто этим пользуются просматривая лист истории пользователей на предмет случайно введенных паролей. Так вот что предлагаю.
Например ваш пароль начинается с заглавной буквы (много команд вы знаете в линукс, которые начинаются с заглавных букв? и я тоже немного) так вот ставим строку
export HISTIGNORE="[A-Z]*"
и у нас все команды начинающиеся с заглавных букв не попадут в историю (а вместе с тем не попадет туда и ваш случайно набранный пароль). при этом вы ваш пароль все равно не раскрываете. Никто ведь не заставляет вас писать
export HISTIGNORE="my password"
а только маску пишем. Вот
Онанимус (30 сентября 2008 12:15): Вот мой хистконтрол: export HISTCONTROL="ignoreboth:erasedups" ignore* - прибивает только следующие друг за другом одинаковые команды, а вот erasedups удаляет из истории команды, которые были когда-либо запущены раньше.
Онанимус (30 сентября 2008 05:16): Онанимус, спОсибо!!! У меня после строчки export HISTCONTROL="ignoredups" в хистори постоянно появлялись команды от mc типа: cd "`printf "%b" '\0057temp'`" cd "`printf "%b" '\0057etc\0057apache2'`"
Онанимус (29 сентября 2008 10:05): HISTCONTROL может принимать значения: "ignoredups" - в историю не будут добавляться одинаковые записи, если они идут подряд. "ignorespace" - будут пропускаться все команды, которые начинаются с пробела. "ignoreboth" - будут пропускаться оба типа записей. Помоему 3 вариант удобнее :)
HISTFILESIZE и HISTSIZE - устанавливают размер истории и файла истории в строках. export HISTSIZE=1000 export HISTFILESIZE=$HISTSIZE
Автозаполнение sudo по клавише TAB: complete -cf sudo