msys2
1.1、msys2简介
是什么 ?:a collection of tools and libraries providing you with an easy-to-use environment for building, installing and running native Windows software. It consists of a command line terminal called mintty, bash, version control systems like git and subversion, tools like tar and awk and even build systems like autotools, all based on a modified version of Cygwin.
开发语言:C
官方主页:http://www.msys2.org
源码仓库:https://github.com/msys2
1.2、通过包管理器安装msys2
包管理器安装命令
Chocolateychoco install -y msys2
scoopscoop install msys2
1.3、msys2中的3种子系统
子系统软件安装位置软件名称前缀软件仓库软件仓库配置文件PKGBUILD仓库
MSYS/usrmsys2/etc/pacman.d/mirrorlist.msyshttps://github.com/msys2/MSYS2-packages
MINGW32/mingw32mingw-w64-i686-mingw32/etc/pacman.d/mirrorlist.mingw32https://github.com/msys2/MINGW-packages
MINGW64/mingw64mingw-w64-x86_64-mingw64/etc/pacman.d/mirrorlist.mingw64https://github.com/msys2/MINGW-packages
1.4、msys2中包含的命令
命令图标配置文件作用
msys2.exemsys2.icomsys2.inimintty作为Terminal,启动MSYS子系统
mingw32.exemingw32.icomingw32.inimintty作为Terminal,启动MINGW32子系统
mingw64.exemingw64.icomingw64.inimintty作为Terminal,启动MINGW64子系统
1.4.1、msys2_shell.cmd

msys2_shell.cmd是一个批处理命令。通过该命令,我们可以从CMDWindowsTerminal中启动MSYS2子系统

msys2_shell.cmd命令的使用格式如下:

msys2_shell.cmd [option]... [login shell parameter]...
option说明
-help|--help|-?|/?查看msys2_shell.cmd命令的使用帮助。
-defterm当前Terminal作为Terminal
-conemuConEmu作为Terminal
-minttymintty作为Terminal
-msys[2]启动MSYS子系统
-mingw32启动MINGW32子系统
-mingw64启动MINGW64子系统
-shell SHELL使用SHELL作为login shell,默认是bash
-here使用当前目录作为工作目录
-where DIR使用DIR作为工作目录
-no-start不使用start命令

使用示例:

msys2_shell.cmd -no-start -defterm -msys    -here
msys2_shell.cmd -no-start -defterm -mingw32 -here
msys2_shell.cmd -no-start -defterm -mingw64 -here

msys2_shell.cmd -no-start -defterm -msys    -where home
msys2_shell.cmd -no-start -defterm -msys    -where home -shell zsh
msys2_shell.cmd -no-start -defterm -msys    -where home -shell zsh -c 'ls'

运行效果:

1.5、msys2中预安装的软件
1.6、配置Shell

msys2.exemingw32.exemingw64.exe启动后,默认使用的Shellbash,您也可以使用其他的Shell, 比如zsh。步骤如下:

step1、安装zsh

pacman -Syyuu --noconfirm
pacman -S     --noconfirm zsh

step2、分别在/msys2.ini/mingw32.ini/mingw64.ini3个配置文件中加入如下的配置

SHELL=/usr/bin/zsh

step3、重新加载zsh

exec zsh
1.7、msys2中如何访问Windows上的磁盘分区

msys2环境里面使用的是Linux虚拟文件系统, 它与Windows系统的虚拟文件系统不一样。

msys2环境里用/c/表示WindowsC盘,其他分区以此类推。

示例:

ls /c/