8

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

Я использую подсказку Reverse-I-Search и обновил свой .bash_profile, чтобы хранить всю мою историю, как упомянуто здесь на Mactoids: Как искать историю команд терминала.

  1. Запустить Терминал.

  2. Перейдите в домашнюю папку, введя:

    cd ~/
    
  3. Создайте .bash_profile, введя:

    touch .bash_profile
    
  4. Теперь либо отредактируйте файл .bash_profile в вашем любимом текстовом редакторе, либо введите его в окне терминала, чтобы автоматически открыть файл в TextEdit по умолчанию:

    open -e .bash_profile
    
  5. Наконец, добавьте это в файл .bash_profile:

    HISTFILESIZE=1000000000 HISTSIZE=1000000
    
  6. Сохранить и выйти.

У вас есть какие-либо идеи, как я мог бы получить доступ для вывода истории команд терминала в OS X?

2 ответа2

6

Вся ваша история хранится в ~/.bash_history , где используются как reverse-i-search и клавиши вверх / вниз. Этот файл регулярно удаляется, но если вы следовали руководству в своей ссылке, файл .bash_history практически никогда не будет сокращен.

1

Если вам все еще нужно исправить это, вот как я это сделал. Благодаря этому я могу СОХРАНИТЬ И ДОСТУПАТЬ историю на всех вкладках (то есть, если вы введете команду на одной вкладке, затем откроете новую вкладку и нажмете вверх, она предложит команду, которую вы только что ввели на предыдущей вкладке)

Вам понадобятся 2 вещи: 1. Введите эту команду в своем терминале, чтобы убедиться, что histappend включен:

shopt -s histappend && shopt histappend

2. Вам также необходимо знать, где хранятся ваши команды истории.

Мои файлы истории хранятся в ~/.bash_sessions, так что это будет отражать мой код. Если ваши файлы хранятся в ~/.bash_history или другом каталоге, просто замените их на ~/.bash_sessions, когда мы добавим их в наш bash_profile.

Как только вы поняли это, откройте ваш bash_profile и добавьте следующий код:

source ~/.bash_sessions/*.history        #<--sources prev sessions through your bash_profile. If you don't use ~/.bash_sessions to store your history, replace it with whatever you use (i.e. source ~/.bash_history/*.history

export HISTCONTROL=ignoredups:erasedups #<-- auto-erases duplicates in your history
export HISTSIZE=1000                    #<-- assigns # of results to return
export HISTFILESIZE=100000              #<-- assigns # of results to store in your .bash_history
shopt -s histappend                     #<-- appends & saves history throughout all tabs

export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"  <--appends history from all tabs, clears & uses appended history file as current  

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .