Windows PowerShell 和 Linux BashShell 极简对比

声明:本文不会涉及原理,详细的介绍,也不是入门文章。仅仅从使用上进行简单比较

命令

在 bash 中,一个命令是一个单独的进程;而在 PowerShell 中,命令被称为 cmdlets,他们不是独立的可执行程序,他们是一个个可以按需加载的模块。

在 PowerShell 中,命令的命名遵从 Verb-Noun 范式。但是为了降低使用门槛,方便其他 shell 用户上手,其对常用的命令使用 alias 做了兼容。

cmdlets 有两类,一类是使用 C# 编写的模块;一类是使用 PowerShell 命令编写的脚本。

alias

常见的 shell 都支持使用 alias 对命令或命令集合取别名,方便使用。

在 PowerShell 中可以通过 Get-Alias <command> 获取某个命令的别名。

powershell 复制代码
PS C:\Users\aa> Get-Alias ls

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           ls -> Get-ChildItem

常用命令对比

powershell bashshell powershell alias
Start-Process <command> start <app path>
Get-ChildItem ls ls、dir
Get-History history history、h
Get-Process ps ps
New-Item touch ni
Remove-Item rm rm、del
Copy-Item cp cp、copy
Get-Location pwd pwd
Get-Help man help
Write-Output(输出内容到管道) echo echo、write
Write-Host(输出内容到控制台) - -
Select-String grep -
runas su -

runas 命令用于切换用户,例如系统中有一个账户 zhangsan,想以这个账户身份打开一个 shell,那么可以这样做 runas /user:zhangsan "powershell",这样会用 zhangsan 这个账户打开一个 powershell。

相关推荐
A10086121219 小时前
ShellCrash 安装与配置踩坑与解决日志
windows
石像鬼₧魂石9 小时前
192.168.1.4(Windows 靶机)渗透测试练习全流程(详细步骤)
windows·学习
yaoxin52112310 小时前
237. Java 集合 - 对 List 元素进行排序
java·windows
yaoxin52112310 小时前
236. Java 集合 - 使用索引访问 List 元素
java·windows·list
DY009J10 小时前
如何在Ubuntu虚拟机中设置Samba共享,并在Windows宿主机中挂载为网络驱动器
网络·windows·ubuntu
怣疯knight10 小时前
搜狗输入法在vecode中打出的是繁体,在其他软件打出的都是简体的解决办法
windows
hello_fracong14 小时前
PostgreSQL (零-1) Windows安装PostgreSQL
数据库·windows·postgresql
天地之于壹炁兮16 小时前
元素认证的智慧:Python分支魔法的艺术与禁忌
windows·python
q***518917 小时前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
胡八一19 小时前
Windows 7 运行 .NET 应用时报错“hostfxr.dll 加载失败 (HRESULT: 0x80070057)”的彻底解决指南
windows·.net