歷史:改進控制台的使用

終端

在這是我關於DesdeLinux的第一篇文章,我想簡短地引用任何Linux的控制台或Shell中的一個不太知名但非常實用的命令。 我的意思是 歷史.

幾乎所有使用Linux的人都知道,如果我們在終端中按向上箭頭,它將向我們顯示以前使用的命令,如果我們繼續按一下,我們將在該命令列表中向後退。 把那個 !! 我們將執行最後使用的命令。 好吧,這要感謝 歷史,但是它的潛力並沒有止於此,因為如果直接執行它,我們將獲得包含最後一千個命令的列表:

sebastian:~$ history
1543 ping -c 2 desdelinux.net
1544 clear
1545 sudo apt-get update
1546 uname
1547 history

該列表本身將更長,但是僅舉幾個例子就足夠了。 從現在開始 我們可以看到所有使用命令的歷史記錄 再加上一個數字,使我們能夠在列表中找到所需的數字。 如果您願意,也可以這樣做 歷史 顯示相同的執行日期.

所以寫 ! 再加上行號,shell將執行與該行相對應的命令:

sebastian:~$ !1543
ping -c 2 desdelinux.net
PING desdelinux.net (192.31.186.28) 56(84) bytes of data.

但是,我們也可以用字母執行,因為如果我們把 !+un 將執行“ 1546”行,因為 運行以那些字母開頭的最後一個命令.

sebastian@soporte-mesi01:~$ !un
uname
Linux

但是要小心,因為這可能會帶來風險,因為我們不知道哪個命令是以這些字母開頭的最後一個命令,因此恢復以前使用的命令的最佳方法是使用 按鍵組合 CTRL+r,搜索引擎將為我們提供 然後,當我們鍵入內容時,它將向我們顯示最後一個匹配的完整命令。 所以用擠壓 進入 將運行它。

相反,如果我們想列出使用命令的所有時間,則必須使用grep:
sebastian:~$ history | grep uname
1499 uname -r
1500 uname -a
1546 uname
1549 uname
1550 history | grep uname

通過它,它將僅列出搜索到的單詞所在的行,在這種情況下,«UNAME“。


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

14條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   拉夫 他說:

    大! 謝謝你的提示

  2.   靜態 他說:

    恭喜,小費

  3.   uk 他說:

    這是在尋找,謝謝!

  4.   勝利者 他說:

    我不知道Ctrl + r,我將對其進行練習,使其保留在大腦數據庫中。
    您還可以在帖子中添加命令¨$ history -c,您知道該命令用於擦除歷史記錄,如果我們不想留下任何線索或由於鍵入錯誤的命令而變得太髒,通常會很有用。
    問候和感謝的帖子!

    1.    Thalskarth 他說:

      我知道使用-c參數的那個,但事實是我從未使用過

  5.   阿爾貝托 他說:

    非常有趣的快捷鍵“ Ctrl + r”。 補充一點,如果我們打開了多個終端,則“ history”命令僅顯示該終端的顯示,直到打開另一個新終端為止。
    它也可以與“ tail”命令一起使用(以查看最新命令),或與“ less”命令一起使用以按頁面查看它們。

    您好!

  6.   加布里埃爾 他說:

    它們是您不時忘記的小技巧,但它們非常有用,謝謝😉

  7.   維托 他說:

    太棒了
    因此,無需編寫rsync -avl -stats -progress /媒體/數據/ WEBS / /媒體/ WD / WEBS
    我只需要寫!496,從現在開始!
    我總是後悔剛開始使用Linux較晚,並且對啟動Linux感到很幸運。
    感謝您的這些命令。 他們肯定是在男人那裡,但是我從不看,就像我買東西一樣,我最後看的是手冊。
    謝謝。
    收到熱烈的問候。

    1.    丹尼爾·羅哈斯(Daniel Rojas) 他說:

      Vito,請記住,隨著更多行添加到歷史記錄中,該行的數量將發生變化。 我建議您避免輸入整行的方法是將其作為別名添加到您的.bashrc中,這樣,只需鍵入分配給它的別名的名稱,就會執行分配的整行。

      的問候!

      1.    維托 他說:

        謝謝。
        這個數字就是我的例子。 這個數字在我的記錄中,然後我嘗試了小費。 我知道它會更改,並且每次運行它時,相同的命令都會出現一個新的數字。

        關於.bashrc中的別名,我知道並且僅使用它用“ pan”(而不是適當的命令)關閉監視器(睡眠1 && xset dpms強制關閉),但是我使用別名不是很多,因為有很多別名我使用的命令使我不得不記住別名的問題; 我最終遇到了兩倍多的問題。 記住命令或命令別名。

        因此,記住“歷史”甚至更容易記住“歷史| grep rsync»用於當我必須備份工作時。 後者是我看到的一種實用程序的示例。

        我絕對認為,至少在我看來,這非常有用,可以保護我的大腦RAM,這是非常稀缺的。 因此,我不必記住許多命令。

        謝謝你的回复。

        接受親切的問候。

  8.   迭戈 他說:

    執行(不帶引號)“ history> historia.txt”也非常有用,從而將我們已執行的命令保存在文本文件中。

    1.    Thalskarth 他說:

      是的,您甚至可以始終在中間使用grep進行過濾,例如使用類似
      history | grep uname >pru.txt
      然後,txt將僅使用“ uname”命令保存結果

  9.   華金 他說:

    最好:Ctrl + r

  10.   約達 他說:

    好文章,非常有用。 謝謝你的信息🙂