首页 > 其他分享 >没毛病,命令行就应该这样学!

没毛病,命令行就应该这样学!

时间:2023-07-22 10:22:30浏览次数:45  
标签:git 命令行 -- fuck python install thefuck 毛病 应该

你是不是经常在终端敲错命令,其实这都是因为该死的终端不配合,不能领会你的意思。每当这个时候,甚至当你一再敲错到时候,你的内心肯定是崩溃的,一定在默念“……”。而现在,是让你的终端觉悟的时候了!

有位名为 @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
...

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

我要这个神器! 环境需求

首先,你需要这些:

  • 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 这个软件包包含了上百个匹配规则,专门用来修改你的那些错误,贴心地将它们修改成应该的样子!

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

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

还等什么?赶快去啊!

原文来自:https://linux.cn/article-8471-1.html

本文地址:https://www.linuxprobe.com/ming-ling.html编辑:张庚,审核员:逄增宝

本文原创地址:https://www.linuxprobe.com/ming-ling.html

标签:git,命令行,--,fuck,python,install,thefuck,毛病,应该
From: https://www.cnblogs.com/linuxpro/p/17572936.html

相关文章

  • Mysql 命令行方式导出数据文件
    概述Linux服务器上有一个数据库表包含大于50亿条的记录,通过Navicat等数据迁移工具,将数据迁移到另一个服务器相同表中,总是执行一段时间后卡死,故选择先导出数据文件,再去另一个服务器导入该文件。可以使用Navicat导出数据文件,也可以使用MySQL支持的命令导出数据文件。本文章介绍如何使......
  • DDD架构为什么应该首选六边形架构?
    一、传统分层架构分层架构的一个重要原则是:每层只能与位于其下方的层发生耦合。分层架构分两种:一种是严格分层架构,规定某层只能与直接位于其下方的层发生耦合;另一种是松散分层架构,允许任意上方层与任意下方层发生耦合。下图是一个典型的DDD传统分层架构。以上分层架构中各层......
  • Shell 和 命令行格式
    一.shell1)bash  bash是linux里面默认的shell程序  位于/bin/bash2)shell与内、外部命令1.shell分为内部命令和外部命令,一般先执行内部命令,hash再执行外部命令2.内外部命令的区别内部命令外部命令集成于shell解释器程序内部的一些特殊指令,也称为内建(built-in)指......
  • 镭拓教你不锈钢手持式激光焊接机应该这样选
    编辑:镭拓激光不锈钢作为一种常见的金属材料,在现代工业生产中具有非常重要的应用。我们在很多制品上都离不开不锈钢材料。焊接是不锈钢材料连接的重要工艺环节,传统的电弧焊、氩弧焊等虽然已经非常成熟,但依然存在很多劣势。激光焊接作为当下一种新的焊接方式,已经在不锈钢材料的焊接中......
  • .net 6 winform启动器:调用CMD命令行执行dotnet命令启动.net core程序并将控制台输出日
    背景历史遗留问题,生产车间运行的一个.netcoresignalr程序使用命令行程序启动,经常由于生产人员误操作将光标停留在控制台上导致程序假死,丢失部分测试数据,车间随便找了一台win10系统部署的程序,源代码遗失,电脑也是阉割版,原开发者已经离职多年无人敢动,于是想了一个歪门邪道发方......
  • 1-20 编写程序 detab,将输入中的制表符替换成适当数目的空格,使空格充满到 下一个制表
    ArchlinuxGCC13.1.1 202304292023-07-1710:30:52星期一 制表符的作用是将光标移至最接近8的整数倍的位置,比如1~8>9,9~16>17等等,我常用制表符为4width,所以,1~4>5,5~8>9...点击查看代码#include<stdio.h>#definetab_width4//自己常用设置为4,故此......
  • redis 命令行配置
    Redis命令行配置教程1.概述在本教程中,我将指导你如何在Redis数据库中配置命令行。Redis是一个开源的内存数据库,被广泛用于缓存和数据存储。通过命令行配置Redis,你可以设置数据库的参数、修改键值对、执行查询操作等。2.步骤概览下面是整个配置过程的步骤概览表格:步......
  • java的cmd命令行和jsch执行压测
    前言项目中用到了cmd命令去执行,但是发现一个问题就是,当需要切换用户和执行命令的时候特别的麻烦,所以后面又该用了jsch的连接方式,测试一下性能理想不理想,看看有劣势。相关配置ssh的连接数#cat/etc/ssh/sshd_config|grepMaxSessions#MaxSessions1000测试代码@GetMapping("/cmd"......
  • 命令行的艺术
    ......
  • Perl学习笔记5_命令行选项
    目录1.Getopt::Long2.Getopt::Std1.Getopt::Long#使用模块useGetopt::Long;#选项初始值my$length=24;my$file="file.dat";my@run=();my$verbose=0;#处理选项#如果参数解析成功,$result=1,#如果参数解析失败(有未知选项或不符合要求),$result=0......