Windows PowerShell 和 Linux BashShell 极简对比-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

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

命令

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

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

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

alias

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

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

PS C:\Users\aa> Get-Alias ls

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

常用命令对比

powershellbashshellpowershell alias
Start-Process<command>start <app path>
Get-ChildItemlsls、dir
Get-Historyhistoryhistory、h
Get-Processpsps
New-Itemtouchni
Remove-Itemrmrm、del
Copy-Itemcpcp、copy
Get-Locationpwdpwd
Get-Helpmanhelp
Write-Output输出内容到管道echoecho、write
Write-Host输出内容到控制台--
Select-Stringgrep-
runassu-

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

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6