Сохранить историю терминала

В настоящее время я беру класс Linux и работаю над проектом в командной строке. Последнее, что мне нужно сделать, это сохранить всю мою работу в лог-файл. Точная формулировка такова: «Создайте файл журнала всех команд, которые вы использовали до этого момента. Назовите этот файл Log_File.txt и загрузите его для отправки». Часть загрузки выполняется через IDE, но у меня немного времени найти ответ на вопрос, как сделать этот файл, который сохраняет все, что я сделал в проекте. Все поможет. -Спасибо

2
задан 30 September 2019 в 19:35

2 ответа

Я предполагаю, что просто необходимо работать:

history > filename.txt
3
ответ дан 23 October 2019 в 09:52

Управлять историей сессии a bash оболочка там history команда. Давайте взглянем на соответствующие части help history:

$ help history
history: history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]
    Display or manipulate the history list.

    Display the history list with line numbers, prefixing each modified
    entry with a `*'.  An argument of N lists only the last N entries.

    Options:
      -a        append history lines from this session to the history file
      -w        write the current history to the history file

    If FILENAME is given, it is used as the history file.  Otherwise,
    if HISTFILE has a value, that is used, else ~/.bash_history.

Когда a bash оболочка запускается, она читает последнее (значением по умолчанию 1000) строки из файла истории пользователя (по умолчанию ~/.bash_history) и builts история сессии в RAM. Когда Вы теперь выполняете командную строку, она сохраняет эту строку к истории сессии и отбрасывает первую строку вместо этого – история сессии однажды достигла, предел этих 1 000 строк не превышает этот предел.

После этого, для сохранения только истории сессии т.е. командных строк, которые Вы выполнили в этом конкретном окне терминала в файле ~/session_history, это:

history -a ~/session_history

Если Вы однако хотите сохранить 1 000 строк истории, сессия в настоящее время содержит в памяти, т.е. управляет от более старых сессий и текущей, это:

history -w ~/session+old_history

Если Вы хотите сохранить целую историю всех сеансов, закрытых до сих пор, ограниченных 2 000 строк по умолчанию, просто необходимо скопировать файл истории по умолчанию:

cp ~/.bash_history ~/closed-sessions_history

Если Вы хотите вручную сохранить историю сессии в этот файл, не закрыв сеанс, сделайте:

history -a

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

cp ~/.bash_history ~/all-sessions_history
0
ответ дан 23 October 2019 в 09:52

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

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