命令行的生活是如此的 F**K
你是不是经常在终端敲错命令，其实这都是因为该死的终端不配合，不能领会你的意思。
每当这个时候，甚至当你一再敲错的时候，你的内心肯定是崩溃的，一定在默念“……”。
而现在，是让你的终端觉悟的时候了！
命令行 fuck
192.176.1.89
U win
来自瑞典的 Chrome 58.0|Windows 7 用户
2017-05-03T10:41:12.000
124.160.213.227
牛逼
来自浙江杭州的 Chrome Mobile 53.0|Android 7.0 用户
2017-05-03T11:56:46.000
14.153.78.161
cool
来自广东深圳的 Chrome 59.0|Windows 7 用户
2017-05-03T13:43:29.000
58.213.153.10
。。。。。。。
Asuraaaaa [Chromium 58.0|Ubuntu]
2017-05-03T13:57:50.000
221.12.107.182
没话说……
来自浙江台州的 Firefox 53.0|Windows 10 用户
2017-05-03T14:24:40.000
221.12.107.182
每当这个时候，甚至当你一再敲错到时候，你的内心肯定是崩溃的，一定在默念“what the fuck”。。。
来自浙江台州的 Firefox 53.0|Windows 10 用户
2017-05-03T14:26:47.000
27.223.99.130
哈哈！试试去！
绿色圣光 [Firefox 53.0|GNU/Linux]
2017-05-03T14:51:18.000
153.99.93.231
Installing NVIDIA... error<br />
fuck NVIDIA... further fuck required<br />
&nbsp; &nbsp; fuck linux-kernel... fucked<br />
&nbsp; &nbsp; fuck wayland... error<br />
&nbsp; &nbsp; fuck gdm... fucked<br />
&nbsp; &nbsp; **Tips: All those you just fucked can be done with one fuck upon Linux. Try fuck Linux next time :)**<br />
fuck Linux... **Welcome to Windows! We notice that you're still using an older version of Windows, please update your system. I think I already mentioned this in linux-kernel-source; Can't you read, idiot? Now press that damn button. Not the one on
来自江苏的 Chrome 57.0|Windows 7 用户
2017-05-04T09:58:26.000
202.99.140.254
pip3 install --upgrade pip<br />
pip3 install --user thefuck<br />
eval &quot;$(thefuck --alias)&quot;
Kcptun [Chrome 55.0|Windows 10]
2017-05-04T22:28:35.000
27.17.98.142
简直 屌的 不要 不要的&nbsp;&nbsp;fuck it
jingwang [Chrome 57.0|GNU/Linux]
2017-05-05T09:39:01.000
111.43.240.148
fuck
Ghjoker [Firefox 45.0|GNU/Linux]
2017-05-07T15:55:58.000
112.10.164.34
oh-my-zsh的plugins里面有这个插件，zsh就不用再手动设置了
OriginCode [Chrome 58.0|GNU/Linux]
2017-05-07T17:28:20.000
58.240.74.98
每当出错的时候 只想fuck 全世界。。
来自江苏南京的 Chrome 51.0|Windows 7 用户
2017-05-08T13:43:59.000
218.60.148.103
FUCK
来自辽宁沈阳的 Chrome 58.0|GNU/Linux 用户
2017-05-08T15:37:38.000
112.64.216.35
那如果fuck也写错了呢？
执着的夏风 [Chrome 57.0|Windows 7]
2017-05-09T21:22:47.000
110.253.16.253
fake
Kcptun [Chrome 55.0|Windows 10]
2017-05-13T14:29:09.000
123.181.200.149
fuck
tenBlackTea [Chrome 58.0|Windows 7]
2017-05-21T20:40:44.000
121.14.142.139
fuck
来自广东东莞的 Chrome 58.0|Mac 10.12 用户
2017-05-31T17:01:03.000
101.25.84.158
CentOS 7 怎么安装，求详细步骤、
来自河北的 Chrome 60.0|Windows 10 用户
2017-09-05T09:08:50.000
你是不是经常在终端敲错命令，其实这都是因为该死的终端不配合，不能领会你的意思。
每当这个时候，甚至当你一再敲错的时候，你的内心肯定是崩溃的，一定在默念“……”。
而现在，是让你的终端觉悟的时候了！
![](/data/attachment/album/201705/03/094006s9eoysqgw9z7slzq.jpg)


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


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


而现在，是让你的终端觉悟的时候了！


有位名为 [@liamosaur](https://twitter.com/liamosaur/) 的哥们就忍不住对自己的终端发出了愤怒的[吼声](https://twitter.com/liamosaur/status/506975850596536320)，并付诸实践：


![](/data/attachment/album/201705/03/084650rjktt6969979tk8z.jpg)


受此启发， 一位名为 [Vladimir Iakovlev](https://github.com/nvbn) 程序员对这个该死的终端发出了致命一击！他以及他的 [90 位愤怒的小伙伴们](https://github.com/nvbn/thefuck/graphs/contributors)打造出了一个名为 “[thefuck](https://github.com/nvbn/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%
... ...
```

![虐我千百遍 我待如初恋](/data/attachment/album/201705/03/085931v3zcf73j7schslv7.gif)


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


### 我要这个神器！


#### 环境需求


首先，你需要这些：


* 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](http://brew.sh/) 来安装：



```
brew install thefuck
```

其它的系统上，只要你有 `pip` 就行：



```
pip install --user thefuck
```

更多的 Linux 发行版，可以看[这里](https://github.com/nvbn/thefuck/wiki/Installation)。


#### 设置别名


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


**Bash**


将下述行加入到 `.bashrc` 或 `.bash_profile` （用于 OSX）：



```
eval "$(thefuck --alias)"
```

**ZSH**


将下述行加入到 `.zshrc`:



```
eval "$(thefuck --alias)"
```

其它的 shell ，包括 powershell，可以参考[这里](https://github.com/nvbn/thefuck/wiki/Shell-aliases)。


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


要让别名立刻生效，你需要用 `source` 命令，如：



```
source ~/.bashrc 
或 
source ~/.zshrc
```

### 它是怎么让我念头通达的？


thefuck 这个软件包包含了[上百个匹配规则](https://github.com/nvbn/thefuck#how-it-works)，专门用来修改你的那些错误，贴心地将它们修改成应该的样子！


具体有哪些规则，你可以看看[这里](https://github.com/nvbn/thefuck#how-it-works)，或者试试就知道了。


当然，如果你经常犯一些[独特的错误](https://github.com/nvbn/thefuck/issues)，你也可以建立自己的规则，而且不妨[提交拉取请求](https://github.com/nvbn/thefuck/pulls)给这个项目，找到和你一样独特的小伙伴们。


还等什么？赶快去**装**啊！


（本文中的例子和图片来自[该项目](https://github.com/nvbn/thefuck)。）

