1. linux怎麼樣顯示命令歷史後又顯示命令的輸入時間
linux的bash內部命令history就可以顯示命令行的命令歷史,默認環境執行 history
命令後,通常只會顯示已執行命令的序號和命令本身。
如果想要查看命令歷史的時間戳,那麼可以執行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
這樣顯示的格式就變成,序號 - 時間 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制歷史命令記錄的總行數
將下面兩行內容追加到 .bash_profile 文件並重新登錄 bash shell,命令歷史的記錄數將變成 450
條:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改歷史文件名稱
默認情況下,命令歷史存儲在 ~/.bash_history 文件中。添加下列內容到 .bash_profile 文件並重新登錄
bash shell,將使用 .commandline_warrior 來存儲命令歷史:
# vi ~/.bash_profile
HISTFILE=/root/.commandline_warrior
3、使用 HISTCONTROL 從命令歷史中剔除連續重復的條目
在下面的例子中,pwd 命令被連續執行了三次。執行 history 後會看到三條重復的條目。要剔除這些重復的條目,可以將
HISTCONTROL 設置為 ignoreps:
# export HISTCONTROL=ignoreps
4、使用 HISTCONTROL 清除整個命令歷史中的重復條目
上例中的 ignoreps 只能剔除連續的重復條目。要清除整個命令歷史中的重復條目,可以將 HISTCONTROL 設置成
eraseps:
# export HISTCONTROL=eraseps
5、使用 -c 選項清除所有的命令歷史
如果你想清除所有的命令歷史,可以執行:
# history -c
6、使用 HISTIGNORE 忽略歷史中的特定命令
下面的例子,將忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=」pwd:ls:ls -ltr:」
2. linux查看歷史操作記錄
在linux系統的環境下,不管是root用戶還是其它的用戶只有登陸系統後用進入操作我們都可以通過命令history來查看歷史記錄,可是假如一台伺服器多人登陸,一天因為某人誤操作了刪除了重要的數據。這時候通過查看歷史記錄(命令:history)是沒有什麼意義了(因為history只針對登錄用戶下執行有效,即使root用戶也無法得到其它用戶histotry歷史)。那有沒有什麼辦法實現通過記錄登陸後的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile裡面加入以下代碼就可以實現:
PS1="`whoami`@`hostname`:"'[$PWD]'
history
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
if [ ! -d /tmp/dbasky ]
then
mkdir /tmp/dbasky
chmod 777 /tmp/dbasky
fi
if [ ! -d /tmp/dbasky/${LOGNAME} ]
then
mkdir /tmp/dbasky/${LOGNAME}
chmod 300 /tmp/dbasky/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP} dbasky.$DT"
chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null
source /etc/profile 使用腳本生效
退出用戶,重新登錄
上面腳本在系統的/tmp新建個dbasky目錄,記錄所有登陸過系統的用戶和IP地址(文件名),每當用戶登錄/退出會創建相應的文件,該文件保存這段用戶登錄時期內操作歷史,可以用這個方法來監測系統的安全性。
root@zsc6:[/tmp/dbasky/root]ls
10.1.80.47 dbasky.2013-10-24_12:53:08
root@zsc6:[/tmp/dbasky/root]cat 10.1.80.47 dbasky.2013-10-24_12:53:08
查看在12:53:08從10.1.80.47登錄的root用戶操作命令歷史
3. Linux下如何查看終端命令的歷史記錄
用history命令可以查看最近100條輸入的歷史命令記錄。
家目錄的 .bash_history 文件也會記錄歷史記錄。可以使用 cat .bash_history查看。
4. linux history可以查看到歷史執行過的命令,如何查看命令執行時間
答:linux的bash內部命令history就可以顯示命令行的命令歷史,默認環境執行 history
命令後,通常只會顯示已執行命令的序號和命令本身。
如果想要查看命令歷史的時間戳,那麼可以執行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service network restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
這樣顯示的格式就變成,序號 - 時間 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制歷史命令記錄的總行數
將下面兩行內容追加到 .bash_profile 文件並重新登錄 bash shell,命令歷史的記錄數將變成 450
5. linux terminal 輸入命令有歷史記錄嗎
無論是在哪種終端顯示模式下面(例如:$set term=vt100),只要你使用的是 C-Shell,就會有命令歷史記錄(history)的。
6. linux 查看當前系統默認可以記住用戶多少個歷史命令用什麼命令
可以使用History命令,主要用於顯示歷史指令記錄內容, 下達歷史紀錄中的指令 。
1、History命令語法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
參數:
n:數字,要列出最近的 n 筆命令列表
-c:將目前的shell中的所有 history 內容全部消除
-a:將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預設寫入 ~/.bash_history
-r:將 histfiles 的內容讀到目前這個 shell 的 history 記憶中
-w:將目前的 history 記憶內容寫入 histfiles
Linux系統在shell(控制台)中輸入並執行命令時,shell會自動把命令記錄到歷史列表中,一般保存在用戶目錄下的.bash_history文件中。默認保存1000條,也可以更改這個值。
如果鍵入history, history會顯示所使用的前1000個歷史命令,並且編了號,會看到一個用數字編號的列錶快速從屏幕上卷過。可能不需要查看1000個命令中的所有項目, 當然也可以加入數字來列出最近的 n 筆命令列表。
linux中history命令不僅僅可以查詢歷史命令而已. 還可以利用相關的功能來幫執行命令。
2、運行特定的歷史命令
history會列出bash保存的所有歷史命令,並且編了號,可以使用「嘆號接編號」的方式運行特定的歷史命令.
語法說明:
[test@linux]# [!number] [!command] [!!]
參數說明:
number :第幾個指令的意思;
command:指令的開頭幾個字母
! :上一個指令的意思!
3、History命令實戰
列出所有的歷史記錄:
[test@linux] # history
只列出最近10條記錄:
[test@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號碼執行命令,執行歷史清單中的第99條命令
[test@linux] #!99 (!和99中間沒有空格)
重復執行上一個命令
[test@linux] #!!
執行最後一次以rpm開頭的命令(!? ?代表的是字元串,這個String可以隨便輸,Shell會從最後一條歷史命令向前搜索,最先匹配的一條命令將會得到執行。)
[test@linux] #!rpm
逐屏列出所有的歷史記錄:
[test@linux]# history | more
立即清空history當前所有歷史命令的記錄
[test@linux] #history -c
除了使用history命令,在 shell 或 GUI 終端提示下,也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會向前翻閱),直到找到所需命令為止。這可以很方便地編輯前面的某一條命令,而不用重復輸入類似的命令。
7. 如何讓linux的history命令顯示時間記錄
history 顯示的是你的操作命令記錄,
當時沒有記錄時間,所以顯示的時候也沒有。
換句話也的要求,只通過history命令無法實現。
8. 在linux里如何查看以前的使用過的命令的時間
export HISTTIMEFORMAT='%F %T ' >> /etc/profile
以後的歷史記錄都有時間了。
9. linux 查看歷史命令執行時間
沒有 你加入了就是加入後的才能顯示
export HISTTIMEFORMAT='%F %T ' 試試這個
10. 關於linux命令歷史記錄的疑問
debian預設的shell 是 dash,而cenos是bash?
chsh可以用來改變預設的shell類型。試試呢?
學習中...