모든 터미널의 모든 bash 명령을 단일 파일에 저장하는 방법이 있습니까? 기본적으로 터미널마다 기록이 다르므로 혼란스럽습니다. 모든 기록을 단일 파일에 저장하고 선택적으로 해당 명령을 대신 조회하고 싶습니까? 아마도 shift+가 uparrow중앙 파일의 기록에서 조회될 수 있을까요?
답변1
먼저, 각 사용자의 기록에 시간과 사용자 이름을 추가하고 쉘 프롬프트에 입력된 다음 명령(원하는 대로 값을 설정)과 같은 명령을 사용하여 각 기록 파일의 크기를 기본값인 500줄에서 확장하도록 쉘에 지시해야 합니다. , 와 함께
echo 'HISTTIMEFORMAT="%F %T $USER"' >> ~/.bashrc && HISTSIZE=10000
그 후 재부팅하면 변경 사항이 활성화됩니다. 왜? 날짜와 시간이 없고 누가 명령을 입력했는지 식별할 수 없는 기록은 그다지 유용하지 않을 수 있습니다.
그런 다음 사용자별 ~/.bash_history 내용을 주기적으로 공동 히스토리 파일에 복사하여 정렬하면 통합 이력이 날짜, 시간, 사용자 순으로 정렬됩니다.
그런 다음 관리자 수준 스크립트를 반복하여 각 사용자 디렉터리의 소스 파일을 삭제합니다.
cd /home/userx && rm ~/.bash_history && history -c
바꾸다엑스모든 사용자에 대해 해당 라인을 수행합니다.