모든 터미널의 모든 bash 명령을 단일 파일에 저장하는 방법이 있습니까?

모든 터미널의 모든 bash 명령을 단일 파일에 저장하는 방법이 있습니까?

모든 터미널의 모든 bash 명령을 단일 파일에 저장하는 방법이 있습니까? 기본적으로 터미널마다 기록이 다르므로 혼란스럽습니다. 모든 기록을 단일 파일에 저장하고 선택적으로 해당 명령을 대신 조회하고 싶습니까? 아마도 shift+가 uparrow중앙 파일의 기록에서 조회될 수 있을까요?

답변1

먼저, 각 사용자의 기록에 시간과 사용자 이름을 추가하고 쉘 프롬프트에 입력된 다음 명령(원하는 대로 값을 설정)과 같은 명령을 사용하여 각 기록 파일의 크기를 기본값인 500줄에서 확장하도록 쉘에 지시해야 합니다. , 와 함께

echo 'HISTTIMEFORMAT="%F %T $USER"' >> ~/.bashrc && HISTSIZE=10000

그 후 재부팅하면 변경 사항이 활성화됩니다. 왜? 날짜와 시간이 없고 누가 명령을 입력했는지 식별할 수 없는 기록은 그다지 유용하지 않을 수 있습니다.

그런 다음 사용자별 ~/.bash_history 내용을 주기적으로 공동 히스토리 파일에 복사하여 정렬하면 통합 이력이 날짜, 시간, 사용자 순으로 정렬됩니다.

그런 다음 관리자 수준 스크립트를 반복하여 각 사용자 디렉터리의 소스 파일을 삭제합니다.

cd /home/userx && rm ~/.bash_history && history -c

바꾸다엑스모든 사용자에 대해 해당 라인을 수행합니다.

관련 정보