Windows也能拥有好用的命令行吗?Powershell+Terminal折腾记录(v1.0版本)

PS:本文写于2021年,现在已经是2024年,有了很多新变化,我在接下来的文章里会继续更新。

前言

Windows一向以图形化操作入门容易著称,所以对于命令行的支持一直为人所诟病,比起Linux或者mac都是被吊打的。这一局面在最近几个版本的Windows10更新里,特别是微软官方出了WindowsTerminal这个大杀器之后有所改善~

所以对于标题的这个问题,只能说「勉强可以吧」,本文介绍几个折腾命令行的方法。

效果图

偷一张官方的截图,应该没人发现吧

建议先熟读官方文档:https://docs.microsoft.com/zh-cn/windows/terminal/

软件包管理器 Scoop

不用羡慕Linux上好用的apt和yum,Windows上也有不错的软件包管理器,比如chocolate、官方的win-get,还有本文介绍的scoop,相比起chocol ate,scoop的软件包仓库都是社区维护开源的,安全性更有保障,并且比官方的win-get多很多~ 不够可以自己添加软件源,就像apt的PPA源。

官网:https://scoop.sh/

安装:

复制代码
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex

oh-my-posh & powerline

用过oh-my-zsh的同学就知道这个oh-my-xxx的项目了~ Windows上自然不能少~

地址: https://ohmyposh.dev/docs/

首先下载powerline字体并安装,These fonts can be installed from the Cascadia Code GitHub releases page.

输入命令安装powershell插件,post-git需要git支持,If you don't already have it, install Git for Windows.

复制代码
Install-Module posh-git -Scope CurrentUser
Install-Module oh-my-posh -Scope CurrentUser

Open your PowerShell profile with notepad $PROFILE,输入以下内容:

复制代码
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Paradox

打开terminal配置,修改字体,for example:

json 复制代码
{
    // Make changes here to the powershell.exe profile.
    "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
    "name": "Windows PowerShell",
    "commandline": "powershell.exe",
    "fontFace": "Cascadia Code PL",
    "hidden": false
},

配置完的效果:

参考资料:https://docs.microsoft.com/en-us/windows/terminal/tutorials/powerline-setup

使用sudo(gsudo)

在用Windows的powershell的时候,有时一些操作是需要管理员权限的,但是不像Linux那么方便,一句sudo命令即可提权,Windows往往需要右键点击开始菜单,选择powershell的管理员模式。

麻烦不说,还可能导致心急的同学砸键盘

不过办法总比困难多,这不有了开源的gsudo,可以在Windows方便提权,安装方法如下~

安装:

复制代码
PowerShell -Command "Set-ExecutionPolicy RemoteSigned -scope Process; iwr -useb https://raw.githubusercontent.com/gerardog/gsudo/master/installgsudo.ps1 | iex"

装完就可以直接在powershell里使用sudo命令提权了,同时可以在Terminal里添加一个管理员权限的标签卡,看看怎么配置

在terminal的配置文件中添加一项:

json 复制代码
"list": [
  {
      "guid": "{41dd7a51-f0e1-4420-a2ec-1a7130b7e950}",
      "name": "Windows PowerShell Elevated",
      "commandline": "gsudo.exe powershell.exe",
      "hidden": false,
      "colorScheme": "Solarized Dark",
      "fontFace": "Fira Code",
      "icon" : "https://i.imgur.com/Giuj3FT.png"
  },
  //...
]

参考资料

相关推荐
cpsvps_net11 小时前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋11 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cpsvps14 小时前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
网硕互联的小客服16 小时前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix17 小时前
implement copy file content to clipboard on Windows
windows·stm32·单片机
许泽宇的技术分享17 小时前
Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
windows·自动化·.net
非凡ghost18 小时前
AMS PhotoMaster:全方位提升你的照片编辑体验
windows·学习·信息可视化·软件需求
mortimer20 小时前
一次与“顽固”外部程序的艰难交锋:subprocess 调用exe踩坑实录
windows·python·ai编程
gameatp1 天前
从 Windows 到 Linux 服务器的全自动部署教程(免密登录 + 压缩 + 上传 + 启动)
linux·服务器·windows
穷人小水滴1 天前
在 windows 运行 flatpak 应用 (WSL)
linux·windows·ubuntu