歷史命令查看方法
十載專注成都網站制作,成都企業網站定制,個人網站制作服務,為大家分享網站制作知識、方案,網站設計流程、步驟,成功服務上千家企業。為您提供網站建設,網站制作,網頁設計及定制高端網站建設服務,專注于成都企業網站定制,高端網頁制作,對成都辦公空間設計等多個行業,擁有豐富的網站制作經驗。
history 【選項】 【歷史命令保存文件】
選項:
-c 清空歷史命令
-w 把緩存中的歷史命令寫入歷史命令保存文件~/.bash_history
每個用戶文件下都有一個歷史命令的保存文件,相互之間不會沖突。
直接用history看到的歷史命令是要比.bash_history文件中的歷史命令多一些的,因為我們登錄之后新操作的命令只有等我們正確退出之后才會寫入到.bash_history中。
history -w就可以強制將當前的歷史命令寫入到.bash_history中去
歷史命令默認會保存1000條,如果我們覺得太少,可以在環境變量配置文件
/etc/profile中進行修改,找到HISTSIZE=1000,把這里的1000改成你想要的值后按shift+:輸入wq保存并退出。
歷史命令的調用方法:
1.使用上下箭頭調用。
2.使用“!n”重復執行第n條歷史命令
3.使用“!!”重復執行上一條歷史命令
4.使用 “!字串”重復執行最后一條以該字串開頭的命令
Tab鍵是我們進行命令或者文件補全的快捷鍵,用好了不僅能提高我們輸入效率,而且能很好的幫我們排錯,以免命令輸出。
在 Linux 系統中,可以使用 history 命令查看歷史命令紀錄。如果要僅顯示歷史命令中第 3 到第 5 條紀錄,可以使用以下命令:
history | tail -n +3 | head -n 3
這個命令將首先使用 history 來查看歷史命令,然后使用 tail -n +3 將第一條到第二條命令刪除,然后使用 head -n 3 來限制顯示的結果只有3條。
也可以用 history | awk '{print $0}' | sed -n '3,5p' 來實現,其中 awk是用來輸出所有行,sed -n '3,5p' 用來輸出指定的行
此外,可以使用history 命令的 -n 參數來限制顯示的結果,例如 history -n 3-5 。
如果使用了配置文件,還可以使用配置文件的方式來限制顯示的條數。
通過鍵盤上的方向鍵↑和方向鍵↓來快速找到最近的幾次輸入命令。比如我們依次輸入了以下幾個命令:cd cm5 ls cd .. ls pwd這幾個命令
當我們輸入方向鍵↑的時候會看到之前的一個命令pwd。這樣就不用再輸入命令了。
當我們再按下方向鍵↑的時候,我們會看到之前的倒數第二個命令ls。依次類推,可以一直往前找。而方向鍵↓可以往后找。
如果要找的命令需要按↑鍵很多次的時候,就不太方便了,這時候我們可以用history命令來查看。
history命令默認會查看最近的所有命令,如果我們只想看最近的幾條命令,可以使用history 數字的形式。
當然history可以配合grep命令使用,如果想查看最近的命令中包含cd的命令,可以使用history|grep cd
如果我們想執行歷史記錄中的第83個命令,cd /etc/yum.repos.d,我們可以將此命令復制,粘貼執行。也可以采用如下方式:!83
很多情況下我們需要記錄用戶執行過的命令,不管是root還是其他普通用戶,我們可以通過以下方式來記錄。
PROMPT_COMMAND會在命令執行前執行。
$(who am i |awk '{print \$2,\$5}') 會輸出登錄用戶用的tty和登錄服務器的遠程電腦IP或者主機名。
$PWD 是內建變量,顯示當前執行命令的工作目錄。
history 1 | { read x cmd; echo ${cmd}; 會輸出最后一條歷史命令中的執行信息。
為了不讓用戶修改變量,使用 declare -rx 命令定義了只讀環境變量。這里要注意使用 readonly 命令也可以定義只讀變量,但是用戶用env命令看不到,只有用 export PROMPT_COMMAND 命令將變量設置為環境變量后才能看到。
變量加到 /etc/bashrc 是因為用戶登錄后會加載這里的配置,包括 sudo sudo su sudo su - su root su - root 。如果加到其他文件里則部分命令后就不會加載變量,自行嘗試。
修改rsyslog是可以自定義日志輸出的文件路徑和名字,用 logger -p 這個命令配合使用。
新增logrotate配置則是需要切割日志,防止單個日志文件太大,以及做好切割備份,方便查詢。
【一】
在 /etc/profile 最后添加如下行,則日志會直接輸出到 messages 日志里。
這種方式:不定義日志格式,直接將日志寫到messages日志文件里,和其他日志放一起,但是可以指定日志標簽,方便檢索。
缺點是(1)會導致日志增大,并且用戶提權后因-t標簽的存在,導致不會記錄提權前的用戶。(2)不能自定義日志路徑。
【二】
缺點:用戶可以刪除日志文件。
因為普通用戶和root都要往日志文件里寫,所以需要給普通用戶加一個附加組;并且如果日志文件不存在,普通用戶登錄后也需要新建,所以普通用戶必須有日志文件父目錄的寫權限。為了能讓所有普通用戶都可以寫,就給Command目錄加了SGID權限以及修改目錄屬組為audit。這樣普通用戶在這個目錄下創建的日志文件的屬組會自動繼承Command目錄的屬組,也就是audit。 (umask 002 touch $HISTORY_FILE) 命令則是因為root用戶生成的日志文件權限是644,屬組沒有寫權限。所以這里用 啟動子shell并修改umask的方式生成日志文件。這樣就不會修改root默認的 0022 的umask。
其他審計軟件:
免費2個月
ctrl+r?然后輸入搜索的關鍵詞,
比如:之前輸入過一個命令?/etc/profile?
只要ctrl+R?然后輸入就可以查詢到這個命令,可以用上下箭頭進行模糊查看ctrl+r?然后輸入搜索的關鍵詞,
比如:之前輸入過一個命令vim?/etc/profile?
只要ctrl+R?然后輸入vim就可以查詢到這個命令,可以用上下箭頭進行模糊查看
1、當前登錄用戶信息
who:
用戶名、終端類型、登陸日期以及遠程主機地址。
who /var/log/wtmp
可以查看自從wtmp文件創建以來的每一次登陸情況
-H:打印每列的標題
users命令: 打印當前登錄的用戶,從上面可以看到我自己從不同主機同時登錄,所以下面顯示2次。
2、查看命令歷史
每個用戶的命令歷史記錄保存在 ~/.bash_history 文件里,
或者在終端輸入: history
要想再執行哪條,使用 !96 重新執行該條命令。
3、last命令查看用戶登錄歷史
此命令會讀取 /var/log/wtmp文件;/var/log/btmp可以顯示遠程登陸信息。
last默認打印所有用戶的登陸信息。
如果想打印某個用戶的登陸信息,可以使用
last 用戶名
一些選項:
(1)-x:顯示系統開關機以及執行等級信息
(2)-a:將登陸ip顯示在最后一行
(3)-d:將IP地址轉換為主機名
(4)-t:查看指定時間的用戶登錄歷史
例如: 查看axing在
axing@ax:~$ last axing -a -t 20190201160000
4、lastlog命令查看所有用戶最近一次登錄歷史
讀取/var/log/lastlog文件;用戶排列順序按照/etc/passwd中的順序
一些選項:
(1) -u:查看某用戶的最后一次登錄記錄
比如: lastlog -u axing
(2) -t:查看最近幾天之內的用戶登錄歷史
比如: lastlog -t 1
查看最近1天之內的登陸歷史
(3) -b:查看指定天數之前的用戶登錄歷史
例如: lastlog -b 60
查看60天之前的用戶登錄歷史
5、ac命令
根據/var/log/wtmp文件中的登陸和退出時間報告用戶連接的時間(小時),默認輸出報告總時間
需要安裝:
(1)-p:顯示每個用戶的連接時間
(2)-d:顯示每天的連接時間
(3)-y:顯示年份,和-d配合使用
分享題目:linux歷史命令導出來 linux導出函數
URL鏈接:http://m.newbst.com/article26/doojgcg.html
成都網站建設公司_創新互聯,為您提供、用戶體驗、定制開發、ChatGPT、品牌網站制作、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯