linux的bash內(nèi)部命令history就可以顯示命令行的命令歷史,默認(rèn)環(huán)境執(zhí)行 history
創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為五原企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,五原網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
命令后,通常只會(huì)顯示已執(zhí)行命令的序號(hào)和命令本身。
如果想要查看命令歷史的時(shí)間戳,那么可以執(zhí)行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service work restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
這樣顯示的格式就變成,序號(hào) - 時(shí)間 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制歷史命令記錄的總行數(shù)
將下面兩行內(nèi)容追加到 .bash_profile 文件并重新登錄 bash shell,命令歷史的記錄數(shù)將變成 450
條:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改歷史文件名稱
默認(rèn)情況下,命令歷史存儲(chǔ)在 ~/.bash_history 文件中。
添加下列內(nèi)容到 .bash_profile 文件并重新登錄
bash shell,將使用 mandline_warrior 來存儲(chǔ)命令歷史:
# vi ~/.bash_profile
HISTFILE=/root/mandline_warrior
3、使用 HISTCONTROL 從命令歷史中剔除連續(xù)重復(fù)的條目
在下面的例子中,pwd 命令被連續(xù)執(zhí)行了三次。
執(zhí)行 history 后會(huì)看到三條重復(fù)的條目。
要剔除這些重復(fù)的條目,可以將
HISTCONTROL 設(shè)置為 ignoredups:
# export HISTCONTROL=ignoredups
4、使用 HISTCONTROL 清除整個(gè)命令歷史中的重復(fù)條目
上例中的 ignoredups 只能剔除連續(xù)的重復(fù)條目。
要清除整個(gè)命令歷史中的重復(fù)條目,可以將 HISTCONTROL 設(shè)置成
erasedups:
# export HISTCONTROL=erasedups
5、使用 -c 選項(xiàng)清除所有的命令歷史
如果你想清除所有的命令歷史,可以執(zhí)行:
# history -c
6、使用 HISTIGNORE 忽略歷史中的特定命令
下面的例子,將忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
1、當(dāng)前登錄用戶信息
who:
用戶名、終端類型、登陸日期以及遠(yuǎn)程主機(jī)地址。
who /var/log/wtmp
可以查看自從wtmp文件創(chuàng)建以來的每一次登陸情況
-H:打印每列的標(biāo)題
users命令: 打印當(dāng)前登錄的用戶,從上面可以看到我自己從不同主機(jī)同時(shí)登錄,所以下面顯示2次。
2、查看命令歷史
每個(gè)用戶的命令歷史記錄保存在 ~/.bash_history 文件里,
或者在終端輸入: history
要想再執(zhí)行哪條,使用 !96 重新執(zhí)行該條命令。
3、last命令查看用戶登錄歷史
此命令會(huì)讀取 /var/log/wtmp文件;/var/log/btmp可以顯示遠(yuǎn)程登陸信息。
last默認(rèn)打印所有用戶的登陸信息。
如果想打印某個(gè)用戶的登陸信息,可以使用
last 用戶名
一些選項(xiàng):
(1)-x:顯示系統(tǒng)開關(guān)機(jī)以及執(zhí)行等級(jí)信息
(2)-a:將登陸ip顯示在最后一行
(3)-d:將IP地址轉(zhuǎn)換為主機(jī)名
(4)-t:查看指定時(shí)間的用戶登錄歷史
例如: 查看axing在
axing@ax:~$ last axing -a -t 20190201160000
4、lastlog命令查看所有用戶最近一次登錄歷史
讀取/var/log/lastlog文件;用戶排列順序按照/etc/passwd中的順序
一些選項(xiàng):
(1) -u:查看某用戶的最后一次登錄記錄
比如: lastlog -u axing
(2) -t:查看最近幾天之內(nèi)的用戶登錄歷史
比如: lastlog -t 1
查看最近1天之內(nèi)的登陸歷史
(3) -b:查看指定天數(shù)之前的用戶登錄歷史
例如: lastlog -b 60
查看60天之前的用戶登錄歷史
5、ac命令
根據(jù)/var/log/wtmp文件中的登陸和退出時(shí)間報(bào)告用戶連接的時(shí)間(小時(shí)),默認(rèn)輸出報(bào)告總時(shí)間
需要安裝:
(1)-p:顯示每個(gè)用戶的連接時(shí)間
(2)-d:顯示每天的連接時(shí)間
(3)-y:顯示年份,和-d配合使用
1.linux如何查看用戶所有的歷史操作記錄
1、使用w命令查看登錄用戶正在使用的進(jìn)程信息,w命令用于顯示已經(jīng)登錄系統(tǒng)的用戶的名稱,以及他們正在做的事。該命令所使用的信息來源于/var/run/utmp文件。w命令輸出的信息包括:用戶名稱
用戶的機(jī)器名稱或tty號(hào)
遠(yuǎn)程主機(jī)地址
用戶登錄系統(tǒng)的時(shí)間
空閑時(shí)間(作用不大)
附加到tty(終端)的進(jìn)程所用的時(shí)間(JCPU時(shí)間)
當(dāng)前進(jìn)程所用時(shí)間(PCPU時(shí)間)
用戶當(dāng)前正在使用的命令
$ w
23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 10.1.80.56 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 10.20.48 23:01 2:53 0.01s 0.01s -bash
john pts/2 10.1.80.7 23:04 0.00s 0.00s 0.00s w
此外,可以使用who am i查看使用該命令的用戶及進(jìn)程,使用who查看所有登錄用戶進(jìn)程信息,這些查看命令大同小異;
2. 在linux系統(tǒng)的環(huán)境下,不管是root用戶還是其它的用戶只有登陸系統(tǒng)后用進(jìn)入操作我們都可以通過命令history來查看歷史記錄, 可是假如一臺(tái)服務(wù)器多人登陸,一天因?yàn)槟橙苏`操作了刪除了重要的數(shù)據(jù)。這時(shí)候通過查看歷史記錄(命令:history)是沒有什么意義了(因?yàn)閔istory只針對(duì)登錄用戶下執(zhí)行有效,即使root用戶也無法得到其它用戶histotry歷史)。那有沒有什么辦法實(shí)現(xiàn)通過記錄登陸后的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile里面加入以下代碼就可以實(shí)現(xiàn):
2.liunx 怎么查看用戶登錄 的歷史記錄
查看某用戶 cat /home/username/.bash_history 的操作歷史
使用root登陸使用last -x可查看用戶登陸歷史。
last 命令:
功能說明:列出目前與過去登入系統(tǒng)的用戶相關(guān)信息。
語 法:last [-adRx][-f ][-n ][帳號(hào)名稱…][終端機(jī)編號(hào)…]
補(bǔ)充說明:單獨(dú)執(zhí)行l(wèi)ast指令,它會(huì)讀取位于/var/log目錄下,
名稱為wtmp的文件,并把該給文件的內(nèi)容記錄的登入系統(tǒng)的用戶名單全部顯示出來。
參 數(shù):
-a 把從何處登入系統(tǒng)的主機(jī)名稱或IP地址,顯示在最后一行。
-d 將IP地址轉(zhuǎn)換成主機(jī)名稱。
-f 指定記錄文件。
-n 或- 設(shè)置列出名單的顯示列數(shù)。
-R 不顯示登入系統(tǒng)的主機(jī)名稱或IP地址。
-x 顯示系統(tǒng)關(guān)機(jī),重新開機(jī),以及執(zhí)行等級(jí)的改變等信息
3.linux查看歷史操作記錄
這個(gè)是某位高人寫的。希望對(duì)你有幫助。那有沒有什么辦法實(shí)現(xiàn)通過記錄登陸后的IP地址和某用戶名所操作的歷史記錄呢?答案:有的。
通過在/etc/profile里面加入以下代碼就可以實(shí)現(xiàn): #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可以看到在使用history命令的時(shí)候是沒時(shí)間顯示,不知道這個(gè)命令是什么時(shí)候所執(zhí)行,這個(gè)時(shí)候可以編輯/etc/bashrc文件,加入如下三行:HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT=”%Y%m%d-%H%M%S: ”
export HISTTIMEFORMAT保存后退出,關(guān)閉當(dāng)前shell,并重新登錄
這個(gè)時(shí)候,在~/.bash_History文件中,就有記錄命令執(zhí)行的時(shí)間了
用cat命令顯示這個(gè)文件,但是卻會(huì)看到這個(gè)時(shí)間不是年月日顯示的
方法步驟如下:
1、首先打開linux客戶端。
2、使用鼠標(biāo)點(diǎn)擊連接linux按鈕。
3、在彈出的界面內(nèi)輸入用戶名,主機(jī)ip地址。
4、再在彈出的界面內(nèi)輸入密碼。
5、最后在界面內(nèi)輸入history命令,即可成功顯示全部的linux的history指令歷史記錄。
在 Linux 系統(tǒng)中,可以使用 history 命令查看歷史命令紀(jì)錄。如果要僅顯示歷史命令中第 3 到第 5 條紀(jì)錄,可以使用以下命令:
history | tail -n +3 | head -n 3
這個(gè)命令將首先使用 history 來查看歷史命令,然后使用 tail -n +3 將第一條到第二條命令刪除,然后使用 head -n 3 來限制顯示的結(jié)果只有3條。
也可以用 history | awk '{print $0}' | sed -n '3,5p' 來實(shí)現(xiàn),其中 awk是用來輸出所有行,sed -n '3,5p' 用來輸出指定的行
此外,可以使用history 命令的 -n 參數(shù)來限制顯示的結(jié)果,例如 history -n 3-5 。
如果使用了配置文件,還可以使用配置文件的方式來限制顯示的條數(shù)。
一、如何查看Linux中各個(gè)用戶的歷史操作命令
查看命令歷史用history命令,歷史命令只有在注銷的時(shí)候,才會(huì)被更新到~/.bash_history這個(gè)系統(tǒng)歷史命令記錄文件中;當(dāng)你下次以bash登錄Linux的時(shí)候,系統(tǒng)會(huì)主動(dòng)由當(dāng)前用戶的~/.bash_history文件讀取歷史命令的記錄。
history命令用法:
history 數(shù)字
列出最近的n條命令;
history -w
將目前的歷史記憶的內(nèi)容強(qiáng)制立即寫入~/.bash_history文件中;
history -c
將目前所有的歷史命令記錄全部清除。
二、如何將Linux系統(tǒng)的歷史操作命令刪除
你好,
1、修改/etc/profile將HISTSIZE=1000改成0或1
清除用戶home路徑下。bash_history
2、立即清空里的history當(dāng)前歷史命令的記錄
history -c
3、bash執(zhí)行命令時(shí)不是馬上把命令名稱寫入history文件的,而是存放在內(nèi)部的buffer中,等bash退出時(shí)會(huì)一并寫入。
不過,可以調(diào)用'history -w'命令要求bash立即更新history文件。
history -w
后續(xù)操作的刪除命令只會(huì)刪除當(dāng)前用戶的操作命令,并不會(huì)影響其他用戶。
在提示符后輸入命令history,就可以查看到當(dāng)前用戶的歷史操作命令。圖中所示的是目前系統(tǒng)保存到root用戶輸入的377條命令。
在提示符下輸入命令history -c就可以刪除歷史操作命令。再用history命令查看,發(fā)現(xiàn)歷史操作命令已刪除。
如果希望系統(tǒng)不再保存歷史操作命令,就必須更改配置文件目錄下的配置文件profile。首先使用vi編輯器打開該文件。
找到HISTSIZE這個(gè)值,默認(rèn)情況下歷史命令將保存1000條,可以將該值改為0,然后保存并退出,最后重啟系統(tǒng)使得配置文件生效。
6重啟完成后,再次使用命令history查看,發(fā)現(xiàn)系統(tǒng)已不再記錄命令。
三、linux怎么樣顯示命令歷史后又顯示命令的輸入時(shí)間
linux的bash內(nèi)部命令history就可以顯示命令行的命令歷史,默認(rèn)環(huán)境執(zhí)行 history
命令后,通常只會(huì)顯示已執(zhí)行命令的序號(hào)和命令本身。
如果想要查看命令歷史的時(shí)間戳,那么可以執(zhí)行:
# export HISTTIMEFORMAT='%F %T '
# history | more
1 2008-08-05 19:02:39 service work restart
2 2008-08-05 19:02:39 exit
3 2008-08-05 19:02:39 id
這樣顯示的格式就變成,序號(hào) - 時(shí)間 - 命令行。
history的其他的一些基本功能:
1、使用 HISTSIZE 控制歷史命令記錄的總行數(shù)
將下面兩行內(nèi)容追加到 .bash_profile 文件并重新登錄 bash shell,命令歷史的記錄數(shù)將變成 450
條:
# vi ~/.bash_profile
HISTSIZE=450
HISTFILESIZE=450
2、使用 HISTFILE 更改歷史文件名稱
默認(rèn)情況下,命令歷史存儲(chǔ)在 ~/.bash_history 文件中。添加下列內(nèi)容到 .bash_profile 文件并重新登錄
bash shell,將使用 mandline_warrior 來存儲(chǔ)命令歷史:
# vi ~/.bash_profile
HISTFILE=/root/mandline_warrior
3、使用 HISTCONTROL 從命令歷史中剔除連續(xù)重復(fù)的條目
在下面的例子中,pwd 命令被連續(xù)執(zhí)行了三次。執(zhí)行 history 后會(huì)看到三條重復(fù)的條目。要剔除這些重復(fù)的條目,可以將
HISTCONTROL 設(shè)置為 ignoredups:
# export HISTCONTROL=ignoredups
4、使用 HISTCONTROL 清除整個(gè)命令歷史中的重復(fù)條目
上例中的 ignoredups 只能剔除連續(xù)的重復(fù)條目。要清除整個(gè)命令歷史中的重復(fù)條目,可以將 HISTCONTROL 設(shè)置成
erasedups:
# export HISTCONTROL=erasedups
5、使用 -c 選項(xiàng)清除所有的命令歷史
如果你想清除所有的命令歷史,可以執(zhí)行:
# history -c
6、使用 HISTIGNORE 忽略歷史中的特定命令
下面的例子,將忽略 pwd、ls、ls -ltr 等命令:
# export HISTIGNORE=”pwd:ls:ls -ltr:”
四、請(qǐng)問linux的history指令如何顯示全部的歷史記錄
history命令可以用來顯示曾執(zhí)行過的命令。
執(zhí)行過的命令默認(rèn)存儲(chǔ)在HOME目錄的.bash_history文件中,可以通過查看該文件來獲取執(zhí)行命令的歷史記錄。需要注意的是.bash_history不包含當(dāng)前會(huì)話所執(zhí)行的命令,執(zhí)行過的命令在關(guān)機(jī)時(shí)才會(huì)寫入文件,除非執(zhí)行命令history -w。
了解linux基礎(chǔ)命令,另外你是感興趣的話可以看下劉遄老師寫的《Linux就該這么學(xué)》作為入門的書籍,覺得不錯(cuò)的話采納下哦~。
五、linux 查看當(dāng)前系統(tǒng)默認(rèn)可以記住用戶多少個(gè)歷史命令用什么命令
可以使用History命令,主要用于顯示歷史指令記錄內(nèi)容, 下達(dá)歷史紀(jì)錄中的指令 。
1、History命令語法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
參數(shù):
n:數(shù)字,要列出最近的 n 筆命令列表
-c:將目前的shell中的所有 history 內(nèi)容全部消除
-a:將目前新增的history 指令新增入 histfiles 中,若沒有加 histfiles ,
則預(yù)設(shè)寫入 ~/.bash_history
-r:將 histfiles 的內(nèi)容讀到目前這個(gè) shell 的 history 記憶中
-w:將目前的 history 記憶內(nèi)容寫入 histfiles
Linux系統(tǒng)在shell(控制臺(tái))中輸入并執(zhí)行命令時(shí),shell會(huì)自動(dòng)把命令記錄到歷史列表中,一般保存在用戶目錄下的.bash_history文件中。默認(rèn)保存1000條,也可以更改這個(gè)值。
如果鍵入history, history會(huì)顯示所使用的前1000個(gè)歷史命令,并且編了號(hào),會(huì)看到一個(gè)用數(shù)字編號(hào)的列表快速從屏幕上卷過??赡懿恍枰榭?000個(gè)命令中的所有項(xiàng)目, 當(dāng)然也可以加入數(shù)字來列出最近的 n 筆命令列表。
linux中history命令不僅僅可以查詢歷史命令而已. 還可以利用相關(guān)的功能來幫執(zhí)行命令。
2、運(yùn)行特定的歷史命令
history會(huì)列出bash保存的所有歷史命令,并且編了號(hào),可以使用“嘆號(hào)接編號(hào)”的方式運(yùn)行特定的歷史命令.
語法說明:
[test@linux]# [!number] [!mand] [!!]
參數(shù)說明:
number :第幾個(gè)指令的意思;
mand:指令的開頭幾個(gè)字母
! :上一個(gè)指令的意思!
3、History命令實(shí)戰(zhàn)
列出所有的歷史記錄:
[test@linux] # history
只列出最近10條記錄:
[test@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號(hào)碼執(zhí)行命令,執(zhí)行歷史清單中的第99條命令
[test@linux] #!99 (!和99中間沒有空格)
重復(fù)執(zhí)行上一個(gè)命令
[test@linux] #!!
執(zhí)行最后一次以rpm開頭的命令(!? ?代表的是字符串,這個(gè)String可以隨便輸,Shell會(huì)從最后一條歷史命令向前搜索,最先匹配的一條命令將會(huì)得到執(zhí)行。)
[test@linux] #!rpm
逐屏列出所有的歷史記錄:
[test@linux]# history | more
立即清空history當(dāng)前所有歷史命令的記錄
[test@linux] #history -c
除了使用history命令,在 shell 或 GUI 終端提示下,也可以使用上下方向鍵來翻閱命令歷史(向下箭頭會(huì)向前翻閱),直到找到所需命令為止。這可以很方便地編輯前面的某一條命令,而不用重復(fù)輸入類似的命令。
文章名稱:設(shè)置linux中歷史命令 linux常用命令速記
分享地址:http://aaarwkj.com/article48/docpchp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、Google、電子商務(wù)、微信小程序、ChatGPT、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)