当前位置: 首页 > news >正文

【 thefuck 安装与使用】Linux 终端自动纠错工具:一头GitHub上的“草泥马“ - thefuck,妈妈再也不用担心我打错命令行了!

目录

快速安装使用
.

1.简介
2.安装
3.配置
4.补充

官方盗料参考

快速安装使用

快速安装使用,四步即可:

#Ubuntu/Debian系统
sudo apt update
sudo apt install python3-dev python3-pip
sudo pip3 install thefuck
#编辑bashrc配置文件
vim ~/.bashrc
#在文件尾加入一行给thefuck取别名fuck
eval "$(thefuck --alias fuck)"
#使生效
source ~/.bashrc#其他#
#修正三条命令前的错误	-	 fuck 3
#新到最新的 thefuck	-	 sudo pip3 install thefuck --upgrade

在这里插入图片描述

1. 简介

thefuck 是一个开源的命令行工具,用于自动纠正终端中的错误命令。它通过分析最近执行的命令和错误信息,提供一个或多个可能的正确命令,用户可以选择自动执行或手动确认。

在这里插入图片描述

更多示例:

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, usegit push --set-upstream origin master➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...

2. 安装

#CentOS系统
yum -y update && yum -y install gcc 
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py && yum -y install python-devel
sudo -H pip install thefuck#Ubuntu/Debian系统
sudo apt update
sudo apt install python3-dev python3-pip
sudo pip3 install thefuck

更多安装及使用方法查看Github项目地址:https://github.com/nvbn/thefuck。

3.配置

#编辑bashrc配置文件
vim ~/.bashrc
#在文件尾加入一行给thefuck取别名fuck
eval "$(thefuck --alias fuck)"
#使生效
source ~/.bashrc

最后使用fuck命令来纠正命令行拼写错误。

4. 补充

  • 历史修正

    #thefuck 可以使用历史记录来更正以前的命令。例如,如果你想修正三条命令前的错误$ fuck 3
    
  • 更新到最新的 thefuck 的方法:

     sudo pip3 install thefuck --upgrade
    
  • 自定义部分配置示例

    #thefuck的配置文件位于 ~/.config/thefuck/settings.py。你可以在这里修改一些默认设置,例如:
    #这个参数指定了 thefuck 应用的规则列表。thefuck 会根据这些规则来修正命令错误。如果没有特别指定,thefuck 会使用所有默认的规则
    rules = [<list_of_rules>]
    require_confirmation = True
    wait_command = 3
    
    #例如:
    rules = ['sudo', 'no_command', 'missing_argument']  表示只启用 'sudo''no_command''missing_argument' 这三个规则
    #下列参数指定在修正命令之前是否需要用户确认。如果设置为 True,thefuck 会在执行修正命令之前提示用户确认。如果设置为 False,thefuck 会自动修正并执行命令而不需要用户确认
    require_confirmation = True
    #wait_command = 3:这个参数指定 thefuck 在执行修正命令之前等待的时间(单位:秒)。这是为了给用户提供一个时间窗口来取消修正操作。如果你不需要这个延迟,可以设置为 0
    wait_command = 0
    

    综上示例所述,这些设置帮助你更灵活地控制 thefuck 的行为

    rules = ['sudo', 'no_command', 'missing_argument']
    require_confirmation = True
    wait_command = 3
    

    编写自定义规则

    可以编写自己的规则来处理特定的命令错误。在 ~/.config/thefuck/rules/ 目录中创建一个新的 Python 文件。 示例,创建一个 git_no_branch.py 文件:

    from thefuck.utils import replace_argument, for_app
    from thefuck.specific.git import git_support@git_support
    def match(command):return ('error: src refspec master does not match any' in command.output)
    @git_support
    def get_new_command(command):return replace_argument(command.script, 'master', 'main')
    

参考资料

  • GitHub - nvbn/thefuck: Magnificent app which corrects your previous console command.
  • Thefuck - 华南理工大学科学计算公共服务平台用户手册

附上原文说明:

Requirements

  • python (3.5+)
  • pip
  • python-dev
Back to Contents

Intallation

On macOS or Linux, you can install The Fuck via Homebrew:

brew install thefuck

On Ubuntu / Mint, install The Fuck with the following commands:

sudo apt update
sudo apt install python3-dev python3-pip python3-setuptools
pip3 install thefuck --user

On FreeBSD, install The Fuck with the following commands:

pkg install thefuck

On ChromeOS, install The Fuck using chromebrew with the following command:

crew install thefuck

On Arch based systems, install The Fuck with the following command:

sudo pacman -S thefuck

On other systems, install The Fuck by using :pip

pip install thefuck

Alternatively, you may use an OS package manager (OS X, Ubuntu, Arch).

# It is recommended that you place this command in your , , or other startup script:.bash_profile``.bashrc``.zshrc

eval $(thefuck --alias)
# You can use whatever you want as an alias, like for Mondays:
eval $(thefuck --alias FUCK)

Or in your shell config (Bash, Zsh, Fish, Powershell, tcsh).

Changes are only available in a new shell session. To make changes immediately available, run (or your shell config file like ).source ~/.bashrc``.zshrc

To run fixed commands without confirmation, use the option (or just for short, or if you’re especially frustrated):--yeah``-y``--hard

fuck --yeah

To fix commands recursively until succeeding, use the option:-r

fuck -r
Back to Contents

Updating

pip3 install thefuck --upgrade

Noe: Alias functionality was changed in v1.34 of *The Fuck*

Uninstall

To remove The Fuck, reverse the installation process:

  • erase or comment thefuck alias line from your Bash, Zsh, Fish, Powershell, tcsh, … shell config

Noe: Alias functionality was changed in v1.34 of *The Fuck*

Uninstall

To remove The Fuck, reverse the installation process:

  • erase or comment thefuck alias line from your Bash, Zsh, Fish, Powershell, tcsh, … shell config
  • use your package manager (brew, pip3, pkg, crew, pip) to uninstall the binaries

相关文章:

【 thefuck 安装与使用】Linux 终端自动纠错工具:一头GitHub上的“草泥马“ - thefuck,妈妈再也不用担心我打错命令行了!

目录 快速安装使用 . 1.简介 2.安装 3.配置 4.补充 官方盗料参考 快速安装使用 快速安装使用&#xff0c;四步即可&#xff1a; #Ubuntu/Debian系统 sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install thefuck #编辑bashrc配置文件 vim ~/.bashrc…...

牛客网刷题 ——C语言初阶——BC112小乐乐求和

1.牛客网刷题 ——C语言初阶 牛客网&#xff1a;BC112小乐乐求和 小乐乐最近接触了求和符号Σ&#xff0c;他想计算的结果。但是小乐乐很笨&#xff0c;请你帮助他解答。 输入描述: 输入一个正整数n (1 ≤ n ≤ 109) 输出描述: 输出一个值&#xff0c;为求和结果。 示例1 输…...

【PyTorch】(基础七)---- 完整训练流程

首先要明确一点&#xff0c;我们在编写模型、训练和使用模型的时候通常都是分开的&#xff0c;所以应该把Module的编写以及train方法和test方法分开编写。 调用gpu进行训练&#xff1a;在网络模型&#xff0c;数据&#xff0c;损失函数对象后面都使用.cuda&#xff08;&#x…...

01- 三自由度串联机械臂位置分析

三自由度串联机械臂如下图所示&#xff08;d180mm&#xff0c;L1100mm&#xff0c;L280mm&#xff09;&#xff0c;利用改进DH法建模&#xff0c;坐标系如下所示&#xff1a; 利用改进DH法建模&#xff0c;该机器人的DH参数表如下所示&#xff1a; 对该机械臂进行位置分析&…...

Flutter实现可拖拽操作Draggable

文章目录 1. Draggable 控件的构造函数主要参数&#xff1a; 2. Draggable 的工作原理3. 常见用法示例 1&#xff1a;基本的拖拽控件解释&#xff1a;示例 2&#xff1a;与 DragTarget 配合使用解释&#xff1a; 4. Draggable 的回调详解5. 总结 Draggable 是 Flutter 中一个用…...

Vue BPMN Modeler流程图

1、参考地址 git clone https://github.com/evanyangg/vue-bpmn-modeler.git 2、安装bpmn.js npm install bpmn-js --save 3、使用bpmn.js <template><div class"containers"><div class"canvas" ref"canvas"></div&g…...

写在公司40周年前夕

日子太快了&#xff0c;来这里工作六年多了。现在才知道原来入职的公司只是母公司的一小点。刚来一年就碰到疫情&#xff0c;三年疫情之后就迎来亏损&#xff0c;而后就是变了董事长&#xff0c;换了总经理。 这圣诞前&#xff0c;所有的子分又换了一把手。动作之大&#xff0c…...

Python调用Elasticsearch更新数据库

文章目录 Elasticsearch介绍Python调用Elasticsearch更新数据库 Elasticsearch介绍 Elasticsearch是一个基于Lucene的搜索引擎&#xff0c;它提供了一个分布式、多租户能力的全文搜索引擎&#xff0c;具有HTTP web接口和无模式的JSON文档。Elasticsearch是用Java开发的&#x…...

测试基础之测试分类

软件测试是确保软件产品满足预期功能、性能和用户体验要求的关键环节。它的主要目的是通过系统化的方法发现并修复软件中的缺陷&#xff0c;从而提高软件的质量和可靠性。在软件开发生命周期的不同阶段执行测试&#xff0c;以尽早发现潜在的错误或类型&#xff0c;早期发现缺陷…...

太阳能LED路灯智能控制系统(论文+源码)

1系统的功能及方案设计 本次课题为太阳能LED路灯智能控制系统&#xff0c;其系统整体架构如图2.1所示&#xff0c;太阳能板通过TP4056充电模块给锂电池进行充电&#xff0c;电池通过HX3001升压模块进行升压到5V给整个控制系统进行供电&#xff0c;控制系统由AT89C52单片机作为…...

文本数据处理

文本数据处理 一、数据转换与错误处理 &#xff08;一&#xff09;运维中的数据转换问题 在计算机审计及各类数据处理场景中&#xff0c;数据转换是关键步骤&#xff0c;涉及将被审计单位或其他来源的数据有效装载到目标数据库&#xff0c;并明确标示各表及字段含义与关系。…...

Liunx环境下安装人大金仓数据库V8R6版本

Liunx环境下安装人大金仓数据库V8R6版本 一&#xff1a;硬件环境要求二&#xff1a;软件环境要求三&#xff1a;安装包准备四&#xff1a;检测和配置环境4.1&#xff1a;检查操作系统信息4.2 检查系统内存与存储空间 五&#xff1a;配置内核参数六&#xff1a;预安装工作6.1 创…...

Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现马赛克效果,Kotlin(3)

Android使用PorterDuffXfermode模式PorterDuff.Mode.SRC_OUT橡皮擦实现马赛克效果&#xff0c;Kotlin&#xff08;3&#xff09; import android.content.Context import android.graphics.Bitmap import android.graphics.BitmapFactory import android.graphics.Canvas impor…...

python 怎么引入类

一、导入单个类 from fun import Dog dogDog(husike) dog.bark() 二、导入多个类 多个类之间用逗号分隔 from fun import Dog,Cat dogDog(husike) dog.bark() catCat(maomi) cat.catch_mouse() 三、导入整个模块 import fun dogfun.Dog(husike) dog.bark() catfun.Cat(maomi) …...

Day35汉明距离

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。 给你两个整数 x 和 y&#xff0c;计算并返回它们之间的汉明距离。 class Solution {public int hammingDistance(int x, int y) {int cnt 0;while (Math.max(x, y) ! 0) {if ((x & 1) ! (y &…...

中文学习系统:客户服务与学习支持

3.1 系统可行性分析 开发一款程序软件不仅需要时间&#xff0c;也需要人力&#xff0c;物力资源。而进行可行性分析这个环节就是解决用户这方面的疑问&#xff0c;看看程序在当前的条件下是否可以进行开发。 3.1.1 技术可行性分析 此程序选用的开发语言是Java&#xff0c;这种编…...

华为麦芒5(安卓6)termux记录 使用ddns-go,alist

下载0.119bate1版,不能换源,其他源似乎都用不了,如果root可以直接用面具模块 https://github.com/termux/termux-app/releases/download/v0.119.0-beta.1/termux-app_v0.119.0-beta.1apt-android-5-github-debug_arm64-v8a.apk 安装ssh(非必要) pkg install openssh开启ssh …...

餐厅下单助手系统(Java+MySQL)

项目概览 餐厅下单助手系统是一个采用 Java 实现的小型食品订单管理系统&#xff0c;并且以 SwingUI 打造视觉界面&#xff0c;数据库提供。本系统分为商家和顾客两类体验&#xff0c;有效地给予简洁性能。可用做课程设计&#xff0c;参考学习。 技术栈 Java: 核心开发语言S…...

Go操作MySQL

连接 Go语言中的database/sql包提供了保证SQL或类SQL数据库的泛用接口&#xff0c;并不提供具体的数据库驱动。使用database/sql包时必须注入&#xff08;至少&#xff09;一个数据库驱动。 我们常用的数据库基本上都有完整的第三方实现。例如&#xff1a;MySQL驱动 下载依赖…...

Linux(Ubuntu/CentOS)配置开机自启动服务

systemd和systemctl的区别和联系 systemd&#xff1a;是现代Linux系统中的初始化系统和服务管理器。它主要负责系统引导和进程管理&#xff0c;支持并行化启动服务&#xff0c;并提供高级的服务管理和依赖控制。 systemctl&#xff1a;是systemd的命令行工具&#xff0c;用于与…...

智能仪器仪表:数字化转型浪潮下的产业升级与市场机遇

在全球工业4.0与智能制造浪潮的推动下&#xff0c;智能仪器仪表作为工业自动化与数字化的核心设备&#xff0c;正经历从传统测量工具向智能化、网络化、平台化解决方案的深刻转型。这一变革不仅重塑了行业技术架构&#xff0c;更催生了新的商业模式与竞争格局。本文将从技术演进…...

Janus-Pro-7B文生图作品展:中国风角色、科幻机甲、自然生态高清图集

Janus-Pro-7B文生图作品展&#xff1a;中国风角色、科幻机甲、自然生态高清图集 1. 模型能力概览 Janus-Pro-7B是DeepSeek推出的统一多模态模型&#xff0c;它在一个框架内同时实现了图像理解和文本生成图像两大核心功能。这个设计思路很巧妙——传统上&#xff0c;理解图像和…...

如何用XUnity.AutoTranslator实现Unity游戏实时翻译:新手完全指南

如何用XUnity.AutoTranslator实现Unity游戏实时翻译&#xff1a;新手完全指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过精彩的Unity游戏&#xff1f;XUnity.AutoTrans…...

新手必看:如何用OpenSCAP快速搞定Linux服务器安全基线检查(附CentOS实战)

从零到精通的OpenSCAP实战&#xff1a;CentOS安全基线检查全流程拆解 刚接手服务器运维的新手常会遇到这样的困惑&#xff1a;明明系统运行正常&#xff0c;安全团队却总说存在"配置风险"。去年我们团队就发生过一起因SSH弱加密算法导致的入侵事件——攻击者仅用2小时…...

冥想第一千八百三十八天(1838)

1.周四&#xff0c;4.2号&#xff0c;今天项目上特别忙&#xff0c;下班后带着溪溪桐桐一起去锦和公园的大土坡上玩了一圈。 2.感谢父母&#xff0c;感谢朋友&#xff0c;感谢家人&#xff0c;感谢不断进步的自己。...

Polar编码在UCI传输中的关键技术与实现细节

1. Polar编码在UCI传输中的核心作用 当我们需要在5G网络的PUSCH信道上传输UCI&#xff08;上行控制信息&#xff09;时&#xff0c;如果信息量超过12比特&#xff0c;Polar编码就成为了标准化的编码方案。这种编码方式之所以被选中&#xff0c;是因为它在短码和中长码场景下都能…...

[Python] venv、pip、解释器到底什么关系?一篇讲清环境管理

在学习 Python 的过程中,很多开发者都会遇到这样一个“经典困惑”: 为什么我用 pip install 安装了包,但代码里却 import 失败? 为什么有多个 Python? venv 到底在干嘛?它是不是“虚拟 Python”? 如果你也有这些疑问,那么这篇文章就是为你准备的。 本文将从底层逻辑出…...

【高清视频】PCIe 5.0 144 Lane 8槽位 PCIe Switch卡实拍讲解

我们之前拍摄了一个基于Broadcom的PCIe 5.0 PEX89144的144 lane的PCIe 5.0的扩展板 - “一张144 lane Gen5 switch卡&#xff0c;如何在桌面上扩出8个x16 PCIe测试环境&#xff1f;”&#xff0c;但是当时没有连接主机进行lspci的演示&#xff0c;今天的视频补上&#xff0c;感…...

前端工程师转型AI Agent开发工程师:小白也能轻松入门的大模型学习路线(建议收藏!)

前端工程师转型AI Agent开发工程师&#xff1a;小白也能轻松入门的大模型学习路线&#xff08;建议收藏&#xff01;&#xff09; 前端工程师转型AI Agent开发具有天然优势&#xff0c;如成熟的Web技术栈、丰富的API调用经验和敏锐的产品交互思维。要转型成功&#xff0c;需补齐…...

OpenClaw配置优化:Qwen3-4B模型参数调优实战

OpenClaw配置优化&#xff1a;Qwen3-4B模型参数调优实战 1. 为什么需要调优Qwen3-4B模型参数 去年夏天&#xff0c;当我第一次在OpenClaw中接入Qwen3-4B模型时&#xff0c;发现同样的提示词在不同任务下表现差异巨大。有时它给出的回答过于保守&#xff0c;像在背诵教科书&am…...