国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學習啦 > 學習電腦 > 操作系統(tǒng) > Linux教程 > linux下history命令的用法教程

    linux下history命令的用法教程

    時間: 志藝942 分享

    linux下history命令的用法教程

      嵌入式系統(tǒng)是計算機技術的一種重要應用形式。接下來是小編為大家收集的linux下history命令的用法教程,希望能幫到大家。

      linux下history命令的用法教程

      1.使用 HISTTIMEFORMAT 顯示時間戳

      當你從命令行執(zhí)行 history 命令后,通常只會顯示已執(zhí)行命令的序號和命令本身。如果你想要查看命令歷史的時間戳,那么可以執(zhí)行:

      復制代碼

      代碼如下:

      # export HISTTIMEFORMAT='%F %T '

      # history | more

      1 2008-08-05 19:02:39 service network restart

      2 2008-08-05 19:02:39 exit

      3 2008-08-05 19:02:39 id

      4 2008-08-05 19:02:39 cat /etc/redhat-release

      注意:這個功能只能用在當 HISTTIMEFORMAT 這個環(huán)境變量被設置之后,之后的那些新執(zhí)行的 bash 命令才會被打上正確的時間戳。在此之前的所有命令,都將會顯示成設置HISTTIMEFORMAT 變量的時間。

      2.使用 Ctrl+R 搜索歷史

      Ctrl+R 是我經(jīng)常使用的一個快捷鍵。此快捷鍵讓你對命令歷史進行搜索,對于想要重復執(zhí)行某個命令的時候非常有用。當找到命令后,通常再按回車鍵就可以執(zhí)行該命令。如果想對找到的命令進行調(diào)整后再執(zhí)行,則可以按一下左或右方向鍵。

      復制代碼

      代碼如下:

      # [Press Ctrl+R from the command prompt, which will display the reverse-i-search prompt]

      (reverse-i-search)`red‘: cat /etc/redhat-release

      [Note: Press enter when you see your command, which will execute the command from the history]

      # cat /etc/redhat-release

      Fedora release 9 (Sulphur)

      3.快速重復執(zhí)行上一條命令

      有 4 種方法可以重復執(zhí)行上一條命令:

      使用上方向鍵,并回車執(zhí)行。

      按 !! 并回車執(zhí)行。

      輸入 !-1 并回車執(zhí)行。

      按 Ctrl+P 并回車執(zhí)行。

      4.從命令歷史中執(zhí)行一個指定的命令

      在下面的例子中,如果你想重復執(zhí)行第 4 條命令,那么可以執(zhí)行 !4:

      復制代碼

      代碼如下:

      # history | more

      1 service network restart

      2 exit

      3 id

      4 cat /etc/redhat-release

      # !4

      cat /etc/redhat-release

      Fedora release 9 (Sulphur)

      5.通過指定關鍵字來執(zhí)行以前的命令

      在下面的例子,輸入 !ps 并回車,將執(zhí)行以 ps 打頭的命令:

      復制代碼

      代碼如下:

      # !ps

      ps aux | grep yp

      root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00 ypbind

      root 17503 0.0 0.0 4124 740 pts/0 S+ 19:19 0:00 grep yp

      6.使用 HISTSIZE 控制歷史命令記錄的總行數(shù)

      將下面兩行內(nèi)容追加到 .bash_profile 文件并重新登錄 bash shell,命令歷史的記錄數(shù)將變成 450 條:

      復制代碼

      代碼如下:

      # vi ~/.bash_profile

      HISTSIZE=450

      HISTFILESIZE=450

      7.使用 HISTFILE 更改歷史文件名稱

      默認情況下,命令歷史存儲在 ~/.bash_history 文件中。添加下列內(nèi)容到 .bash_profile 文件并重新登錄 bash shell,將使用 .commandline_warrior 來存儲命令歷史:

      復制代碼

      代碼如下:

      # vi ~/.bash_profile

      HISTFILE=/root/.commandline_warrior

      8.使用 HISTCONTROL 從命令歷史中剔除連續(xù)重復的條目

      在下面的例子中,pwd 命令被連續(xù)執(zhí)行了三次。執(zhí)行 history 后你會看到三條重復的條目。要剔除這些重復的條目,你可以將 HISTCONTROL 設置為 ignoredups:

      復制代碼

      代碼如下:

      # pwd

      # pwd

      # pwd

      # history | tail -4

      44 pwd

      45 pwd

      46 pwd [Note that there are three pwd commands in history, after executing pwd 3 times as shown above]

      47 history | tail -4

      # export HISTCONTROL=ignoredups

      # pwd

      # pwd

      # pwd

      # history | tail -3

      56 export HISTCONTROL=ignoredups

      57 pwd [Note that there is only one pwd command in the history, even after executing pwd 3 times as shown above]

      58 history | tail -4

      9.使用 HISTCONTROL 清除整個命令歷史中的重復條目

      上例中的 ignoredups 只能剔除連續(xù)的重復條目。要清除整個命令歷史中的重復條目,可以將 HISTCONTROL 設置成 erasedups:

      復制代碼

      代碼如下:

      # export HISTCONTROL=erasedups

      # pwd

      # service httpd stop

      # history | tail -3

      38 pwd

      39 service httpd stop

      40 history | tail -3

      # ls -ltr

      # service httpd stop

      # history | tail -6

      35 export HISTCONTROL=erasedups

      36 pwd

      37 history | tail -3

      38 ls -ltr

      39 service httpd stop

      [Note that the previous service httpd stop after pwd got erased]

      40 history | tail -6

      10.使用 HISTCONTROL 強制 history 不記住特定的命令

      將 HISTCONTROL 設置為 ignorespace,并在不想被記住的命令前面輸入一個空格:

      復制代碼

      代碼如下:

      # export HISTCONTROL=ignorespace

      # ls -ltr

      # pwd

      # service httpd stop [Note that there is a space at the beginning of service, to ignore this command from history]

      # history | tail -3

      67 ls -ltr

      68 pwd

      69 history | tail -3

      11.使用 -c 選項清除所有的命令歷史

      如果你想清除所有的命令歷史,可以執(zhí)行:

      復制代碼

      代碼如下:

      # history -c

      12.命令替換

      在下面的例子里,!!:$ 將為當前的命令獲得上一條命令的參數(shù):

      復制代碼

      代碼如下:

      # ls anaconda-ks.cfg

      anaconda-ks.cfg

      # vi !!:$

      vi anaconda-ks.cfg

      補充:使用 !$ 可以達到同樣的效果,而且更簡單。

      下例中,!^ 從上一條命令獲得第一項參數(shù):

      復制代碼

      代碼如下:

      # cp anaconda-ks.cfg anaconda-ks.cfg.bak

      anaconda-ks.cfg

      # vi -5 !^

      vi anaconda-ks.cfg

      13.為特定的命令替換指定的參數(shù)

      在下面的例子,!cp:2 從命令歷史中搜索以 cp 開頭的命令,并獲取它的第二項參數(shù):

      復制代碼

      代碼如下:

      # cp ~/longname.txt /really/a/very/long/path/long-filename.txt

      # ls -l !cp:2

      ls -l /really/a/very/long/path/long-filename.txt

      下例里,!cp:$ 獲取 cp 命令的最后一項參數(shù):

      復制代碼

      代碼如下:

      # ls -l !cp:$

      ls -l /really/a/very/long/path/long-filename.txt

      14.使用 HISTSIZE 禁用 history

      如果你想禁用 history,可以將 HISTSIZE 設置為 0:

      復制代碼

      代碼如下:

      # export HISTSIZE=0

      # history

      # [Note that history did not display anything]

      15.使用 HISTIGNORE 忽略歷史中的特定命令

      下面的例子,將忽略 pwd、ls、ls -ltr 等命令:

      復制代碼

      代碼如下:

      # export HISTIGNORE=”pwd:ls:ls -ltr:”

      # pwd

      # ls

      # ls -ltr

      # service httpd stop

      # history | tail -3

      79 export HISTIGNORE=”pwd:ls:ls -ltr:”

      80 service httpd stop

      81 history

      [Note that history did not record pwd, ls and ls -ltr]


    看了“linux下history命令的用法教程”還想看:

    1.Linux中如何使用history命令

    2.Linux中history命令怎么用

    3.linux下free命令使用方法

    4.Linux系統(tǒng)怎么刪除歷史操作命令

    5.linux tail命令的使用方法

    2838147