更多博文请关注: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. go语言结构体使用小结

    转载请注明出处: 在Go语言中,结构体(struct)是一种复合数据类型,它允许你将多个不同类型的字段组合成一个单一的类型.结构体为数据的封装和抽象提供了便利,使得数据组织更加清晰和易于管理. 结构体 ...

  2. sql 语句系列(列举系列)[八百章之第八章]

    前言 这一张就是就是查询自己设计数据库的结构,对于接收一个老的项目相当重要. 列举模式中的表 查询所以表 select table_name from INFORMATION_SCHEMA.TABLE ...

  3. Spring开发:动态代理的艺术与实践

    本文分享自华为云社区<Spring高手之路17--动态代理的艺术与实践>,作者: 砖业洋__. 1. 背景 动态代理是一种强大的设计模式,它允许开发者在运行时创建代理对象,用于拦截对真实对 ...

  4. React中的setState执行机制

    一.是什么 一个组件的显示形态可以由数据状态和外部参数所决定,而数据状态就是state 当需要修改里面的值的状态需要通过调用setState来改变,从而达到更新组件内部数据的作用 如下例子: impo ...

  5. 【笔记】问题控制与管理&故障、问题、已知错误、变更请求之间的逻辑关系&问题管理流程

    [笔记]问题控制与管理&故障.问题.已知错误.变更请求之间的逻辑关系 问题控制与管理 与故障管理的尽可能快地恢复服多的目标不同,问题管理是要防止再次发生故障 例如你制作了一个报表,用户填写了问 ...

  6. What is an HL7 ADT Message?

    Patient Admission Discharge and Transfer (ADT) messages are used to exchange the patient state withi ...

  7. HarmonyOS NEXT应用开发之多层嵌套类对象监听

    介绍 本示例介绍使用@Observed装饰器和@ObjectLink装饰器来实现多层嵌套类对象属性变化的监听. 效果图预览 使用说明 加载完成后显示商品列表,点击刷新按钮可以刷新商品图片和价格. 实现 ...

  8. 揭秘sealer背后实现整个集群一键交付的奥秘 | 龙蜥技术

    ​简介:解读集群镜像"开箱即用"神器--sealer! 编者按:集群镜像把整个集群看成一台服务器,把 k8s 看成云操作系统,实现整个集群的镜像化打包和交付,为企业级软件提供一种& ...

  9. 10倍性能提升!DLA SQL推出基于Alluxio的数据湖分析加速功能

    简介: 在存储计算分离的场景下,通过网络从远端存储读取数据是一个代价较大的操作,往往会带来性能的损耗.以OSS为例,OSS数据读取延时通常较本地磁盘大很多,同时OSS对单个用户使用的带宽上限做了限制, ...

  10. 带你体验云原生场景下 Serverless 应用编程模型

    ​简介: 阿里云 Knative 基于 ASK 之上,在完全兼容社区 Knaitve 的同时对 FC.ECI 工作负载进行统一应用编排,支持事件驱动.自动弹性,为您提供统一的 Serverless 应 ...