前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >猛男,从不用fuck命令

猛男,从不用fuck命令

作者头像
xjjdog
发布2021-05-27 10:37:45
4260
发布2021-05-27 10:37:45
举报
文章被收录于专栏:架构专题架构专题

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

Linux上有一个命令,带着动物最原始的冲动,从一开始在github露面,就获得了无数粉丝的关注,如今已经有60k+的star数。

这个带着光环的命令,就是fuck,捷克斯洛伐克的伐克。这个词,主要用于形容你在把一件事情办砸的时候、或者犯了一些低级的错误,心中那种愤懑的情绪,无处发泄的感觉。

百闻不如一见,我们看一下它到底是啥。

很好很好,图片表达的,就是我们这种情绪。它能让我们偏离正轨的命令,重新回到赛道上来,非常有的有魔力。

比如,你忘记了git分支切换的命令,输入出了下面的东东。这对一些英文盲来说,是常见的事。

代码语言:javascript
复制
git brnch

brnch是个什么鬼?我的双手怎么不听大脑指挥了?fuck!当你这么想的时候,你也会这么做,fuck命令就会给你修正。

代码语言:javascript
复制
fuck
git branch [enter/↑/↓/ctrl+c]
* master

它证明了,在Linux上,没有什么不是来一炮不能解决的了。

1. 如何安装它?

fuck命令是个python程序,所以我们可以使用pip来安装。

代码语言:javascript
复制
pip3 install thefuck

然后,在.bashrc或者.zshrc下(你的$SHELL)里添加一行。

代码语言:javascript
复制
eval $(thefuck --alias)

我们来测试一下。输入ystemct

代码语言:javascript
复制
>> ystemct
zsh: command not found: ystemct

我们输入fuck,就可以修正成systemctl

除了能够修正错误的拼写,fuck无所不能。

  • 忘记了加sudo执行一些超级权限命令,可以fuck解决
  • 当一些明显的参数输入出现了错误,也可以fuck它

很好用是不是?但是,猛男并不需要fuck命令。

why?我们需要看下它的实现原理。

2. 它的原理

fuck命令,是不是洞悉了我的脑电波,在不知不觉之间窃听了我的想法?才能准确的识别我想要真正看的事?

这太魔幻了,应该是深度学习,把常见的输入错误和解决方式给强行学习了一遍。

但也不是。

thefuck/rules目录下,静悄悄的躺着上百个规则。所谓的规则,就是白名单。

仅仅是git命令,就给出了几十项的匹配,可以说fuck命令对常见的指令是下足了功夫。

所以,你可以创建自己的规则。实现两个方法,然后把它们放在~/.config/thefuck/rules下即可。

代码语言:javascript
复制
match(command: Command) -> bool
get_new_command(command: Command) -> str | list[str]

还是很方便的。

3. 不要形成依赖

但是猛男,从来不用fuck命令。

规则和修正,都在猛男的脑子里。

fuck命令的智能,并不是真正的智能,它是经验教条主义的集合,是规则的穷举,是有限的集合。

每一次命令输入,都是一种考验。当这种考验形成了精神反射,fuck命令就变的可有可无,最后变成了一个笑话。fuck命令,是一种精神的腐朽,是妄图使用工具实现智能化的妄想。不需要这些遮遮掩掩,扭扭捏捏,单刀直入直奔主题是猛男的真实表现。

所以,从安装到卸载fuck命令,猛男只花费了不到2分钟。

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小姐姐味道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 如何安装它?
  • 2. 它的原理
  • 3. 不要形成依赖
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档