如果你也会手抖输错命令,那就必须给你推荐这个 Fuck 工具

Java技术迷

共 2931字,需浏览 6分钟

 ·

2021-09-13 03:28

关注公众号,学习更多 Java 干货!

【导语】:The Fuck 是一个命令输出校验工具,能自动校对输入命令并执行正确的指令。大概早在 2015 年就火了。

简介

The Fuck 是一款功能强大的应用程序,可以校对并纠正控制台中命令的错误。它的开发者透露,设计灵感来源于这条推特:

简单的运行例子:

e

更多的例子:

➜ 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
...
➜ 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.
...
➜ 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)
...

项目地址是:

https://github.com/nvbn/thefuck

下载安装

  • 依赖。The Fuck运行环境依赖python 3.4+、pip、python-dev。
  • 安装。
  1. OS X使用Homebrew安装:
brew install thefuck
  1. Ubuntu/Mint:
sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
sudo pip3 install thefuck
  1. FreeBSD:
pkg install thefuck
  1. ChromeOS:
crew install thefuck
  1. 其他操作系统使用pip进行安装:
pip install thefuck
  1. 升级:
pip3 install thefuck --upgrade

作用机制

The Fuck 尝试将错误的命令与规则匹配,如果找到匹配项,则使用匹配的规则创建一个新命令并执行。

规则很多没办法一一列举,简单罗列几个,各位有兴趣的话到官网上查找。

  • adb_unknown_command:修复拼写错误的命令,例如adb logcta
  • cat_dir:尝试cat目录时使用ls替换cat
  • cd_parent:更改cd..为cd ..
  • docker_not_command:修复了错误的docker命令,如docker tags
  • git_branch_delete:更改 git branch -d 为 git branch -D
  • go_unknown_command:修复错误的go命令,例如go bulid
  • java:在运行Java程序时删除.java扩展名 与此同时,The Fuck也允许用户自定义匹配规则。
  • 在~/.config/thefuck/rules目录下创建一个文件名为your-rule-name.py的违建,规则文件必须包含两个函数:
match(command: Command) -> bool
get_new_command(command: Command) -> str | list[str]
  • 规则可以包含可选功能:
side_effect(old_command: Command, fixed_command: str) -> None

可以点击【阅读原文】直接跳转项目地址


1、灵魂一问:你的登录接口真的安全吗?
2、HashMap 中这些设计,绝了~
3、在 IntelliJ IDEA 中这样使用 Git,贼方便了!
4、计算机时间到底是怎么来的?程序员必看的时间知识!
5、这些IDEA的优化设置赶紧安排起来,效率提升杠杠的!
6、21 款 yyds 的 IDEA插件
7、真香!用 IDEA 神器看源码,效率真高!

点分享

点收藏

点点赞

点在看

浏览 61
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报