質問: 「履歴」コマンドはどのように機能しますか? bash_historyの機能を理解しようとしています:/home/user# ls -a . .. .bash_history .bash_logout .bashrc .cache .profile pylabs .viminfo .xauthority .bash_historyフォルダーに/home/userファイルがあります。しかし、なぜそれは実行されたコマンドの全履歴を持っていないのですか?以下に出力されますか?/home/user# cat .bash_history su /home/user# ただし、同じ履歴が.bash_historyフォルダーの/rootファイルで利用できます。 # ls -a . .. .bash_history .bashrc .cache .profile .ssh .viminfo /home/user# cd /root/ # cat .bash_history bash script.sh ls cd pylabs/ ls ... ... ls -a cat .bash_history cd /root/ # 質問2:.bash_historyは特定のフォルダでのみ使用できますか?また、実行されたすべてのコマンドを異なるディレクトリに保存するにはどうすればよいですか?/home/user/pylabs# ls -a . .. backup bkupscript.py mybackup.py __pycache__ solution.py
回答: bashには、見つけたファイルに保存された履歴がありますが、実行中のシェルには、まだ保存されていない履歴もメモリにあります。使用する history -w現在の履歴をファイルに書き込みます。