linux history 看更多历史记录_Linux历史记录history常用技巧
Linux歷史記錄history常用技巧
Pain #1 - 歷史記錄不帶時間戳,不知道命令是什么時候發生的
默認情況下 history 命令直接顯示用戶執行的命令而不會輸出運行命令時的日期和時間,即使 history 命令記錄了這個時間。
運行 history 命令時,它會檢查一個叫做 HISTTIMEFORMAT 的環境變量,這個環境變量指明了如何格式化輸出 history 命令中記錄的這個時間。
若該值為 null 或者根本沒有設置,則它跟大多數系統默認顯示的一樣,不會顯示日期和時間。
echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc或者
echo 'export HISTTIMEFORMAT="%F %T "' >> /etc/profile生效后的history將會是這個樣子:
# history 1 2017-08-16 15:30:15 yum install -y mysql-server mysql-client 2 2017-08-16 15:30:15 service mysqld start 3 2017-08-16 15:30:15 sysdig proc.name=sshd 4 2017-08-16 15:30:15 sysdig -c topprocs_net 5 2017-08-16 15:30:15 sysdig proc.name=sshd 6 2017-08-16 15:30:15 sysdig proc.name=sshd | morePain #2 - 歷史記錄默認只保留500條記錄
history讀取環境變量HISTFILESIZE和HISTSIZE配置記錄和顯示的歷史命令記錄數量,默認是500, 可以改大一些:
# 設置歷史記錄條數echo 'export HISTFILESIZE=100000' >> >> ~/.bashrc# 設置顯示歷史記錄條數echo 'export HISTSIZE=10000' >> ~/.bashrc或者
# 設置歷史記錄條數echo 'export HISTFILESIZE=100000' >> /etc/profile# 設置顯示歷史記錄條數echo 'export HISTSIZE=10000' >> /etc/profilePain #3 - 多個終端相互覆蓋歷史記錄
現在通過多個ssh終端連接到同一個服務器是非常常見的操作,但是bash默認多個終端會相互覆蓋歷史記錄,通過下面的配置可以讓終端退出的時候采用append方式而不是overwrite保存歷史記錄:
echo 'shopt -s histappend' >> ~/.bashrc或者
echo 'shopt -s histappend' >> /etc/profilePain #4 - 如何快速搜索歷史記錄
在Bash環境中按'Ctrl+r', 切出(reverse-i-search)`':提示符,輸入需要查找命令關鍵字,繼續按Ctrl+r在多個結果中選擇。
總結
以上是生活随笔為你收集整理的linux history 看更多历史记录_Linux历史记录history常用技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python定义类_提升你的Python
- 下一篇: python逗号代码_基于Python3