0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux history命令的使用技巧

Baekhyn0506 ? 來源:TIAP ? 作者:TIAP ? 2023-02-03 16:30 ? 次閱讀

使用 Linux 命令行工作,需要了解且使用 history 的一些常用的特性,不管是 Linux 初學(xué)者,還是系統(tǒng)專家。

在使用過一段時間 Linux 終端之后,大家應(yīng)該都會注意到,使用上下箭頭按鍵,可以執(zhí)行之前運(yùn)行過的命令,這就是 history 所起到的作用。

1,查看 bash 歷史記錄(history)

我們在之前的文章中介紹過 history 的使用,大家感興趣可以參考。

查看 bash 歷史記錄,最簡單的方法就是在命令行中輸入 history 命令:

history

這將顯示你歷史記錄中的上百或上千條命令,這取決于 HISTSIZE 變量中設(shè)定的大小。

圖片

如果不想列出所有的歷史記錄,可以限制顯示出的記錄條數(shù)。 比如,想要只顯示最近的 7 條歷史命令,可在 history 命令后跟上一個數(shù)字 7,如下:

history 7

圖片

2,運(yùn)行 bash 歷史記錄中的命令

在查看 history 記錄后,可以使用一個感嘆號 ! 來運(yùn)行其中的某條歷史命令,如下方式:

!

圖片

使用兩個感嘆號 !! 可以返回歷史記錄中最后的一條命令。 比如:

sudo !!

圖片

另外,也可以使用一個特定的字符串來運(yùn)行 history 命令,這個“特定的字符串”就是 history 命令中,與其匹配的命令:

!text

比如,你曾經(jīng)運(yùn)行過 echo $HISTCONTROL,然后想再次運(yùn)行它,那么可以這樣:

!echo

上述命令,會再次運(yùn)行 history 中的最后一條 echo 命令:

圖片

這其實(shí)也相當(dāng)于是在 history 命令中以 “字符串” 方式匹配搜索。

如果你不確定在 history 中的具體命令,可以在其后添加 :p 來打印該命令,而不是運(yùn)行,比如 !echo:p,!23:p 等。

3,搜索 history 記錄

你可能會想到使用 grep 搜索 history 記錄,像下面這樣:

history | grep text

搜索歷史記錄的一個更好且超級方便的方法是使用 ctrl + r 鍵,反向搜索并鍵入您要查找的字符串。

可以通過反復(fù)按 ctrl + r 來循環(huán)選擇,當(dāng)找到要查找的命令時,按 ctrl + o 或只按 enter 鍵即可選擇并運(yùn)行該命令。

例如,下面的示例搜索包含 “aud” 的命令:

圖片

如果找不到想要的命令,可更改搜索的字符串,或者按 ctrl + g 退出搜索。

4,重新使用歷史記錄中以前命令中的參數(shù)

關(guān)于 history 的另外一個很有用的技巧是,可以在新命令中使用以前命令中的參數(shù)。

我們可以像這樣使用上一個命令的最后一個參數(shù):


比如,假設(shè)我們剛剛使用過 less 命令讀取過某個文件,然后想再編輯此文件,那么可以使用 !$ 快捷鍵,如下圖所示:

圖片

上面的選項(xiàng)只提供上一個命令的最后一個參數(shù)。 如果需要所有參數(shù),請使用以下命令:


5,清除歷史記錄中的條目

有一個名為 HISTCONTROL 的環(huán)境變量,可以幫助我們處理 bash 歷史記錄中的冗余條目。 可以為其指定以下三個值之一:

  • ignorespace:使用這個變量值,在運(yùn)行某個命令時,在該命令前面加一個空格,該命令照常運(yùn)行,但是不會記錄在 history 記錄中;
  • ignoredups:如果有兩個或多個相同的命令連續(xù)運(yùn)行,則只有一個命令會記錄在 history 記錄中;
  • ignoreboth:設(shè)置上述兩個功能。

設(shè)置 HISTCONTROL 變量,應(yīng)該在 bashrc 文件中設(shè)置,以便在每次使用 bash shell 時該變量的設(shè)置都會起作用。

如果 history 中的記錄太多,可以使用 -c 選項(xiàng)來清理歷史記錄,然后從新開始記錄新的命令。

history -c

圖片

除了我們上面介紹的以外,history 還有很多東西值得研究學(xué)習(xí),大家可以參考 history 命令的 man 手冊,感興趣的話還可以了解一下 history builtins。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11123

    瀏覽量

    207895
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    658

    瀏覽量

    21927
  • 命令行
    +關(guān)注

    關(guān)注

    0

    文章

    76

    瀏覽量

    10368
  • Bash
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    10134
收藏 人收藏

    評論

    相關(guān)推薦

    有關(guān)Linux history歷史命令的例子詳解

    當(dāng)你在玩Linux的時候,如果你經(jīng)常使用命令行來控制你的Linux系統(tǒng),那么有效地使用命令歷史機(jī)制將會使效率獲得極大提升。事實(shí)上,一旦你掌握了我在下面給出的15個有關(guān)
    發(fā)表于 07-11 07:37

    LINUX怎么清除歷史記錄命令

    目的很簡單,就是清除linux下的歷史命令linux 下輸入history 命令顯示歷史敲過的命令
    發(fā)表于 07-25 07:45

    Linux與用戶有關(guān)的命令

    Linux與用戶有關(guān)的命令 Linux與用戶有關(guān)的命令  passwd命令  出于系統(tǒng)安全考慮,Lin
    發(fā)表于 01-18 12:46 ?749次閱讀

    Linux的常用網(wǎng)絡(luò)命令

    Linux的常用網(wǎng)絡(luò)命令 Linux 的常用網(wǎng)絡(luò)命令  計(jì)算機(jī)網(wǎng)絡(luò)的主要優(yōu)點(diǎn)是能夠?qū)崿F(xiàn)資源和信息的共享,并且用戶可以遠(yuǎn)程訪問信息。Linux
    發(fā)表于 01-18 12:47 ?1156次閱讀

    Linux關(guān)機(jī)命令詳解

    Linux關(guān)機(jī)命令詳解 在linux下一些常用的關(guān)機(jī)/重啟命令有shutdown、halt、reboot、及init,它們都 可以達(dá)到重啟系統(tǒng)的目的,但每個
    發(fā)表于 01-18 12:52 ?3584次閱讀

    Linux系統(tǒng)命令指南

    在“Linux 文件命令精通指南”中,我們討論了利用最基礎(chǔ)和最常用 Linux 文件命令所需的基本信息。在本文中,我將對 Linux 系統(tǒng)
    發(fā)表于 05-23 10:23 ?925次閱讀

    linuxHistory命令代碼的詳細(xì)資料合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是linuxHistory命令代碼的詳細(xì)資料合集免費(fèi)下載。
    發(fā)表于 11-19 08:00 ?2次下載

    linux有哪些常用的命令

     Linux命令非常之多,分為內(nèi)部命令和外部命令。
    發(fā)表于 02-27 08:00 ?4次下載
    <b class='flag-5'>linux</b>有哪些常用的<b class='flag-5'>命令</b>

    Linux操作系統(tǒng)基礎(chǔ)命令:如何運(yùn)用Bash history

    相信大家平時都有用 history 命令來查看命令歷史記錄,但是實(shí)際上 history 命令并非只有這個功能,
    的頭像 發(fā)表于 09-02 11:05 ?1948次閱讀

    如何在history命令中啟用時間戳

    我們大家應(yīng)該都比較熟悉 history 命令,其用于查看先前都運(yùn)行過哪些命令。不過有一個問題,默認(rèn)情況下,history 命令是不顯示
    的頭像 發(fā)表于 01-04 16:52 ?1855次閱讀
    如何在<b class='flag-5'>history</b><b class='flag-5'>命令</b>中啟用時間戳

    常用Linux命令介紹

    linux命令是對Linux系統(tǒng)進(jìn)行管理的命令。對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、磁盤驅(qū)動器、鍵盤、鼠標(biāo),還是用戶等都是文件,
    的頭像 發(fā)表于 02-09 14:31 ?981次閱讀

    淺析Linux精致的命令

    這只是一小部分常用的Linux命令Linux有很多命令可以使用。建議通過man命令來查看命令
    的頭像 發(fā)表于 04-24 16:28 ?1453次閱讀

    shell命令linux命令一樣嗎

    Shell命令Linux命令并不完全一樣。 首先,Shell是一種命令行解釋器,它是用來解釋和執(zhí)行用戶輸入的命令的。Shell既是一種
    的頭像 發(fā)表于 11-08 10:51 ?2438次閱讀

    linux重啟命令有哪些

    Linux是一種自由和開放源代碼的操作系統(tǒng),被廣泛應(yīng)用于服務(wù)器和嵌入式設(shè)備。在Linux中,有多種命令用于重啟系統(tǒng)。在本文中,我們將詳細(xì)介紹常用的Linux重啟
    的頭像 發(fā)表于 11-17 09:49 ?1826次閱讀

    恒訊科技詳解:云服務(wù)器history命令內(nèi)容格式優(yōu)化

    云服務(wù)器上的history命令用于顯示用戶之前執(zhí)行過的命令歷史記錄。默認(rèn)情況下,history命令的輸出可能不夠直觀或難以閱讀。為了優(yōu)化
    的頭像 發(fā)表于 07-25 13:36 ?186次閱讀