比如 iptables, 忘了是以 ip 开头,只记得有 table,怎样快速找到 iptables ?
1
zsc8917zsc 2019-10-09 14:04:03 +08:00
history |grep table 如果使用过就能查出来
|
2
Tumblr 2019-10-09 14:05:26 +08:00
PowerShell 这点就好了!
Get-Command *table* Get-Help _command_you_found_ |
3
jokeqf 2019-10-09 14:08:32 +08:00
fuck table ?
|
4
MLawliet OP |
6
zdy349 2019-10-09 14:12:38 +08:00
欢迎使用 zsh
|
8
CivAx 2019-10-09 14:13:37 +08:00 1
compgen
Google before asking. |
9
ETiV 2019-10-09 14:14:07 +08:00 1
for p in $(echo $PATH | sed 's/:/ /g'); do find $p -iname '*table*'; done
|
11
lufeng08 2019-10-09 14:20:27 +08:00
item incr.zsh 补全插件
|
12
NullErro 2019-10-09 14:20:57 +08:00
你试试这个工具网站: https://wangchujiang.com/linux-command/
|
13
hsddszjs 2019-10-09 14:21:36 +08:00
fzf ^r
|
14
lululau 2019-10-09 14:24:37 +08:00
zsh: hash | ag PATTERN
|
15
lerry 2019-10-09 14:28:07 +08:00
CTRL+R 然后输入 table
|
16
HeiXiaoBai 2019-10-09 14:31:05 +08:00
ls `echo $PATH | sed "s/:/ /g"` | grep table
|
17
hbl 2019-10-09 14:33:13 +08:00 via iPhone
把目录搜一遍 /usr/bin ...等
ls -l /bin |grep table |
18
Vegetable 2019-10-09 14:33:52 +08:00
echo $PATH| awk -F':' '{for( i=1;i<NF; i++ ) print $i}'|xargs ls |grep table
|
19
MLawliet OP @CivAx 非常感谢~
不过..说中文不好么? :) 我发帖之前 google 过啊,希望找到一个快速补全后半部分命令的功能,所以没能搜到您这个命令 另外我看了下您之前的帖子,貌似很多也是可以 google 到的哦~ |
20
CEBBCAT 2019-10-09 14:43:18 +08:00
记得有的 shell 会提供程序名变量,内含 cat、ls、echo 等等,从里面应该可以找到,echo $然后 Tab 补下全找找那个变量?
|
21
MLawliet OP |
22
lovedebug 2019-10-09 14:45:33 +08:00
the fuck ~~
|
23
wangyzj 2019-10-09 14:46:27 +08:00
fuck?
|
24
lovedebug 2019-10-09 14:46:56 +08:00
|
25
HeiXiaoBai 2019-10-09 14:48:10 +08:00
如果是要支持 Tab 键从中间匹配的,很大程度会影响正常开头匹配的命令,所以忘记的时候还是直接 ls grep 一下吧,毕竟也不是经常忘
|
26
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 页里找到直接答案或组合得出正确答案的。实际上连帖子的全部回复都几乎毫无帮助,除了一位大哥当场给我开发了一个应需产品。 |
27
azh7138m 2019-10-09 14:53:17 +08:00
|
28
choury 2019-10-09 14:53:38 +08:00
ctrl + r 直接搜索
|
29
MLawliet OP @azh7138m 非常感谢,我在用 ohmyzsh,刚发现 ohmyzsh 确实可以从非开头补全,但逻辑有点奇怪,iptables 没问题,实际上帖子里的 iptables 只是我随便找了个例子,我并没有实际测过这个 iptables 的补全情况。。
我是在使用 iftop 命令遇到的问题,我记得 top 部分,使用 #op + table 补全发现无法实现,以为 ohmyzsh 不能支持非开头补全,但刚测了一下#ftop + table 却可以识别到 iftop。。。 |
30
ilunny 2019-10-09 15:12:51 +08:00 via Android
man -k table
|
31
MLawliet OP @CivAx 不好意思,可能是帖子没描述清楚,我的想法是想找一个能快速补全后半部分命令的方法,对于怎么找到这个完整命令,我对 linux 有一点点了解,还是可以找到的,不过您说的这个命令,我之前确实不知道,学到了~
然后。。并没有争执的意思。。 最后,非常感谢~ |
32
gunjianpan 2019-10-09 15:15:33 +08:00
U need fzf.
|
33
jinqzzz 2019-10-09 15:52:05 +08:00
zsh-autosuggestions
|
35
azurefire 2019-10-09 16:02:28 +08:00 via iPhone
fzf +1
|
36
araraloren 2019-10-09 16:08:46 +08:00
看看这个名字
apropos 查找手册的相关内容,也许可以找到名字叫啥。。 |
39
cdlnls 2019-10-09 16:39:58 +08:00 via iPhone
fish,目前见过觉得最好的
|
40
ryd994 2019-10-09 16:42:36 +08:00 via Android
man -k 或者 apropos
Unix 下绝大多数命令有 manpage,找到 manpage 就找到了命令 |
41
Goooogle 2019-10-09 17:15:04 +08:00
|
42
Tink 2019-10-09 17:19:34 +08:00 via iPhone
navi
|
45
Harry1993 2019-10-10 05:19:11 +08:00
如果你的 shell 是 emacs-based,用`ctrl-r`;如果是 vim-based,用`/`(按`esc`之後)。
|
46
tomychen 2019-10-23 13:09:36 +08:00
ctrl + r
如果类似命令太多,不一定能匹配到 再就是 grep 了 |