成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Bash history命令

系統 Linux
Bash 的 history 命令在它提供的功能數量上超過了所有其他 Linux Shell 歷史接口。

[[331238]]

Bash 的 history 命令在它提供的功能數量上超過了所有其他 Linux Shell 歷史接口。

Bash 有豐富的歷史。也就是說,它是一個古老的的 shell,還有一個更古老的 Shell (Bourne shell)的前輩,但是它還有一個很棒的 history 命令,它提供的功能數量超過了所有其他 shell 的歷史接口。 Bash 版本的 history 可進行反向搜索、快速調用、重寫歷史記錄等。

history 命令與許多其他命令不同。你可能習慣于將命令作為可執行文件放在常見的系統級位置,例如 /usr/bin/usr/local/bin 或者 ~/bin。 內置的 history 命令不在你的 PATH 中并且沒有物理位置:

  1. $ which history
  2.  
  3. which: no history in [PATH]

相反,history 是 shell 本身的內置函數:

  1. $ type history
  2. history is a shell builtin
  3. $ help history
  4. history: history [-c] [-d offset] [n] or
  5. history -anrw [filename] or
  6. history -ps arg [arg...]
  7.  
  8. Display or manipulate the history list.
  9. [...]

出于這個原因,每個 shell 中的歷史功能都是獨特的,因此你在 Bash 中使用的功能可能無法在 Tcsh 或 Fish 或 Dash 中使用,而在這些 shell 中使用的功能可能也無法在 Bash 中使用。在某些情況下,了解 Bash 可以做什么可能會激發其他 shell 的用戶創建有趣的改造來復制 Bash 行為,并且可能會解鎖你從未知道的 Bash 功能。

查看你的 Bash 歷史

history 命令最基本、最頻繁的用法是查看 shell 會話的歷史記錄:

  1. $ echo "hello"
  2. hello
  3. $ echo "world"
  4. world
  5. $ history
  6.   1  echo "hello"
  7.   2  echo "world"
  8.   3  history

事件指示器

事件指示器Event designator按事件搜索你的歷史記錄。在這里,“事件”是指記錄在歷史中的命令,以換行符劃定。換句話說,一行一個事件,以索引號來標記。

事件指示器大多以感嘆號開頭,有時也稱為 “bang”(!)。

要從你的歷史記錄中重新運行命令,請使用感嘆號,之后緊跟(之間沒有空格)所需命令的索引號。例如,假設第 1 行包含命令 echo "hello",你想要想再次運行它:

  1. $ !1
  2. echo "hello"
  3. hello

你可以使用相對定位,提供基于你歷史中當前位置向后的負數行號。例如,返回到歷史中倒數第三個條目:

  1. $ echo "foo"
  2. foo
  3. $ echo "bar"
  4. bar
  5. $ echo "baz"
  6. baz
  7. $ !-3
  8. echo "foo"
  9. foo

如果只想回去一行,那么可以使用速記 !! 代替 !-1。這節省了按鍵時間!

  1. $ echo "foo"
  2. $ !!
  3. echo "foo"
  4. foo

字符串搜索

你也可以對條目搜索特定的字符串,反過來搜索要運行命令。要搜索以指定字符串開始的命令,請使用感嘆號,之后緊跟(沒有空格)要搜索的字符串:

  1. $ echo "foo"
  2. $ true
  3. $ false
  4. $ !echo
  5. echo "foo"
  6. foo

你還可以在任意位置(不僅是開頭)搜索包含該字符串的命令。為此,請像之前一樣使用 ! 加上要搜索的字符串,但在字符串的兩端都用問號(?)圍繞起來。如果你知道該字符串后緊跟一個換行符,那么可以省略最后的問號(就是在按回車之前輸入的最后字符):

  1. $ echo "foo"
  2. $ true
  3. $ false
  4. $ !?foo?
  5. echo "foo"
  6. foo

字符串替換

類似于在行首搜索字符串,你可以搜索字符串并用新字符串替換它,以更改命令:

  1. $ echo "hello"
  2. hello
  3. $ echo "world"
  4. world
  5. $ ^hello^foo
  6. echo "foo"
  7. foo

讓 history 有用

在 Bash 中,history 命令的功能遠遠超過此處介紹的內容,但這是一個很好的開始, 可以讓你習慣使用你的歷史記錄, 而不是僅僅把它當作一個參考。經常使用 history 命令,并試試無需輸入命令即可執行的操作。你可能會感到驚訝!

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-09-02 07:43:02

Bash histor命令Linux

2021-05-25 09:01:21

Linux命令Bash histor

2018-06-26 09:15:24

Linux命令history

2022-11-23 08:14:42

bash 腳本test 命令

2023-02-02 14:06:00

history命令技巧

2011-02-16 09:23:42

2022-03-30 09:32:32

BashtestLinux

2012-05-10 10:53:10

Linuxhistory

2020-04-09 10:18:51

Bash循環Linux

2018-02-24 15:40:06

LinuxBashShell

2023-01-09 09:52:06

Bash字符串

2018-12-14 10:00:16

BashLinux命令

2020-06-28 07:33:01

source命令BashLinux

2022-12-26 17:23:06

Linuxhistory命令

2015-06-19 11:00:09

bash

2010-06-23 17:34:03

Linux Bash

2010-06-23 10:03:18

Linux Bash命

2010-06-23 17:37:14

Linux Bash

2018-01-18 12:36:14

Linuxbashhistory

2010-04-07 17:55:12

Unix命令
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 五月天天色| 欧美美女被c | 午夜电影网 | 羞羞视频在线观看 | 欧美国产日韩在线观看 | 日韩波多野结衣 | av网站免费看 | 罗宾被扒开腿做同人网站 | 久久福利 | 婷婷久久综合 | 日韩在线| 91久久久久久久久久久久久 | 亚洲精品国产电影 | 日本在线视频中文字幕 | 免费在线观看成人 | 国产精品欧美一区二区三区不卡 | 91精品国产综合久久婷婷香蕉 | 在线观看亚洲专区 | 久久精彩视频 | 日韩在线h | 99精品免费在线观看 | 在线观看免费av网 | 亚洲国产精品一区二区三区 | 久久亚洲欧美日韩精品专区 | 91精品国产777在线观看 | 91免费福利在线 | 一区二区三区在线 | 91久久国产综合久久91精品网站 | 亚洲a一区 | 一区二区三区日韩 | 日韩视频区 | 久久成人精品一区二区三区 | 97伦理 | www成人免费 | 一区二区三区视频 | 欧美一区二区三区一在线观看 | 色伊人网| 国产玖玖 | 亚洲国产高清免费 | 国产午夜精品一区二区三区嫩草 | 国产精品a久久久久 |