Как вспомнить историю в теминале

Я установил Ubuntu 10.10 вчера. Затем при использовании терминала я заметил, что после выхода из сеанса терминала его история исчезает, хотя история существует для приложений в истории терминала как-ROOT(CERN).

Давая команду

echo $HISTFILESIZE 

он показывает 2000. Я изменил это на 10000, когда я вышел из сеанса и открыл новый терминал; он снова показывает историю как 2000, и ни одна команда не может быть доступна с помощью клавиш со стрелками вверх / вниз.

Пожалуйста помоги. Я расстраиваюсь с оооочень.... много печатать в Терминале.

2 ответа

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

Может быть, вы запускаете команды как другой пользователь. Если так, сделайте:

su otheruser
history 10

и посмотрите на вывод.

Если вы измените $HISTFILESIZE изменения будут перезаписываться при каждом вызове другой оболочки. Чтобы предотвратить это, вы должны изменить эту переменную в вашем .bashrc, Также вы должны установить переменную $HISTSIZE на большее значение.

Обычно полезные советы по истории:

Ctrl + R выполняет обратный поиск вашей истории для вас. Alt + . вставляет последний аргумент последней команды в вашу подсказку в позиции курсора.

Тоже челка (!) оператор будет повторять команды для вас в терминале (если речь идет только о том, чтобы сэкономить вам набор текста. Пример:

confus@confusion:~$ echo "bang + letters will repeat the last command starting with these letters."
bang + letters will repeat the last command starting with these letters.

confus@confusion:~$ clear

confus@confusion:~$ !ech
bang + letters will repeat the last command starting with these letters.

Все эти истории, связанные с историей, хранятся в домашнем каталоге любого пользователя в файле с именем .bash_history, Вы можете посмотреть их, используя history -command. Это небольшой учебник по использованию истории.

confus@confus:~$ history 4 #will print last 4 commands
 1848  ls
 1849  clear
 1850  vi /home/confus/.local/share/applications/nautilus-home.desktop
 1851  history 4

Еще одна очень полезная вещь, чтобы создать .inputrc файл в вашем домашнем каталоге со следующим содержанием:

"\e\e[C": forward-word
"\e\e[D": backward-word
"\e[A": history-search-backward
"\e[B": history-search-forward

Таким образом, вы можете использовать или для завершения команд, которые вы начали вводить из истории. Например, когда вы набираете довольно длинную команду, такую ​​как rsync -a -v --human-readable --prune-empty-dirs -e 'ssh -i .ssh/id_rsa' --include="*/" --exclude="snapshot_*" --exclude="restart.*" /scratch/ x@cluster1:/home/x/runs/ и хотите запустить его во второй раз, вы можете просто набрать rsy и затем - он завершится до последней команды, которая началась с rsy. Еще одно нажатие вверх будет завершено до второго и так далее. Я не знаю, почему это не по умолчанию.

Вы можете нажать Control+R и выполнить поиск по истории Bash, если вы помните часть введенной вами команды.

Существует также файл с именем .bash_history в вашей домашней папке, которую вы можете открыть или grep, чтобы найти ранее введенные команды.

Другие вопросы по тегам