Вчера я установил Ubuntu 10.10. Затем при использовании терминала я заметил, что, после того как вышел из терминального сеанса, его истории не стало, хотя история существует для приложений в терминальном подобном КОРНЕ (CERN) история.
В предоставлении команды
echo $HISTFILESIZE
это показывает 2000. Я изменил это на 10 000, когда я вышел из сессии и открыл новый терминал; это снова показывает историю 2000, и ни к какой команде нельзя получить доступ через/клавиша со стрелкой вниз.
Помогите. Я становлюсь расстроенным так.... партией ввода в терминале.
Если никакие команды не могут быть выполнены с помощью ↑ или ↓, который указывает, что файл истории пуст, или у Вас нет полномочий чтения. Проверьте это.
Возможно, Вы выполняете команды как другой пользователь. Раз так сделайте:
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. Другое нажатие стрелки вниз завершится к предпоследнему и так далее. Я не знаю, почему это не значение по умолчанию.
Можно нажать Control+R и перерыть историю удара, если Вы помните часть команды, Вы вошли.
Существует также названный файл .bash_history
в Вашей домашней папке, которую можно открыть или grep для нахождения ранее вводимых команд.