本文主要讲解关于在Windows上使用Fish替换cmd相关内容,让我们来一起学习下吧!
在日常开发过程中,我们也需要常常和命令行打交道,而Windows自带的cmd
或者PowerShell可能并不总是那么地顺手,尤其是经常使用Linux命令的同学来说。
那么我们能不能在Windows上使用Linux解释器来替代cmd
或者PowerShell呢?事实上是完全可以的,借助MSYS2即可。
MSYS2是一款非常强大的工具链,它提供了一个模拟Linux的环境,使得我们可以在Windows上使用Linux的命令,而这些命令都是Windows的exe
可执行文件形式,除此之外我们可以使用该环境的bash
或者其它终端解释器来替代Windows的cmd
,使得我们可以更加高效地使用命令行终端。
今天就以在Msys2下面安装配置fish
为例,来讲解如何在Windows上配置Linux的Shell解释器,大家如果想要使用bash
或者zsh
也是同理。
1,下载并安装MSYS2
进入官方网站:传送门
点击下载安装包文件,安装即可:
2,配置环境变量
安装完成后,需要将Msys2安装目录usrbin
这个路径加入至Path
环境变量中,例如我将Msys2安装在D:Program FilesMsys2
如下:
那么就要把D:Program FilesMsys2usrbin
加入至Path
环境变量。
3,配置镜像源并更新
在开始菜单找到MSYS2终端打开:
首先更换清华镜像源,使用下列命令:
sed -i "s#https?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
然后执行下列命令更新:
pacman -Syu
第一次更新到一半可能会提示你输入y
关闭进程,关闭后重新打开终端再次执行该命令更新即可,重复几次直到无更新提示。
4,配置默认用户目录
在Windows上我们的用户目录通常是C:Users%username%
,而MSYS2默认使用的是Linux的/home/$USER
这个目录,实际对应Msys2安装目录/home/你的用户名
,这不符合我们平时习惯。
我们可以修改Msys2的默认用户目录,找到Msys2安装目录etcnsswitch.conf
文件:
使用文本编辑器打开,找到下列行:
将其修改为:
db_home: /c/Users/%U
最终如下:
5,安装常用开发工具
通过下列命令即可:
pacman -S fish gcc make git vim pkgconf
这包含了解释器fish
以及C/C++编译器、Git等等,这样无需在Windows上单独安装MingW或者Git了!
6,Tabby配置fish
终端
上述我们安装完成了fish
解释器,现在我们就可以配置到其它终端软件了!这里以Tabby为例,大家如果使用Windows Terminal也是同理。
在配置和连接中新建:
配置如图:
上述命令行为:
'D:Program FilesMsys2msys2_shell.cmd' -msys2 -defterm -here -full-path -no-start -shell fish
注意将D:Program FilesMsys2
换成你自己的安装目录!
可见在Msys2下有个msys2_shell.cmd
脚本,该脚本可以使得我们在其它终端例如Windows Terminal、cmd、Tabby等加载Msys2环境,并使用其中的bash
或者fish
等等,这里我的整个命令参数如下图:
上述参数:
-
-msys2
使用Msys2环境 -
-defterm
使用默认终端 -
-here
使用当前目录作为工作目录 -
-full-path
加载全部环境变量 -
-no-start
在当前终端窗口加载Msys2环境而不是新起一个终端窗口 -
-shell fish
指定使用fish
作为解释器,类似的如果你想用bash
则写作:-shell bash
保存,到此一个终端配置完成!
最后,设定默认配置为我们刚刚加入的fish
解释器配置即可:
到此,全部配置完成!我们可以在Windows中使用Linux的Shell解释器以及绝大多数命令了!
7,路径问题
在Msys2中,我们需要使用Linux的路径表示形式,而非Windows路径,比如下列命令的路径表示就是错误的:
# 错误的
cd "C:Usersswsk33"
要将路径转换成下面这样:
cd "/c/Users/swsk33"
也就是说将盘符例如C:
、D:
替换成/c
、/d
的形式,并且把换成
/
即可。
以上就是关于在Windows上使用Fish替换cmd相关的全部内容,希望对你有帮助。欢迎持续关注程序员导航网,学习愉快哦!