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

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

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

5218 次点击
所在节点    Linux
46 条回复
zsc8917zsc
2019-10-09 14:04:03 +08:00
history |grep table 如果使用过就能查出来
Tumblr
2019-10-09 14:05:26 +08:00
PowerShell 这点就好了!
Get-Command *table*
Get-Help _command_you_found_
jokeqf
2019-10-09 14:08:32 +08:00
fuck table ?
MLawliet
2019-10-09 14:08:54 +08:00
@zsc8917zsc 有局限啊。。不过目前是最好的方法。。
@Tumblr linux 下呢。。
Tumblr
2019-10-09 14:11:05 +08:00
@MLawliet #4 都一样的啊,PowerShell Core 跨平台的呀。。。
zdy349
2019-10-09 14:12:38 +08:00
欢迎使用 zsh
MLawliet
2019-10-09 14:13:27 +08:00
@zdy349 是用的 zsh 啊,怎样补全?
CivAx
2019-10-09 14:13:37 +08:00
compgen

Google before asking.
ETiV
2019-10-09 14:14:07 +08:00
for p in $(echo $PATH | sed 's/:/ /g'); do find $p -iname '*table*'; done
zdy349
2019-10-09 14:18:58 +08:00
@MLawliet 直接 table 键吧,不过有的补不出来,但是欢迎使用 9 楼的正解。
lufeng08
2019-10-09 14:20:27 +08:00
item incr.zsh 补全插件
NullErro
2019-10-09 14:20:57 +08:00
你试试这个工具网站: https://wangchujiang.com/linux-command/
hsddszjs
2019-10-09 14:21:36 +08:00
fzf ^r
lululau
2019-10-09 14:24:37 +08:00
zsh: hash | ag PATTERN
lerry
2019-10-09 14:28:07 +08:00
CTRL+R 然后输入 table
HeiXiaoBai
2019-10-09 14:31:05 +08:00
ls `echo $PATH | sed "s/:/ /g"` | grep table
hbl
2019-10-09 14:33:13 +08:00
把目录搜一遍 /usr/bin ...等

ls -l /bin |grep table
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
MLawliet
2019-10-09 14:34:53 +08:00
@CivAx 非常感谢~
不过..说中文不好么? :)
我发帖之前 google 过啊,希望找到一个快速补全后半部分命令的功能,所以没能搜到您这个命令
另外我看了下您之前的帖子,貌似很多也是可以 google 到的哦~
CEBBCAT
2019-10-09 14:43:18 +08:00
记得有的 shell 会提供程序名变量,内含 cat、ls、echo 等等,从里面应该可以找到,echo $然后 Tab 补下全找找那个变量?

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

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

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

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

© 2021 V2EX