只知道命令非开头的一部分,如何快速找到完整命令

2019-10-09 13:57:32 +08:00
 MLawliet

比如 iptables, 忘了是以 ip 开头,只记得有 table,怎样快速找到 iptables ?

5440 次点击
所在节点    Linux
46 条回复
MLawliet
2019-10-09 14:44:36 +08:00
@zdy349 zsh 下 table 也只能从开头补全..
@lufeng08 非常感谢,试了下这个插件,也只能从开头匹配啊。。
lovedebug
2019-10-09 14:45:33 +08:00
the fuck ~~
wangyzj
2019-10-09 14:46:27 +08:00
fuck?
lovedebug
2019-10-09 14:46:56 +08:00
HeiXiaoBai
2019-10-09 14:48:10 +08:00
如果是要支持 Tab 键从中间匹配的,很大程度会影响正常开头匹配的命令,所以忘记的时候还是直接 ls grep 一下吧,毕竟也不是经常忘
CivAx
2019-10-09 14:48:54 +08:00
@MLawliet #19 你 Google 的方式不对。

问题要换个思路来 break down。问题本质是对现有命令模糊检索,既然检索有 grep,那么如何列出现存全局命令与 alias 才是要解决的问题,“Linux show all command” 一搜就有了,compgen -ac | grep "${keyword}"。

第二,如果想争执这个点的话,你指出一下我这个号从 18 年 7 月 25 开始发的帖子里,哪一篇技术问题贴的问题是可以在 Google 和百度的前 10 页里找到直接答案或组合得出正确答案的。实际上连帖子的全部回复都几乎毫无帮助,除了一位大哥当场给我开发了一个应需产品。
azh7138m
2019-10-09 14:53:17 +08:00
choury
2019-10-09 14:53:38 +08:00
ctrl + r 直接搜索
MLawliet
2019-10-09 15:03:52 +08:00
@azh7138m 非常感谢,我在用 ohmyzsh,刚发现 ohmyzsh 确实可以从非开头补全,但逻辑有点奇怪,iptables 没问题,实际上帖子里的 iptables 只是我随便找了个例子,我并没有实际测过这个 iptables 的补全情况。。

我是在使用 iftop 命令遇到的问题,我记得 top 部分,使用 #op + table 补全发现无法实现,以为 ohmyzsh 不能支持非开头补全,但刚测了一下#ftop + table 却可以识别到 iftop。。。
ilunny
2019-10-09 15:12:51 +08:00
man -k table
MLawliet
2019-10-09 15:14:01 +08:00
@CivAx 不好意思,可能是帖子没描述清楚,我的想法是想找一个能快速补全后半部分命令的方法,对于怎么找到这个完整命令,我对 linux 有一点点了解,还是可以找到的,不过您说的这个命令,我之前确实不知道,学到了~
然后。。并没有争执的意思。。
最后,非常感谢~
gunjianpan
2019-10-09 15:15:33 +08:00
U need fzf.
jinqzzz
2019-10-09 15:52:05 +08:00
zsh-autosuggestions
jinqzzz
2019-10-09 15:54:31 +08:00
@jinqzzz 这个是从头开始补,从.zsh_history 查的. 楼主只记得后边,这个应该做不到
azurefire
2019-10-09 16:02:28 +08:00
fzf +1
araraloren
2019-10-09 16:08:46 +08:00
看看这个名字
apropos
查找手册的相关内容,也许可以找到名字叫啥。。
azh7138m
2019-10-09 16:09:18 +08:00
@MLawliet 是因为有前缀匹配到了,不会展示剩余结果(猜的
efaun
2019-10-09 16:22:19 +08:00
@CivAx #26 虽然你给出了解决方案,但是语气着实让人不舒服,希望以后大家都能保持一个友善的态度吧
cdlnls
2019-10-09 16:39:58 +08:00
fish,目前见过觉得最好的
ryd994
2019-10-09 16:42:36 +08:00
man -k 或者 apropos
Unix 下绝大多数命令有 manpage,找到 manpage 就找到了命令

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/607422

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX