您的位置:首页 > 运维架构 > Linux

Linux入门 Part1: 使用控制台(4)-找到想要的命令

2014-04-12 15:32 302 查看
在shell环境下,输入命令是与计算机交互的唯一方法。在实际操作中,我们常常会出现想不起命令全名,只记得一个开头的情况。或者想要找回曾经输入过的一个命令,进行一些细微修改,然后再执行一次。为此,linux提供了一系列方法来帮助你找到想要执行的命令,或者曾经执行过的命令。

Tab自动补全命令

以date命令为例,如果我突然怎么也想不起来这个命令的原名,只记得它是以da这两个字母开头。那么你可以在控制台中输入da(不要按回车执行) 然后按两下Tab,结果如下

parallels@ubuntu:~$ da
dash  date
parallels@ubuntu:~$ da
按两下Tab表示我希望系统列出所有以da开头的命令。这里执行结果为 dash 和 date, 这样就找到了想要的date命令。同时,系统很友好的自动回到命令提示符并保留了我刚才输入的da,剩下要做得就是输入剩下的字母把命令补全。

更贴心的是,如果根据我输入的开头,系统只找到一个对应的结果,那只要按一下Tab系统就会自动帮你补全命令。例如如果我输入dat,那只需再按一下Tab,命令就会自动被补全。
注:Tab补全命令是一个相当常用的技巧,Tab还可以用来补全文件路径,这在后面文件操作中会提到

如果系统找到的对应命令过多,它会只显示命令的数量。如果我只输入m,按两下Tab, 结果如下

parallels@ubuntu:~$ m
Display all 118 possibilities? (y or n)
我可以输入y或者yes来查看所有118个结果。进入列表后,我可以通过Space前往下一页,Enter 查看下一行,q键退出。

命令历史记录


我们经常会需要找回5分钟或者5秒钟前执行的命令, 可能是因为忘记了一些细节,可能是因为这次要做的事需要在上个命令上做个小修改,不过主要还是因为懒得再打一遍:)(严肃的说法是:编程基本原则,尽量重用已经写过的东西)

方向键上,下
这种情况下,我们只需要按下方向键的上,下键, 就能一条条翻看刚才执行过的命令。这一试就明白。

history
如果我想找比较久远一点的命令,比如我遇到一个问题,请教高手,高手走过来手起刀落打下一串命令我什么都没看清问题就被解决了。高手走后,我做了些收尾工作。这是通过想通过上下键翻看查找高手输入的命令比较废力。这种情况下我们就可以用 history 命令来查看历史记录,结果如下

45  cd
46  s
47  ls
48  ls -a
49  date
50  history
最近被执行的命令,由远到近被编了号,最后一个永远是history。

ctrl + R
此外,你还可以通过 ctrl + R 进入命令搜寻模式(command Reserch)。输入关键字,就可找到对应的被执行过的命令

(reverse-i-search)`a': ls -a
如果找到的不是你想找的命令,在此基础上在按下 ctrl + R 以显示下一个搜索结果。

可能这么费力找一个使用过的命令看上去有些傻,但是对于一些非常长的指令,能够找到的话还是能够节省很多时间的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 linux history