Linux에서 환경 변수를 사용하여 명령 기록을 다른 파일로 보낼 수 있습니까?
내가 묻는 이유는 나중에 참조할 수 있도록 쉘 세션을 다른 파일에 기록하는 데 관심이 있기 때문입니다.
auditd나 이와 유사한 것을 사용할 수 있다는 것을 알고 있지만 세션을 기록하려면 설정해야 할 것이 꽤 많기 때문에 환경 변수나 사용할 수 있는 것이 있는지 물어보고 싶습니다.
답변1
나는 최근 Ask Ubuntu에서 매우 유사한 질문에 답변했습니다. https://askubuntu.com/questions/1175757/how-can-i-save-a-part-of-command-lines-into-a-new-file-using-history-command/1175763#1175763
-a
파일명과 함께 사용해야 합니다 . 설명된 대로 help history
:
기록: 기록 [-c] [-d 오프셋] [n] 또는 기록 -anrw [파일 이름] 또는 기록 -ps arg [arg...]
(...)
-a 이 세션의 기록 줄을 기록 파일에 추가합니다.
나중에:
FILENAME을 지정하면 히스토리 파일로 사용됩니다. 그렇지 않고 $HISTFILE에 값이 있으면 해당 값이 사용되고, 그렇지 않으면 ~/.bash_history가 사용됩니다.
예를 들어, 새 세션을 시작하고 다음을 입력합니다(이것은 $
팁이며 시스템에 따라 다를 가능성이 높습니다).
$ echo a-new-session started at $(date)
$ history -a /tmp/new-history
이 경우에는 /tmp/new-history
다음과 같습니다.
echo a-new-session started at $(date)
history -a /tmp/new-history