命令行的生活是如此的 F**K

简介:

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

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

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

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

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

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

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

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

当你输入错误的命令时:

 
  1. puthon
  2. No command 'puthon' found, did you mean:
  3. Command 'python' from package 'python-minimal' (main)
  4. Command 'python' from package 'python3' (main)
  5. zsh: command not found: puthon
  6. fuck
  7. python [enter/↑/↓/ctrl+c]
  8. Python 3.4.2 (default, Oct 8 2014, 13:08:17)
  9. ...

当你忘记输入参数时:

 
  1. git push
  2. fatal: The current branch master has no upstream branch.
  3. To push the current branch and set the remote as upstream, use
  4. git push --set-upstream origin master
  5. fuck
  6. git push --set-upstream origin master [enter/↑/↓/ctrl+c]
  7. Counting objects: 9, done.
  8. ...

当你输入错误的参数时:

 
  1. git brnch
  2. git: 'brnch' is not a git command. See 'git --help'.
  3. Did you mean this?
  4. branch
  5. fuck
  6. git branch [enter/↑/↓/ctrl+c]
  7. * master

当你忘记输入 sudo 时:

 
  1. apt-get install vim
  2. E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
  3. E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
  4. fuck
  5. sudo apt-get install vim [enter/↑/↓/ctrl+c]
  6. [sudo] password for nvbn:
  7. Reading package lists... Done
  8. ...

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

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

还需要权限?再来!

 
  1. fuck
  2. sudo apt-get install vim [enter/ctrl-c]
  3. [sudo] password for nvbn:
  4. Reading package lists... Done
  5. Building dependency tree... 0%
  6. ... ...

虐我千百遍 我待如初恋

虐我千百遍 我待如初恋

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

我要这个神器!

环境需求

首先,你需要这些:

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

安装

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

在 Ubuntu 上可以通过 apt 安装:

 
  1. sudo apt update
  2. sudo apt install python3-dev python3-pip
  3. pip3 install --user thefuck

OS X 上使用 Homebrew 来安装:

 
  1. brew install thefuck

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

 
  1. pip install --user thefuck

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

设置别名

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

Bash

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

 
  1. eval "$(thefuck --alias)"

ZSH

将下述行加入到 .zshrc:

 
  1. eval "$(thefuck --alias)"

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

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

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

 
  1. source ~/.bashrc
  2.  
  3. source ~/.zshrc

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

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

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

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

还等什么?赶快去啊!

原文发布时间为:2017-05-03

本文来自云栖社区合作伙伴“Linux中国”

相关文章
|
5月前
|
Windows
掌握命令提示符(CMD):Windows命令行工具的基本指南
掌握命令提示符(CMD):Windows命令行工具的基本指南
|
7月前
|
SQL 数据库
PowerShell 脚本必备命令
PowerShell 脚本必备命令
|
9月前
|
数据可视化 IDE 程序员
命令行常用命令
不同操作系统都有非常多的系统命令,本文只说说最最简单的,让你有一个基本的了解。
|
应用服务中间件 nginx C++
完整的命令行程序
完整的命令行程序
82 0
|
开发者 Python
命令行与脚本|学习笔记
快速学习命令行与脚本
|
C++
201403-3 命令行选项
201403-3 命令行选项
71 0
201403-3 命令行选项
|
Linux 程序员 Windows
Win系统 - 命令行选 Cmd 还是 PowerShell 好?(下)
Win系统 - 命令行选 Cmd 还是 PowerShell 好?(下)
166 0
Win系统 - 命令行选 Cmd 还是 PowerShell 好?(下)
|
安全
Win系统 - 命令行选 Cmd 还是 PowerShell 好?(上)
Win系统 - 命令行选 Cmd 还是 PowerShell 好?(上)
361 0
Win系统 - 命令行选 Cmd 还是 PowerShell 好?(上)
|
Rust JavaScript Java
命令行工具开发:如何快速实现命令行提示?
对于稍微复杂一些的命令行工具,命令行的提示功能必不可少。那么对于不同语言的开发者,有没有一种简单快捷的实现方式呢?本文分享一种快速实现的方法,使用YAML文件定义命令行工具的使用规范,再通过工具自动生成各种shell的命令行提示脚本,最后分享一些至关重要的命令行解析器。
命令行工具开发:如何快速实现命令行提示?