如何在 Linux 中有效地使用 history 命令
許多 Linux 伺服器的管理員需要花費大量時間在命令行上,因此查看 history 命令對他們來說是必不可少的。
以 BASH(Bourne Again SHell)為代表的用於與操作系統交互的默認命令行 Shell 在大多數主要的 Linux 發行版中被使用。
什麼是 history 命令
history 命令被用於列出以前輸入的命令和 Bash 日誌。
這個日誌被稱為 「history」 ,它能夠使我們快速查看以前在系統上執行的內容。
BASH 將關閉終端會話時所運行的所有命令並寫入你的歷史記錄文件。
~/.bash_history
當你同時運行兩個會話的時候,history 命令將單獨顯示當前的會話記錄,而不會顯示其他的歷史會話記錄。
如何查閱歷史命令
單獨運行 history 命令,無需其他選項就可以查閱先前運行的命令。如果你有大量的歷史記錄,則無法正確地看到這些記錄。在這些情況下,你必須使用諸如 less , more 等的文件視圖命令。
如何查閱最後的「 n 」命令
默認情況下,history 命令顯示我們執行的最後1000條命令。如果你只想列出「 n 」個命令,請使用以下命令。例如,顯示最近的10個歷史記錄,請運行以下命令。
history n
如何運行先前執行的命令
- 使用 UP 和 DOWN 方向鍵來回滾動用於瀏覽以前輸入的命令。
- 按 Enter 鍵執行它們或使用 Left 和 Right 鍵編輯命令。
重複上一個命令
重複執行你的最後一條命令,請運行以下命令。
!! - Double exclamation point
使用它的編號重複執行先前的命令
使用它的編號重複執行之前的命令。這將會很快地運行先前執行的命令,而不需要再次輸入長長的命令。
搜索並運行先前執行的命令
History 命令提供了各種搜索選項,這將允許我們搜索並運行先前執行的命令。
- 運行在字元串開始處匹配的命令
- 運行匹配給定字元串的命令
為了能夠執行這個操作,這裡作者調取了最後30個歷史日誌來進一步說明。
- 如果你想運行在字元串開始處匹配的命令,請使用以下格式,它將運行以 doc 字元串開頭的最新命令。
以作者的情況為例,它將運行位於756行的 docker run 命令。docker run
- 如果你想運行匹配給定字元串的命令,請使用以下格式,以作者的情況為例,它將運行以位於754行的 docker ps 命令。
docker ps
如何替換字元串並運行先前執行的命令
如果你想用新字元串重複上一個命令,只需要將 string1 替換為 string2 即可。(相當於使用以下命令)
> !!:s/string1/string2/
請使用以下格式。首先在下面的例子中,作者以及運行了 Fedora docker image,然後用 CentOS 而不是 Fedora 替換字元串。
如果你想運行先前使用的新字元串執行的任何具體命令,請使用以下任何一種命令格式。
以作者的情況為例。位於821行的 history 命令是 fedora docker 的容器。要想運行 centos 容器,只需將字母替換成 centos 。
使用 grep 命令列出匹配字元串
如果你已經在 docker 運行了很多命令,那麼使用 grep 和 docker 命令可以很容易地顯示匹配的命令列表。
如何在歷史命令中顯示日期和時間
默認情況下,history 命令只顯示用戶執行的命令,不顯示日期和時間,但會記錄運行命令的時間。
如果你想在 history 命令中輸出添加日期和時間,請導航至以下的鏈接。
Suggested Read : How To Display Date And Time In History Command
如何使用 YUM 命令來回滾更新
Yum( Yellowdog Update Modified )是 CentOS 和 Red Hat 系統的 RPM 軟體包管理工具。Yum 的 history 命令允許管理員將系統回滾到先前的狀態,但由於一些限制,回滾在所有的情況下都不起作用,或者 yum 命令可能不會執行任何操作,同時也可能移除您所不期望的包。
Suggested Read : How To Use YUM History Command To Rollback An Updates
如何查看其他用戶的歷史記錄
使用以下命令查看其他用戶記錄。
> # more /home/$USER/.bash_history
#如何通過 BASH History 進行搜索
我們可以通過敲擊 CTRL-R 鍵使用關鍵字搜索先前執行的命令(這將會在歷史記錄中向後搜索並且優先顯示最近的結果)。再次按 CTRL-R 查看下一個結果。
> # (reverse-i-search)'dock': docker run -ti centos /bin/bash
本文由 LinuxStory 志願者 Sunling 翻譯,更多詳情請查看原文。
原文鏈接:https://www.2daygeek.com/how-to-use-history-command-effectively-in-linux/
本文鏈接:https://linuxstory.org/how-to-use-histo…ctively-in-linux/
轉載請註明來自 LinuxStory ,否則必究相關責任!