如何在 Linux 中有效地使用 history 命令

Linux Story

純正開源之美 有趣、有料、有意思

如何在 Linux 中有效地使用 history 命令

GNOME.Asia 2017 峰會優秀志願者!

許多 Linux 服務器的管理員需要花費大量時間在命令行上,因此查看 history 命令對他們來說是必不可少的。

以 BASH(Bourne Again SHell)為代表的用於與操作系統交互的默認命令行 Shell 在大多數主要的 Linux 發行版中被使用。

什麼是 history 命令

history 命令被用於列出以前輸入的命令和 Bash 日誌。

這個日誌被稱為 “history” ,它能夠使我們快速查看以前在系統上執行的內容。

BASH 將關閉終端會話時所運行的所有命令並寫入你的歷史記錄文件。

1

2

~/.bash_history

當你同時運行兩個會話的時候,history 命令將單獨顯示當前的會話記錄,而不會顯示其他的歷史會話記錄。

如何查閱歷史命令

單獨運行 history 命令,無需其他選項就可以查閱先前運行的命令。如果你有大量的歷史記錄,則無法正確地看到這些記錄。在這些情況下,你必須使用諸如 less , more 等的文件視圖命令。

如何在 Linux 中有效地使用 history 命令

如何查閱最後的“ n ”命令

默認情況下,history 命令顯示我們執行的最後1000條命令。如果你只想列出“ n ”個命令,請使用以下命令。例如,顯示最近的10個歷史記錄,請運行以下命令。

history n

如何在 Linux 中有效地使用 history 命令

如何運行先前執行的命令

  • 使用 UP 和 DOWN 方向鍵來回滾動用於瀏覽以前輸入的命令。

  • 按 Enter 鍵執行它們或使用 Left 和 Right 鍵編輯命令。

重複上一個命令

重複執行你的最後一條命令,請運行以下命令。

!! – Double exclamation point

如何在 Linux 中有效地使用 history 命令

使用它的編號重複執行先前的命令

使用它的編號重複執行之前的命令。這將會很快地運行先前執行的命令,而不需要再次輸入長長的命令。

如何在 Linux 中有效地使用 history 命令

搜索並運行先前執行的命令

History 命令提供了各種搜索選項,這將允許我們搜索並運行先前執行的命令。

  • 運行在字符串開始處匹配的命令

  • 運行匹配給定字符串的命令

為了能夠執行這個操作,這裡作者調取了最後30個歷史日誌來進一步說明。

如何在 Linux 中有效地使用 history 命令
  • 如果你想運行在字符串開始處匹配的命令,請使用以下格式,它將運行以 doc 字符串開頭的最新命令。以作者的情況為例,它將運行位於756行的 docker run 命令。


    docker run

如何在 Linux 中有效地使用 history 命令
  • 如果你想運行匹配給定字符串的命令,請使用以下格式,以作者的情況為例,它將運行以位於754行的 docker ps 命令。

    docker ps

如何在 Linux 中有效地使用 history 命令

如何替換字符串並運行先前執行的命令

如果你想用新字符串重複上一個命令,只需要將 string1 替換為 string2 即可。(相當於使用以下命令)

1

2

> !!:s/string1/string2/

請使用以下格式。首先在下面的例子中,作者以及運行了 Fedora docker image,然後用 CentOS 而不是 Fedora 替換字符串。

如何在 Linux 中有效地使用 history 命令

如果你想運行先前使用的新字符串執行的任何具體命令,請使用以下任何一種命令格式。

以作者的情況為例。位於821行的 history 命令是 fedora docker 的容器。要想運行 centos 容器,只需將字母替換成 centos 。

如何在 Linux 中有效地使用 history 命令

使用 grep 命令列出匹配字符串

如果你已經在 docker 運行了很多命令,那麼使用 grep 和 docker 命令可以很容易地顯示匹配的命令列表。

如何在 Linux 中有效地使用 history 命令

如何在歷史命令中顯示日期和時間

默認情況下,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

如何查看其他用戶的歷史記錄

使用以下命令查看其他用戶記錄。

1

2

> # more /home/$USER/.bash_history

如何通過 BASH History 進行搜索

我們可以通過敲擊 CTRL-R 鍵使用關鍵字搜索先前執行的命令(這將會在歷史記錄中向後搜索並且優先顯示最近的結果)。再次按 CTRL-R 查看下一個結果。

1

2

> # (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/


分享到:


相關文章: