![すべての端末のすべてのbashコマンドを単一のファイルとして保存する方法はありますか? [コピー]](https://linux33.com/image/154566/%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E7%AB%AF%E6%9C%AB%E3%81%AE%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AEbash%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E5%8D%98%E4%B8%80%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A8%E3%81%97%E3%81%A6%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
すべての端末のすべてのbashコマンドを単一のファイルとして保存する方法はありますか?基本的に端末ごとに記録が異なるため、混乱することがあります。これらのコマンドを見つけるためのオプションを使用して、すべての履歴をファイルに保存したいですか?shiftたぶん+はuparrow中央ファイルの履歴を見ることができますか?
答え1
まず、シェルプロンプト(必要に応じて値を設定する)行で、次のコマンドを使用して各ユーザーの履歴に時間とユーザー名を追加し、各履歴ファイルのサイズ(デフォルトは500)を拡張するようにシェルに指示する必要があります。 )、そして
echo 'HISTTIMEFORMAT="%F %T $USER"' >> ~/.bashrc && HISTSIZE=10000
その後、再起動して変更を有効にします。なぜ?まあ、日付と時刻がなく、誰がコマンドを入力したかを識別できないレコードはあまり役に立ちません。
そして、定期的に各ユーザーの ~/.bash_history の内容を統合履歴ファイルにコピーしてソートすることで、統合履歴は日付、時刻、ユーザー別にソートされます。
これが完了したら、管理レベルのスクリプトを繰り返して、各ユーザーディレクトリのソースファイルを削除します。
cd /home/userx && rm ~/.bash_history && history -c
変化X各ユーザーに対してこの行を実行します。