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

Вчера я установил Ubuntu 10.10. Затем при использовании терминала я заметил, что, после того как вышел из терминального сеанса, его истории не стало, хотя история существует для приложений в терминальном подобном КОРНЕ (CERN) история.

В предоставлении команды

echo $HISTFILESIZE 

это показывает 2000. Я изменил это на 10 000, когда я вышел из сессии и открыл новый терминал; это снова показывает историю 2000, и ни к какой команде нельзя получить доступ через/клавиша со стрелкой вниз.

Помогите. Я становлюсь расстроенным так.... партией ввода в терминале.

5
задан 20 May 2011 в 05:40

2 ответа

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

Возможно, Вы выполняете команды как другой пользователь. Раз так сделайте:

su otheruser
history 10

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

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

Обычно полезные подсказки с помощью историй:

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

Также удар (!) оператор повторит команды для Вас в терминале (если он примерно сохранит Вас некоторый ввод. Пример:

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- команда. Ее маленькое учебное руководство на истории использования с практическими рекомендациями.

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

Другая очень полезная вещь состоит в том, чтобы создать a .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. Другое нажатие стрелки вниз завершится к предпоследнему и так далее. Я не знаю, почему это не значение по умолчанию.

8
ответ дан 23 November 2019 в 08:50

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

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

3
ответ дан 23 November 2019 в 08:50

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

Похожие вопросы: