对命令行工具神器thefuck(工具原名称如此)的大名听了很多次,但一直没有机会尝试。最近在Ubuntu下开发比较多,但因为长期以来命令行动手比较少,总是手残打错命令,效率很低,就想起来试试传说的fuck工具包。这个工具包既表达了程序员打错命令和代码时的气愤与懊恼,又能高效地通过一句命令解决各种常见问题,可谓有益身心,一举两得。
这个工具使用python开发,因此安装时需要先安装python3相关工具,以下命令以ubuntu 18.04系统为例:
sudo apt-get install python3-dev python3-pipsudo -H pip3 install thefuck
安装完成后,打开~/.bashrc文件给命令添加别名,在alias行下加入下面一行。
alias fuck='eval $(thefuck $(fc -ln -1)); history -r'
下面看看这个工具的强大作用。在你输入命令,打错参数,忘记代码时,只要一句fuck,一切问题迎刃而解,心情顿时舒畅。妈妈再也不用担心你为了记住各种各样的命令头发掉光了。
1 输入命令忘记sudo时
$ apt-get install vim
$ E: 无法打开锁文件
/var/lib/dpkg/lock-frontend – open (13: 权限不够)
$ wdsolar@wdsolar-home:~$ fuck
$ sudo apt-get install vim [enter/↑/↓/ctrl+c]
2 敲错命令时
$ pothon3 Command 'pothon3' not found, did you mean:command 'python3' from deb python3-minimal$ fuck python3 [enter/↑/↓/ctrl+c] Python 3.6.9 (default, Nov 7 2019, 10:44:02)
3 输入命令敲错选项时
$ git brnchgit:'brnch' 不是一个 git 命令。参见 'git --help'。$ fuckgit branch [enter/↑/↓/ctrl+c]
4 记不住git命令时
$ git pushfatal: The current branch master has no upstream branch.To push the current branch and set the remote as upstream,usegit push --set-upstream origin master$fuckgit push --set-upstream origin master[enter/ctrl+c]
其他任何错误时,都可以试试神器的解决方案,即便是解决不了当下的问题,至少fuck一句出一口闷气,似乎也能轻松不少。当然,如果能更了解神器的原理,也可以更好的发挥他修正命令的功能,少很多无谓的操作。神器的原理大体是这样的:
brew_unknown_command:修复 brew 命令,例如将 brew docto 修复为 brew doctorcd_parent:将 cd.. 修正为 cd ..cd_mkdir:cd 进入不存在的目录时尝试创建目录。cp_omitting_directory:cp 时添加 -a 选项fix_alt_space:将所有的的Alt+Space 修正为 Space。git_add:修正没有 git add 的情况。git_checkout:git checkout 不存在的分支之前尝试创建分支。git_no_command:修正错误的选项,例如 git brnch。git_push:如果 push 失败,尝试将 git push 修正为 git push --set-upstream origin $branch。has_exists_:为所有的提示不存在的命令尝试添加 ./ 前缀。lein_not_task:修正 lein,例如 lein rpl。mkdir_p:mkdir 时尝试添加 -p 选项。no_command:修正不存在的命令,例如 vom 修正为 vim。man_no_space:将没有空格的 man 命令添加空格,例如 mandiff 修正为 man diffpacman:arch 系统上,如果使用没有安装的软件,尝试使用 pacman 或者 yaourt 安装。pip_unknown_command:修正错误的 pip 命令,例如 pip isntall 修正为 pip installpython_command:当前目录试图执行没有 x 权限的 python 程序时,修复为添加 python 前缀sl_ls:sl 修正为 lsrm_dir:如果删除文件夹,为 rm 添加 -rf 选项。ssh_known_hosts:如果远程主机公钥不匹配,尝试将远程主机公钥从 know_hosts 中移除。sudo:如果提示没有权限,尝试添加 sudo。switch_layout:将键盘布局修正为英语布局。apt_get:如果不存在命令,尝试使用 apt-get 包管理器安装。brew_install:修正 brew install 的格式。composer_not_command:修正 composer 命令。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!