命令行的生活是如此的 F**K
创始人
2024-03-01 19:41:15
0

你是不是经常在终端敲错命令,其实这都是因为该死的终端不配合,不能领会你的意思。

每当这个时候,甚至当你一再敲错的时候,你的内心肯定是崩溃的,一定在默念“……”。

而现在,是让你的终端觉悟的时候了!

有位名为 @liamosaur 的哥们就忍不住对自己的终端发出了愤怒的吼声,并付诸实践:

受此启发, 一位名为 Vladimir Iakovlev 程序员对这个该死的终端发出了致命一击!他以及他的 90 位愤怒的小伙伴们打造出了一个名为 “thefuck” 的神器!

当你的终端没有按你想象的输入命令时,请 fuck 它!

当你的终端没有按你想象的以 sudo 执行命令时,请 fuck 它!

当你的的终端不知道填上显而易见的参数时,请 fuck 它!

当你输入错误的命令时:

➜ puthon
No command 'puthon' found, did you mean:
 Command 'python' from package 'python-minimal' (main)
 Command 'python' from package 'python3' (main)
zsh: command not found: puthon

➜ fuck
python [enter/↑/↓/ctrl+c]
Python 3.4.2 (default, Oct  8 2014, 13:08:17)
...

当你忘记输入参数时:

➜ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master

➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...

当你输入错误的参数时:

➜ git brnch
git: 'brnch' is not a git command. See 'git --help'.

Did you mean this?
    branch

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

当你忘记输入 sudo 时:

➜ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?

➜ fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done
...

如果生活是如此的不如意,你可以不断的“教诲”它:

➜ aptget install vim
No command 'aptget' found, did you mean:
 Command 'apt-get' from package 'apt' (main)
zsh: command not found: aptget
➜ fuck
aot-get install vim [enter/ctrl-c]
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg), are you root?

还需要权限?再来!

➜ fuck
sudo apt-get install vim [enter/ctrl-c]
[sudo] password for nvbn:
Reading package lists... Done
Building dependency tree... 0%
... ...

虐我千百遍 我待如初恋

好了,我想你肯定也想拥有这样的神器,请如此这般……

我要这个神器!

环境需求

首先,你需要这些:

  • python (2.7+ or 3.3+)
  • pip
  • python-dev

安装

然后,在不同的操作系统上(没错,有 Python 的地方就行):

在 Ubuntu 上可以通过 apt 安装:

sudo apt update
sudo apt install python3-dev python3-pip
pip3 install --user thefuck

OS X 上使用 Homebrew 来安装:

brew install thefuck

其它的系统上,只要你有 pip 就行:

pip install --user thefuck

更多的 Linux 发行版,可以看这里

设置别名

上述安装的软件包名字是:“thefuck”——别问我为啥不能直接叫 “fuck”。所以,你可以设置个别名:

Bash

将下述行加入到 .bashrc.bash_profile (用于 OSX):

eval "$(thefuck --alias)"

ZSH

将下述行加入到 .zshrc:

eval "$(thefuck --alias)"

其它的 shell ,包括 powershell,可以参考这里

当然,我觉得我更喜欢给它起个别名叫 “kao”。:D

要让别名立刻生效,你需要用 source 命令,如:

source ~/.bashrc 
或 
source ~/.zshrc

它是怎么让我念头通达的?

thefuck 这个软件包包含了上百个匹配规则,专门用来修改你的那些错误,贴心地将它们修改成应该的样子!

具体有哪些规则,你可以看看这里,或者试试就知道了。

当然,如果你经常犯一些独特的错误,你也可以建立自己的规则,而且不妨提交拉取请求给这个项目,找到和你一样独特的小伙伴们。

还等什么?赶快去啊!

(本文中的例子和图片来自该项目。)

相关内容

如何查看CentOS系统中...
掌控你的系统核心:CentOS查看CPU与内存信息指南 作为服务器...
2025-06-03 07:40:48
【云原生】k8s集群命令行...
kubectl应用部署命令详解一、准备工作1.1、Replicat...
2025-06-01 06:37:18
Raspbian命令行安装...
Raspbian命令行安装desktop界面1. 源由 & 介绍1...
2025-05-28 14:03:46
微软开源 Edit 命令行...
IT之家 5 月 20 日消息,微软昨日(5 月 19 日)发布博...
2025-05-20 08:16:36
CentOS Bash S...
CentOS Bash Shell:从入门到高效操作的全面指南 B...
2025-05-09 06:17:17
在CentOS系统执行纯文...
对于需要在服务器或低配置设备上部署操作系统的用户来说,选择文本模式...
2025-04-21 06:17:42

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...