更多博文请关注:https://blog.bigcoder.cn

每次看到Mac生态中炫酷的命令行工具,我就一脸羡慕,但是奈何财力不足,整不起动辄上万的电脑,搬砖人就只能折腾折腾手里的这台windows了。

效果展示:

  • Mac终端自带的zsh完全移安装到了WSL上面,命令交互样式变得更加美观,默认能够显示当前所在文件夹下的git分支

  • 更加智能的命令提示,这也是我最喜欢的一点

  • open命令,使用open命令可以使用系统默认软件打开文件夹以及文件

一. 安装WSL

因为Mac是一个类Unix系统,所以Windows下的WSL(Windows Subsystem for Linux)就是非常适合作为命令行的系统环境。使用WSL后大多数命令都和Mac一样了,这种开发和运维一体的感觉真是不错。

具体安装WSL的方法网上一大堆,大家自行Google,这里给大家贴一个在B站上视频教程 Windows自带Linux安装教程 WSL

安装好WSL后会多一个类似于CMD的黑窗口,这个窗口就是与Linux子系统交互的窗口。

二. 安装Fluent Terminal

那个黑黑的窗口显然不是我想要的,在网络世界遨游了一番最终选择了Fluent Terminal软件,它在易用性和功能性上做到了较好的平衡。大家只要去微软商店中搜索下载即可

三. 安装必要的环境

由于WSL是一个完全独立的子系统,它虽然能够访问主机中的文件,但是如果要执行Windows上的软件需要加.exe后缀不是很方便:

我们需要在Linux子系统上安装一个完整的Java环境,例如:JDK、Maven、Git

安装过程也请大家自行Google,但是需要说明一下,在WSL下安装的Maven,本地仓库可以指定为Windows下的本地仓库地址:

四. 安装Oh-my-zsh

4.1 安装zsh

  • 直接使用apt命令安装即可
sudo apt-get install zsh
  • 切换为shell为zsh
chsh -s /bin/zsh

想了解zsh请移步至:终极 Shell——ZSH

4.2 安装ohmyzsh

  • 使用git进行下载
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
sh install.sh
  • 打开zsh的配置文件
sudo vim ~/.zshrc
ZSH_THEME=powerlevel10k/powerlevel10k
  • 重新加载配置文件:
source ~/.zshrc

4.3 安装字体

为了防止终端可能会出现乱码,也是因为你的电脑不支持那么多字体,所以我们需要先安装扩展字体。

推荐使用 Meslo Nerd Font 字体,Download these four ttf files:

WSL配置字体其实就是配置终端的字体,点击设置会自动跳转到一个json格式的文档。

4.4 配置环境变量

编辑/etc/zsh/zshrc文件,该文件类似ubuntu系统bash环境下的bashrc文件

4.5 安装自动提示插件

zsh-autosuggestions

  1. 下载自动补全插件至oh-my-zsh的插件目录中 ~/.oh-my-zsh/custom/plugins

    git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  2. 编辑 ~/.zshrc文件,注册插件:

    plugins=(zsh-autosuggestions)
  3. 重新加载~/.zshrc

    source ~/.zshrc

安装自动补全插件可能会遇到问题:

解决方案:

https://github.com/zsh-users/zsh-autosuggestions/issues/557

4.6 wsl的ls文件夹为绿色的问题

https://www.cnblogs.com/sgmder/p/13177561.html

五. 配置open命令

编辑/etc/zsh/zshrc文件,在末尾添加下列命令:

alias open='cmd.exe /C start'

然后执行:

source /etc/zsh/zshrc

然后使用open [文件]即可打开该文件

Windows系统命令行的最佳实践的更多相关文章

  1. Windows系统命令行下编译连接C/C++源代码方法

    Windows系统下编译连接源代码方法:cl -GX test.c-GX: 启动同步异常处理上面的命令会产生可执行程序:test.exe在命令行中直接输入:test.exe 就可运行该程序 Tips: ...

  2. 高级安全Windows防火墙概述以及最佳实践

    本文简单介绍Windows防火墙的概念,给出使用场景并列出了常见的防火墙操作. 简介 在Windows NT6.0之后微软推出了高级安全Windows防火墙(简称WFAS),高级安全Windows防火 ...

  3. Windows系统命令行net user命令用法

    在Windows渗透测试过程中,最常用的要数net user 命令了,但是非常多的时候我们都是对Linux命令非常熟悉,对Windows命令非常熟悉或者了解用法的少只有少,为了以后工作方便,这里记录一 ...

  4. windows系统命令行

    使用   命令+/?就可显示命令的详细说明. 比如   ping/?就可知道ping命令的详细使用说明 netstat /?就可知道ping命令的使用说明

  5. Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践

    在撰写这一系列文章的过程中,我总结出了很多最佳实践.在这篇文章中,我介绍了在保护您的WindowsAzure应用程序时需要考虑的更多事项. 下面是一些工具和编码提示与最佳实践: · 在操作系统上运行 ...

  6. Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录

    基于Claim的身份标识是处理网站与 Web 服务的身份认证和访问一种简单而强大的方式,无论您是在本地工作还是面向云工作.您可以通过减少自定义实施和使用基于Claim的单一简化标识模型,创建更安全的应 ...

  7. 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码

    Windows窗体DataGridView控件的性能调优.net 4.5   在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...

  8. 最佳实践:Windows Azure 网站 (WAWS)

     编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Sunitha Muthukrishna 撰写. Windows Azure 网站 (WAWS) 允许您在 Windows ...

  9. Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性

    多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ...

  10. Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施

    那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解? 开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在 Windows Azure 中运行的 ...

随机推荐

  1. tkinter属性--转载Tynam Yang

    一.主要控件 1.Button 按钮.类似标签,但提供额外的功能,例如鼠标掠过.按下.释放以及键盘操作事件 2.Canvas 画布.提供绘图功能(直线.椭圆.多边形.矩形) 可以包含图形或位图 3.C ...

  2. 成像光谱遥感技术中的AI革命:ChatGPT在遥感领域中的应用

    遥感技术主要通过卫星和飞机从远处观察和测量我们的环境,是理解和监测地球物理.化学和生物系统的基石.ChatGPT是由OpenAI开发的最先进的语言模型,在理解和生成人类语言方面表现出了非凡的能力.重点 ...

  3. HarmonyOS远端状态订阅开发实例

     IPC/RPC提供对远端Stub对象状态的订阅机制, 在远端Stub对象消亡时,可触发消亡通知告诉本地Proxy对象.这种状态通知订阅需要调用特定接口完成,当不再需要订阅时也需要调用特定接口取消.使 ...

  4. 《c#高级编程》第4章C#4.0中的更改(八)——协变和逆变

    一.协变 C#协变是指在一些特定的情况下,可以将一个派生类型的实例赋值给其基类或接口类型的引用.这里的"派生类型"指的是从某个基类或接口继承并增加了新的成员的类型. C# 4.0 ...

  5. Spring官方RSocket Broker 0.3.0发布: 快速构建你的RSocket架构

    ​简介:Spring官方的RSocket Broker其实开发已经非常久了,我以为会伴随着Spring Cloud 2021.0发布的,但是没有发生.不过Spring RSocket Broker还是 ...

  6. Flink+Hologres亿级用户实时UV精确去重最佳实践

    简介: Flink+Hologres亿级用户实时UV精确去重最佳实践 UV.PV计算,因为业务需求不同,通常会分为两种场景: 离线计算场景:以T+1为主,计算历史数据 实时计算场景:实时计算日常新增的 ...

  7. [GPT] 哪些职业面临 AI 威胁?

      随着人工智能技术的不断发展和应用,一些重复性.机械化或标准化程度高的职业可能会面临被自动化取代的威胁.例如: 工厂生产线上的装配工人,因为许多工厂已经开始使用自动化机器人完成装配任务: 行政助理, ...

  8. IIncrementalGenerator 解析 ValueTuple 的定义

    本文将告诉大家如何在分析器里面解析代码里面对于 ValueTuple 的定义,包括如何获取 ValueTuple 里面的 Item 的类型和命名 开始之前先创建一个用来被分析的项目,在这个项目里面定义 ...

  9. C# - 自建 SDK 的 API 文档

    在代码中添加 API 文档 用户在使用类库时,通常需要通过 VS 的 Intellisense 或 F12 反编译查看 API 的注释,借助这些注释来了解如何使用 API.在 C# 源文件中,可以通过 ...

  10. Docker的Portainer认识、安装、使用

    一.认识 docker的图形化界面 Portainer 是一个轻量级的容器管理界面,可以让用户更轻松地管理 Docker 容器.镜像.网络和数据卷等.Portainer 提供了一个用户友好的 Web ...