Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: как объединить истории командной строки с 2-х систем?  (Прочитано 754 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн prestonia

  • Автор темы
  • Активист
  • *
  • Сообщений: 487
    • Просмотр профиля
хочу дописать к истории консоли своей базовой системы историю консоли с Ubuntu под виртуалкой
как это сделать по шагам, чтобы ничего не затереть (обе истории весьма важнЫ)?

желательно чтобы дубликаты команд не дописались к базовой истории, да

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
.bashrc
Код: (bash) [Выделить]
shopt -s histappend
# Combine multiline commands into one in history
shopt -s cmdhist
# Ignore duplicates, ls without options and builtin commands
export HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:[bf]g:exit"
потом нужно объединить файлы .bash_history

В bash'е история сохраняется при закрытии процесса bash, т.е. история не дописывается в реальном времени.

Оффлайн it0r

  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
...
В bash'е история сохраняется при закрытии процесса bash, т.е. история не дописывается в реальном времени.

записывается сразу, если в ~/.bashrc
PROMPT_COMMAND='history -a'
или
PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
проверить нужно какой выставлен параметр.

Пользователь решил продолжить мысль 08 Августа 2015, 12:27:43:
хочу дописать...
дубликаты команд не дописались...

а просто копипастить и grep не пойдет?
« Последнее редактирование: 08 Августа 2015, 12:27:43 от it0r »
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн prestonia

  • Автор темы
  • Активист
  • *
  • Сообщений: 487
    • Просмотр профиля
.bashrc
Код: (bash) [Выделить]
shopt -s histappend
# Combine multiline commands into one in history
shopt -s cmdhist
эти опции по-моему у меня и так установлены уже
.bashrc
Код: (bash) [Выделить]
# Ignore duplicates, ls without options and builtin commands
export HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:[bf]g:exit"
а что делает команда export и что вот это вот
Код: (bash) [Выделить]
export HISTIGNORE="&:ls:[bf]g:exit"
такое?

ну и главное -
потом нужно объединить файлы .bash_history
- можно правильную команду (я никогда не объединял файлы через консоль), и что делать после ее выполнения через эмулятор - просто закрывать эмулятор, выходить из сеанса, перезагружать машину етц?

записывается сразу, если в ~/.bashrc
PROMPT_COMMAND='history -a'
или
PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
проверить нужно какой выставлен параметр.
у меня в  ~/.bashrc вообще нет PROMPT_COMMAND

а просто копипастить и grep не пойдет?
нет, нужно именно дополнить историю файлом с другой системы, при этом не повредив исходную

Оффлайн it0r

  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
...
у меня в  ~/.bashrc вообще нет PROMPT_COMMAND
...

ну раз нет - значит сразу и не записывается...
так, на всякий случай по этому поводу: http://www.shellhacks.com/ru/7-Sovetov-Nastroyka-Istorii-Komand-v-Bash

...нужно именно дополнить... при этом не повредив...
можно пояснить? - что ты хочешь то?
измениться - в любом случае, копипастом - получается...
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн prestonia

  • Автор темы
  • Активист
  • *
  • Сообщений: 487
    • Просмотр профиля
можно пояснить? - что ты хочешь то?
измениться - в любом случае, копипастом - получается...

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

что мне делать, по шагам?

Оффлайн it0r

  • Забанен
  • Старожил
  • *
  • Сообщений: 2264
    • Просмотр профиля
...
что мне делать, по шагам?

1. на виртуалке, в домашней папке открываешь gedit-ом файл .bash_history
2. выделить все
3. копировать
4. на рабочей машине открываешь gedit-ом файл .bash_history
5. курсор в конец файла - вставить, сохранить
6. открываешь терминал, history показывает обе истории

Пользователь решил продолжить мысль [time]08 Август 2015, 17:30:44[/time]:
может быть у тебя буфер обмена не настроен?
ТУТ - это дерево. А ЗДЕСЬ - это МЕСТО.... Так что ТУТ - это не ЗДЕСЬ.

Оффлайн Freezeman

  • Активист
  • *
  • Сообщений: 637
  • Xubuntu 14.04.2 LTS :: SSD Kingston HyperX Fury
    • Просмотр профиля
.bashrc
Код: (bash) [Выделить]
# Ignore duplicates, ls without options and builtin commands
export HISTCONTROL=ignoredups
export HISTIGNORE="&:ls:[bf]g:exit"
а что делает команда export и что вот это вот
Код: (bash) [Выделить]
export HISTIGNORE="&:ls:[bf]g:exit"
такое?

http://rus-linux.net/MyLDP/consol/export.html

В HISTIGNORE записано, что &, ls, bg, fg, exit не будут записываться в историю, но например ls -la -- будет.

Пользователь решил продолжить мысль 08 Августа 2015, 20:32:42:
потом нужно объединить файлы .bash_history
- можно правильную команду (я никогда не объединял файлы через консоль), и что делать после ее выполнения через эмулятор - просто закрывать эмулятор, выходить из сеанса, перезагружать машину етц?

Код: (bash) [Выделить]
cat /path/to/remote/.bash_history >> /path/to/local/.bash_history
Пользователь решил продолжить мысль 08 Августа 2015, 20:41:38:
записывается сразу, если в ~/.bashrc
PROMPT_COMMAND='history -a'
или
PROMPT_COMMAND='$PROMPT_COMMAND; history -a'
проверить нужно какой выставлен параметр.
у меня в  ~/.bashrc вообще нет PROMPT_COMMAND

Ну, тогда первый вариант, ясен пень.

А вообще, думаю будет полезно прочесть это:
http://www.opennet.ru/docs/RUS/bash_scripting_guide/

Пользователь решил продолжить мысль 08 Августа 2015, 20:56:05:
Чтобы загрузить историю надо заново запустить bash.

По состоянию на 16/06/2019 тема не получает никакого развития. Последняя активность ТС на форуме на данный момент времени: 08 Августа 2015 (20 месяцев назад).
Проблема с высокой долей вероятности не может быть воспроизведена на современном железе и современном ПО другими пользователями. Поэтому, дабы никого не путать, тема признается модератором подлежащей закрытию и последующей архивации. Закрыто
--zg_nico
« Последнее редактирование: 16 Июня 2019, 12:21:06 от zg_nico »

 

Страница сгенерирована за 0.07 секунд. Запросов: 23.