Я знаю, что на днях я ввел команду, но теперь я не могу найти ее с помощью history
или .bash_history. Любые идеи, почему это происходит? Я подозреваю, что это связано с использованием нескольких вкладок в моем терминале OS X, и так или иначе история не переносится между вкладками, но я не знаю.Отсутствие команд в истории терминала X X
ответ
Начиная с OS X El Capitan 10.11, по умолчанию Bash настроен на сохранение отдельных команд для каждого терминала, поэтому их можно восстановить отдельно для Возобновления.
Каждая отдельная история также добавляется к глобальной истории в ~/.bash_history, когда оболочка завершена. Если вы выйдете из терминала, а затем снова откроете его - с включенным или без возобновления - вы должны обнаружить, что команды из каждого терминала находятся в ~/.bash_history. Если включено возобновление, каждый восстановленный терминал будет содержать только восстановленную историю, но когда вы создадите новый терминал, он начнется с последней глобальной истории.
Поскольку все истории команд добавляются к глобальному файлу ~/.bash_history, вы можете увеличить количество команд, сохраненных путем установки переменной окружения HISTFILESIZE
, чтобы последние истории терминалов не выводили другие истории терминалов файла слишком рано. Значение по умолчанию - 500. У меня установлено значение 10 000. Я также установил HISTSIZE
в 10 000, чтобы я мог перемещаться по всей истории (в противном случае из файла истории будут прочитаны только последние 500).
Сценарий, который организует отдельные истории команд, находится в /etc/bashrc_Apple_Terminal
в OS X El Capitan 10.11 и более поздних версиях. Он содержит обширные комментарии, описывающие, как работает механизм, и как его настроить или отключить.
Это происходит со мной все время. Я открываю несколько окон команд, а история сохраняется в том порядке, в котором они закрыты. Команды, которые вы ищете, возможно, были перезаписаны другим командным окном.
У меня была проблема с моим терминалом. Оказывается, это сохранение новых файлов в папке ~/.bash_sessions
. Это часть нового метода управления сессиями bash, представленными с El Capitan, описанными в файле /etc/bashrc_Apple_Terminal
. Это подтверждается выступом echo $HISTFILE
. Чтобы отключить это поведение, просто запустите touch ~/.bash_sessions_disable
. Затем закройте приложение «Терминал» и перезапустите его. Теперь он должен сохранить историю должным образом, что может быть подтверждено снова через echo $HISTFILE
. Надеюсь, это поможет!
- 1. Запустить последние команды X из истории команд IRB?
- 2. Цепочный сценарий терминала на mac os x
- 3. Выполнение точно x количество команд
- 4. Отсутствие символов Unicode в OS X
- 5. Удалить данные из терминала без стирания истории команд
- 6. -bash: ≈: команда не найдена (ошибка терминала X X), как исправить?
- 7. Использование Linux-терминала в Mac OS X
- 8. Python Юникода в Mac OS X терминала
- 9. Запуск ракетки с терминала в OS X
- 10. Комбинация команд partial_fraction (x) и коэффициента (x, n)
- 11. Создайте ярлыки команд «M-x» в emacs?
- 12. Как объявить отсутствие, если отсутствуют значения X?
- 13. Eclipse OS X ярлык для истории отладки
- 14. Открытие нового окна терминала из приложения x
- 15. Где хранятся группы окон терминала OS X
- 16. OS X: C++ Xcode Ncurses размер терминала
- 17. Gzip CSS/JS Использование терминала OS X
- 18. Кодирование эмулятора терминала Mac OS X?
- 19. x * x! = X * x в автоматической переменной?
- 20. OS X: Выход терминала javac искажен
- 21. ssh x переадресация и закрытие терминала
- 22. Пакетное переименование на OS X терминала
- 23. Сохранение истории команд в pdb
- 24. Запуск терминала в OS X и запуск команд с использованием Java
- 25. Терминал (OS X), очередь команд из файла
- 26. Запуск x количество команд за один раз
- 27. Merge ветки «X» из URL в X
- 28. Отключение терминала Erlang на Mac OS X Lion
- 29. Почему x ** 3 медленнее x * x * x?
- 30. Ошибка в svd (x, nu = 0): бесконечные или отсутствующие значения в 'x' (отмечено отсутствие отрицательных значений)
Есть ли способ предотвратить это? – meisel
в csh (оболочка, которую я использую, на самом деле tcsh) есть возможность объединиться в истории команд при выходе из оболочки. Он работает, но он медленный, если у вас есть 10 000 строк в вашей истории, как у меня. Googling, похоже, есть способы сделать bash сделать это тоже, но я не так хорошо знаком с bash. – Andras