如何在 Unix 中即时访问历史记录?

Laz*_*zer 12 shell command-history

例如,如果我做一个

mkdir thisismyfolder912
Run Code Online (Sandbox Code Playgroud)

我记得有一些thisismyfolder912比不得不做的更简单的切换方法

cd thisismyfolder912
Run Code Online (Sandbox Code Playgroud)

那是什么方式,它是如何工作的?另外,我可以使用它的其他方法是什么?

小智 10

您是在谈论经典历史扩展,还是 Readline 处理?cd !$在接下来的输入线将在上一行的最后一个参数替代,或M-.M-_将使用的Readline进行粘贴。

  • @Lazer `!$` 是一个[历史扩展](http://unix.stackexchange.com/questions/6/what-are-your-favorite-command-line-features-or-tricks/67#67); shell 在解析您的命令时对其进行处理。M-。是一个 readline 按键;readline 是处理您按下的每个键的库,它会看到您按下了 M-。并自动为您输入最后一条命令的最后一个参数 (2认同)

Ban*_*jer 9

如果您的问题是关于访问命令历史记录,请尝试这个命名良好的命令

history 
Run Code Online (Sandbox Code Playgroud)

您也可以尝试Ctrl+ r,然后开始输入您试图记住您最近输入的命令。

(reverse-i-search)`cd ': cd mydir/data/
Run Code Online (Sandbox Code Playgroud)

点击ESC以选择命令或退出。这至少在 SuSE 上对我有用;不确定其他发行版。

  • 哇!这*实际上*将改变我的生活。拧你`历史| grep ...`! (5认同)

Uma*_*ang 7

就这么简单Alt+.

$ mkdir lasdfjalsdkjf
$ cd 
Run Code Online (Sandbox Code Playgroud)

Alt + .

$ cd lasdfjalsdkjf
Run Code Online (Sandbox Code Playgroud)

  • @Banjer:使用 `<kbd></kbd>` 标签来包围密钥。 (2认同)