모든 터미널의 모든 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

변화엑스각 사용자에 대해 이 줄을 실행합니다.

관련 정보