Windows系统命令行的最佳实践
更多博文请关注: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 安装自动提示插件
下载自动补全插件至
oh-my-zsh的插件目录中~/.oh-my-zsh/custom/pluginsgit clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
编辑
~/.zshrc文件,注册插件:plugins=(zsh-autosuggestions)
重新加载
~/.zshrcsource ~/.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系统命令行的最佳实践的更多相关文章
- Windows系统命令行下编译连接C/C++源代码方法
Windows系统下编译连接源代码方法:cl -GX test.c-GX: 启动同步异常处理上面的命令会产生可执行程序:test.exe在命令行中直接输入:test.exe 就可运行该程序 Tips: ...
- 高级安全Windows防火墙概述以及最佳实践
本文简单介绍Windows防火墙的概念,给出使用场景并列出了常见的防火墙操作. 简介 在Windows NT6.0之后微软推出了高级安全Windows防火墙(简称WFAS),高级安全Windows防火 ...
- Windows系统命令行net user命令用法
在Windows渗透测试过程中,最常用的要数net user 命令了,但是非常多的时候我们都是对Linux命令非常熟悉,对Windows命令非常熟悉或者了解用法的少只有少,为了以后工作方便,这里记录一 ...
- windows系统命令行
使用 命令+/?就可显示命令的详细说明. 比如 ping/?就可知道ping命令的详细使用说明 netstat /?就可知道ping命令的使用说明
- Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践
在撰写这一系列文章的过程中,我总结出了很多最佳实践.在这篇文章中,我介绍了在保护您的WindowsAzure应用程序时需要考虑的更多事项. 下面是一些工具和编码提示与最佳实践: · 在操作系统上运行 ...
- Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
基于Claim的身份标识是处理网站与 Web 服务的身份认证和访问一种简单而强大的方式,无论您是在本地工作还是面向云工作.您可以通过减少自定义实施和使用基于Claim的单一简化标识模型,创建更安全的应 ...
- 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码
Windows窗体DataGridView控件的性能调优.net 4.5 在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...
- 最佳实践:Windows Azure 网站 (WAWS)
编辑人员注释:本文章由 Windows Azure 网站团队的项目经理Sunitha Muthukrishna 撰写. Windows Azure 网站 (WAWS) 允许您在 Windows ...
- Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
多种Windows Azure服务可以帮助您将应用程序安全性扩展到云. 有三种服务可提供多个提供程序之间的身份标识映射.内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处). ...
- Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解? 开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在 Windows Azure 中运行的 ...
随机推荐
- go语言结构体使用小结
转载请注明出处: 在Go语言中,结构体(struct)是一种复合数据类型,它允许你将多个不同类型的字段组合成一个单一的类型.结构体为数据的封装和抽象提供了便利,使得数据组织更加清晰和易于管理. 结构体 ...
- sql 语句系列(列举系列)[八百章之第八章]
前言 这一张就是就是查询自己设计数据库的结构,对于接收一个老的项目相当重要. 列举模式中的表 查询所以表 select table_name from INFORMATION_SCHEMA.TABLE ...
- Spring开发:动态代理的艺术与实践
本文分享自华为云社区<Spring高手之路17--动态代理的艺术与实践>,作者: 砖业洋__. 1. 背景 动态代理是一种强大的设计模式,它允许开发者在运行时创建代理对象,用于拦截对真实对 ...
- React中的setState执行机制
一.是什么 一个组件的显示形态可以由数据状态和外部参数所决定,而数据状态就是state 当需要修改里面的值的状态需要通过调用setState来改变,从而达到更新组件内部数据的作用 如下例子: impo ...
- 【笔记】问题控制与管理&故障、问题、已知错误、变更请求之间的逻辑关系&问题管理流程
[笔记]问题控制与管理&故障.问题.已知错误.变更请求之间的逻辑关系 问题控制与管理 与故障管理的尽可能快地恢复服多的目标不同,问题管理是要防止再次发生故障 例如你制作了一个报表,用户填写了问 ...
- What is an HL7 ADT Message?
Patient Admission Discharge and Transfer (ADT) messages are used to exchange the patient state withi ...
- HarmonyOS NEXT应用开发之多层嵌套类对象监听
介绍 本示例介绍使用@Observed装饰器和@ObjectLink装饰器来实现多层嵌套类对象属性变化的监听. 效果图预览 使用说明 加载完成后显示商品列表,点击刷新按钮可以刷新商品图片和价格. 实现 ...
- 揭秘sealer背后实现整个集群一键交付的奥秘 | 龙蜥技术
简介:解读集群镜像"开箱即用"神器--sealer! 编者按:集群镜像把整个集群看成一台服务器,把 k8s 看成云操作系统,实现整个集群的镜像化打包和交付,为企业级软件提供一种& ...
- 10倍性能提升!DLA SQL推出基于Alluxio的数据湖分析加速功能
简介: 在存储计算分离的场景下,通过网络从远端存储读取数据是一个代价较大的操作,往往会带来性能的损耗.以OSS为例,OSS数据读取延时通常较本地磁盘大很多,同时OSS对单个用户使用的带宽上限做了限制, ...
- 带你体验云原生场景下 Serverless 应用编程模型
简介: 阿里云 Knative 基于 ASK 之上,在完全兼容社区 Knaitve 的同时对 FC.ECI 工作负载进行统一应用编排,支持事件驱动.自动弹性,为您提供统一的 Serverless 应 ...