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