查看原文
其他

猛男,从不用fuck命令

IT服务圈儿 2022-09-11

The following article is from 小姐姐味道 Author 小姐姐养的狗

来源丨本文经授权转自 小姐姐味道(ID:xjjdog)作者丨小姐姐养的狗

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

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

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

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

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

git brnch

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

fuck
git branch [enter/↑/↓/ctrl+c]
* master

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

1. 如何安装它?

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

pip3 install thefuck

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

eval $(thefuck --alias)

我们来测试一下。输入ystemct

>> ystemct
zsh: command not found: ystemct

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

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

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

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

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

2. 它的原理

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

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

但也不是。

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

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

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

match(command: Command) -> bool
get_new_command(command: Command) -> str | list[str]

还是很方便的。

3. 不要形成依赖

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

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

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

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

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

1、美团二面:Redis与MySQL双写一致性如何保证?

2、漫画:美团面试题,链表逆序存数组

3、kmp算法由浅入深:一行代码引发的无限思考

4、『图解Java并发』面试必问的CAS原理你会了吗?

识别关注我们

了解更多精彩内容

点分享

点点赞

点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存