MSYS2CmderWindows神器组合

article/2025/9/11 15:55:32

1、Cmder

简介

Cmder简单来说是个多标签命令行工具,它可以当做windows自带的cmd的增强版,如图:

优势

  1. 支持多标签
  2. 支持全屏显示
  3. 可以方便的对命令行窗口的属性进行设置,比如字体,编码,颜色,背景等,自定义化程度很高
  4. 可以方便的拷贝大量输出数据,比如调试日志
  5. 由于集成了conemu-maximus5和 git-for-windows,所以附带 lsgrep等linux常见的小工具
  6. 可以自己识别系统已经安装的各种命令行环境,比如msys2vs的命令行环境cygwinwin10的wsl等,如图

演示

小贴士

cmder中的命令提示符是类似“人”这种,如何修改成"$"
最新版本需要修改 clink.lua 文件,找到下面的位置
local lambda = "λ"
把这个符号改成熟悉的美元符号或者其他你喜欢的符号即可cmder有时候输入的首个字母无法回车删除
参照1,把 "λ" 改成 "$" 美元符号即可整合msys2
如图添加msys2配置即可

    4、将cmder添加到系统中的环境变量中,便可以直接通过指令启动cmder

下载地址

https://github.com/cmderdev/cmder/releases

 

2、 MSYS2

简介

msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。
类似的跨平台编译套件有:msyscygwinmingw

优势

  1. 相对于 cygwin 和 msys 等环境,它支持 pacman 包管理器,这意味着你可以很方便的安装所需要的软件包和开发库,而不需要自己去找源码编译
  2. 支持多种编译环境,可以很方便的整合 mingw 和 clang,自身也是基于cygwin的一个简单开发环境,可以通过 pacman 包管理器很方便的安装对应编译环境的开发库。msys2的安装目录结构如下:


    我们可以看到上面的图片中,自带 clang32,clang64,mingw32和mingw64 这四个文件夹,默认这四个文件夹是空的,我们可以根据需要自行的下载对应的编译套件放入。比如我们放入了mingw编译套件,就可以使用mingw32.exe和mingw64.exe来方便的运行对应的编译环境。这个编译环境是继承了 msys2 自身环境的,而不是独立的。

演示

小贴士

  1. 建议搭配Cmder进行使用,这样会很爽
  2. 设置msys2代理,有时候国内的网络环境可能访问很慢

    编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:

    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
    

    编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:

    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
    

    编辑 /etc/pacman.d/mirrorlist.ucrt64 ,在文件开头添加:

    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/ucrt64
    

    编辑 /etc/pacman.d/mirrorlist.clang64 ,在文件开头添加:

    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/clang64
    

    编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:

    Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
    

    然后执行 pacman -Sy 刷新软件包数据即可。

  3. 需要注意msys2和ming32是两套环境,上面的演示gif也说明了这个问题,所以一定要注意按需下载,类似gcc,g++这种都是两套的,但是configure程序只有msys2自带的那个,它自己会根据你打开的命令行环境来生成对应编译环境的Makefile,调用对应的gcc等程序
  4. 如果出现奇怪的编译错误,那么可以检查一下是不是现有的编译环境某些程序和msys2自身环境有冲突,因为其他编译环境一定程度上继承了msys2自身的环境。
  5. 如果编译的时候需要一些老的开发库,那么可以访问msys2的官方仓库网址,一般可以在这里找到老的开发库安装包,然后我们下载下来使用pacman本地安装即可
  6. 将msys2添加到系统中的环境变量中,这样cmd中可以使用msys2的指令

          7、添加msys2_root的新环境变量

也可以在cmder命令行中输入下面代码

set CHERE_INVOKING=1 & %MSYS2_ROOT%\usr\bin\zsh.exe --login -i -new_console:C:"%MSYS2_ROOT%\msys2.ico"

下载地址

 https://www.msys2.org/

3、常用工具安装

pacman是arclinux中的软件管理工具,也是widows上msys2默认的软件管理工具。pacman可以直接从网络上的软件仓库下载安装及删除软件,自动处理依赖关系,类似ubuntu中的apt-get。

安装软件

  • pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可。
  • pacman -S --needed 软件名1 软件名2: 安装软件,但不重新安装已经是最新的软件。
  • pacman -Sy 软件名:安装软件前,先从远程仓库下载软件包数据库(数据库即所有软件列表)。
  • pacman -Sv 软件名:在显示一些操作信息后执行安装。
  • pacman -Sw 软件名: 只下载软件包,不安装。
  • pacman -U 软件名.pkg.tar.gz:安装本地软件包。
  • pacman -U http://www.example.com/repo/example.pkg.tar.xz: 安装一个远程包(不在 pacman 配置的源里面)。

更新系统

  • pacman -Sy: 从服务器下载新的软件包数据库(实际上就是下载远程仓库最新软件列表到本地)。
  • pacman -Su: 升级所有已安装的软件包。

pacman 可以用一个命令就可以升级整个系统。花费的时间取决于系统有多老。这个命令会同步非本地(local)软件仓库并升级系统的软件包:

pacman -Syu

在msys2中 pacman -Syu后需要重启一下msys2(关掉shell重新打开即可)。

在Arch linux中,只支持系统完整升级,不支持部分升级。所以即使在msys2中,pacman -Syu也会升级整个系统。可以观察一下,即使新安装的msys2,pacman -Syu后,msys2安装目录占用空间立马变大很多。

如果升级时,网络比较慢,觉得既浪费时间又浪费硬盘,实在不想升级那么多东西,可以逐个软件包升级。用下面命令可以升级核心包:

pacman -S --needed filesystem msys2-runtime bash libreadline libiconv libarchive libgpgme libcurl pacman ncurses libintl

卸载软件

  • pacman -R 软件名: 该命令将只删除包,保留其全部已经安装的依赖关系
  • pacman -Rv 软件名: 删除软件,并显示详细的信息
  • pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件。
  • pacman -Rsc 软件名: 删除软件,并删除所有依赖这个软件的程序,慎用
  • pacman -Ru 软件名: 删除软件,同时删除不再被任何软件所需要的依赖

搜索软件

  • pacman -Ss 关键字: 在仓库中搜索含关键字的软件包(本地已安装的会标记)
  • pacman -Sl <repo>:
    • 显示软件仓库中所有软件的列表
    • 可以省略,通常这样用:pacman -Sl | 关键字
  • pacman -Qs 关键字: 搜索已安装的软件包
  • pacman -Qu: 列出所有可升级的软件包
  • pacman -Qt: 列出不被任何软件要求的软件包

参数加q可以简洁方式显示结果,比如pacman -Ssq gcc会比pacman -Ss gcc显示的好看一些。

pacman -Sl | gccpacman -Ssq gcc很接近,但是会少一些和gcc有关但软件名不包含gcc的包。

查询软件信息

  • pacman -Q 软件名: 查看软件包是否已安装,已安装则显示软件包名称和版本
  • pacman -Qi 软件名: 查看某个软件包信息,显示较为详细的信息,包括描述、构架、依赖、大小等等
  • pacman -Ql 软件名: 列出软件包内所有文件,包括软件安装的每个文件、文件夹的名称和路径

软件包组

  • pacman -Sg: 列出软件仓库上所有的软件包组
  • pacman -Qg: 列出本地已经安装的软件包组和子包
  • pacman -Sg 软件包组: 查看某软件包组所包含的所有软件包
  • pacman -Qg 软件包组: 和pacman -Sg 软件包组完全一样

很多人建议通过安装软件组来安装工具链,例如:

  • pacman -S mingw-w64-x86_64-toolchain
  • pacman -S mingw-w64-i686-toolchain
  • pacman -S mingw-w64-x86_64-qt5
  • pacman -S base-devel

但是这样比较浪费空间。实际上如果把gcc, qt, clang等安装上,msys2就要占掉超过10G的硬盘空间,所以个人很少直接安装软件组。

清理缓存

  • pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录。
  • pacman -Scc:清理所有的缓存文件。

最常用的pacman命令小结

pacman命令较多,作为新手,将个人最常用的命令总结如下:

  • pacman -Syu: 升级系统及所有已经安装的软件。
  • pacman -S 软件名: 安装软件。也可以同时安装多个包,只需以空格分隔包名即可。
  • pacman -Rs 软件名: 删除软件,同时删除本机上只有该软件依赖的软件。
  • pacman -Ru 软件名: 删除软件,同时删除不再被任何软件所需要的依赖。
  • pacman -Ssq 关键字: 在仓库中搜索含关键字的软件包,并用简洁方式显示。
  • pacman -Qs 关键字: 搜索已安装的软件包。
  • pacman -Qi 软件名: 查看某个软件包信息,显示软件简介,构架,依赖,大小等详细信息。
  • pacman -Sg: 列出软件仓库上所有的软件包组。
  • pacman -Sg 软件包组: 查看某软件包组所包含的所有软件包。
  • pacman -Sc:清理未安装的包文件,包文件位于 /var/cache/pacman/pkg/ 目录。
  • pacman -Scc:清理所有的缓存文件。

http://chatgpt.dhexx.cn/article/vYNgCH2M.shtml

相关文章

步进电机与两线直流电机驱动

步进电机&#xff1a; 1.技术参数 四线四相&#xff0c;八拍驱动 2.驱动调试 一般频率在1.4k左右&#xff0c;每700us执行一拍 要注意驱动频率 遇到挑适配器的问题&#xff0c;功率低的适配器可能带不动步进电机 两线直流电机&#xff1a; 正转和反转两种状态 IO_A 1; …

回收直流电机驱动中的能量

回收直流电机驱动中的能量 当使永磁电机驱动器中的运动质量减速时&#xff0c;存储在机械系统中的能量可以通过电机驱动器返回到电源。如果没有正确考虑这种能量&#xff0c;它可能会导致电源电压升高&#xff0c;从而损坏电机驱动器或系统的其余部分。 当使永磁电机驱动器中的…

GC8870国产低成本替代TI的DRV8870 3.6A 刷式直流电机驱动器(PWM 控制)

GC8870是一款刷式直流电机驱动芯片&#xff0c;适用于打印机、电器、工业设备以及其他小型机器。两个逻辑输入控制 H 桥驱动器&#xff0c;该驱动器由四个NMOS组成&#xff0c;能够以高达3.6A 的峰值电流双向控制电机。利用电流衰减模式&#xff0c;可通过对输入进行脉宽调制 (…

GC8837 DFN8 12V直流电机驱动芯片 完美替代TI DRV8837

GC8837是一款12V直流电机驱动芯片&#xff0c;为摄像机、消费类产品、玩具和其他低压或者电池供电的运动控制类应用提供了集成的电机驱动解决方案。芯片一般用了驱动一个直流电机或者使用两颗来驱动步进电机。   GC8837可以工作在0~12V的电源电压上&#xff0c;能提供高达1.5…

51单片机(十五)直流电机驱动(PWM)

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…

GC3909 12V直流电机驱动芯片低成本替代allegro的A3909

GC3909是一款双通道12V直流电机驱动芯片&#xff0c;为摄像机、消费类产品、玩具和其他低压或者电池供电的运动控制类应用提供了集成的电机驱动解决方案。芯片一般用来驱动两个直流电机或者驱动一个步进电机。   GC3909可以工作在3.8~12V的电源电压上&#xff0c;每通道能提供…

[直流有刷电机步进电机]驱动芯片AS4950完美替代A4950/DRV8870/AT8870/TMI8870/G2057

大家好&#xff0c;我是芯知识学堂的SingleYork&#xff0c;今天要给大家分享的是AS4950这款直流有刷电机芯片的应用&#xff08;控制直流电机和步进电机&#xff09;。 AS4950 是一款具有优越性能的全桥 DMOS 直流有刷电机驱动芯片&#xff0c;最大工作范围可以撘3.5A 和 40V …

直流电机驱动(PWM)

直流电机介绍 直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极&#xff0c;当电极正接时&#xff0c;电机正转&#xff0c;当电极反接时&#xff0c;电机反转 直流电机主要由永磁体&#xff08;定子&#xff09;、线圈&#xff08;转子&#xff09;和换向器…

直流电机驱动电路整理笔记

—— 博文内容是从好几篇论文中摘抄下来的&#xff0c;不过遗憾的是那时候我没有对这几篇论文进行来源记录。 1基础知识 1.1专业名词 本小节用于阐述本文将提到的专业名词。 逻辑电压&#xff1a;用于表示逻辑的高电平或低电平&#xff0c;驱动能力很弱 驱动电压&#xff1a…

直流电机驱动PWM

正接时正转,反接时反转 IN为低电平时,三极管导通 IN为高电平时,三极管断开 P10口如果给1,就为0 主循环写法 while(1) {for(Time0;Time<100;Time){for(i0;i<20;i){LED0;Delay(Time);//亮的时间LED1;Delay(100-Time);//暗的时间}} } #include <REGX52.H> sbit …

DRV8711的通用步进电机驱动器和直流电机驱动器

DRV8711的通用步进电机驱动器和直流电机驱动器 芯片说明 DRV8711 是一款步进式电机控制器&#xff0c;此控制器使用外部 N 通道 MOSFET 来驱动一个双极步进式电机或两个有刷直流电机。 集成了一个微步进分度器&#xff0c;此分度器能够支持全步长至 1/256 步长的步进模式。 通…

国产单通道直流有刷马达驱动芯片型号推荐

直流有刷马达驱动芯片是一款适应消费类、工业类的单通道直流有刷驱动IC&#xff0c;适用于各类玩具&#xff0c;智能家居&#xff0c;智能三表。小封装&#xff0c;低功耗&#xff0c;内置完善的保护机制&#xff08;过温/过流/过压&#xff09;。具有一个PWM&#xff08;INA/I…

九、51单片机之直流电机驱动

目录 1、什么是电机 2、常见电机 2.1、交流电机 2.2、交流电机补充(可跳过) 2.3、直流电机 2.4、步进电机、伺服电机 3、直流电机驱动 1、什么是电机 (1)电机的全称是电动机&#xff0c;把电能转换成动能的一种电器。 (2)外观 2、常见电机 常见电机包括交流电机、直流…

直流电机驱动c语言程序,单片机PWM控制直流电机驱动程序+仿真+报告

直流电机驱动资料包: 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 电子系统设计报告 课题名称 直流电动机驱动 专 业 电子信息工程技术 目录 第1章 设计题目与要求 第2章 设计方案 2.1 设计方案 2.2 方案…

GC9110T 12V 直流电机驱动芯片 GC9110(低压6V驱动)的12V升级版本

GC9110T是一款12V直流电机驱动芯片&#xff0c;为摄像机、消费类产品、玩具和其他低压或者电池供电的运动控制类应用提供了集成的电机驱动解决方案。芯片一般用了驱动一个直流电机或者使用两颗来驱动一个步进电机。GC9110T是GC9110&#xff08;低压6V驱动&#xff09;的12V升级…

直流电机驱动

1. 直流电机是一种将电能转化为机械能的装置&#xff0c;一般的直流电机有两个电极&#xff1b;当电极正接时&#xff0c;电机正转&#xff1b;当电机反接时&#xff0c;电机反转&#xff1b; 2. PWM&#xff1a;脉冲宽度调制-------PWM调速的原理就是&#xff1a;我让他转5us…

GC8871一款带内部电流感测功能的刷式直流电机驱动芯片(可替代DRV8871)

GC8871是一款带内部电流感测功能的刷式直流电机驱动芯片&#xff0c; 适用于打印机、电器、工业设备以及其他小型机器。两个逻辑输入控制 H 桥驱动器&#xff0c; 该驱动器由四个NMOS组成&#xff0c; 能够以高达3.6A 的峰值电流双向控制电机。 利用电流衰减模式&#xff0c;可…

几款H桥电机驱动芯片直流有刷电机驱动芯片性能分析

如果您正在寻找一款高性能、可靠、集成度高、能实现卓越电流控制的H桥电机驱动芯片&#xff0c;那么下面介绍的芯片将是不错的选择。 这一系列芯片具有出色的功耗管理能力&#xff0c;以及多种保护功能&#xff0c;精确的电流检测和监控&#xff0c;能够确保系统的长期稳定运…

DRV8872直流电机驱动芯片简要的使用说明

DRV8872直流电机驱动芯片简要的使用说明 ​ (DRV8872) 一、能干什么 DRV8872主要用于直流电机的驱动。它有两个输入端子&#xff0c;控制一个BDC(直流电机)的工作。同时&#xff0c;它还能通过在ISEN引脚外接电阻控制流过电机的电流&#xff1b;通过nFAULT引脚输出错误信息给…

【电机驱动芯片(H桥、直流电机驱动方式)——DRV8833、TB6612、A4950、L298N的详解与比较】

文章目录 一.全H桥电路基础知识1.原理图&#xff08;以全NMOS管为例&#xff09;2.H桥工作模式正转模式反转模式电流衰减模式 3.补充 二.DRV8833芯片介绍1.基本介绍2.引脚功能3.功能框图4.结构详细介绍5.逻辑控制6.另外一种DRV8833CPWP型号的区别 三.TB6612FNG芯片介绍1.基本介…