1

В целях аудита и документирования я бы хотел найти команду, в которой все, что происходит в данном сеансе bash, записывается в файл.

То есть я хотел бы получить файл, который показывает все команды, которые я выполнил, и все результаты этих команд.

Я знаю, что могу получить часть этого, используя файл истории (команды запускаются), а часть - перенаправив вывод.

Тем не менее, я чувствую, что bash должен иметь эту возможность сам по себе, и я просто не нашел ее.

Пример:

> bash --some-kind-of-magic output.txt
$ cat file1.txt
this is the content of file1.txt
$ grep test file2.txt
this is the output of the command
$ exit
> cat output.txt
$ cat file1.txt
this is the content of file1.txt
$ grep test file2.txt
this is the output of the command
$ exit

1 ответ1

4

Вы можете использовать script для записи всех выходных данных команды или даже для запуска команды. Одна из команд, которую вы можете запустить, - это новый выпуск оболочки. Например, script my_log /usr/local/bin/bash

Если это не один раз, пожалуйста, укажите это в своем посте. (В этом случае вы, вероятно, захотите установить его в сценариях входа для этого пользователя, возможно, в сценарий exec и поместить журнал где-то, где журналом нельзя манипулировать).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .