在Powershell中创建永久的别名alias

一、事件起源

长期使用Linux的人都会创建一个alias也就是别名,这样可以避免输入很长的命令,或者更高效的输入命令。我特别喜欢的一个别名是用 ll 命令代替 ls 命令,如果没有别名,那么就会出现:

我想要实现的效果是,打开PowerShell后输入ll命令,立刻就显示当前目录下的文件。

二、 准备工作

为了实现打开PowerShell就立即加载自定义的配置,那么首先需要了解PowerShell的配置文件加载方式。

对于Powershell来说,有一个变量 Profile 定义了Powershell启动时默认加载的配置文件,查看变量的方法: Get-Variable Profile

注意,虽然有这个变量,但是不代表这个文件真的存在(甚至上层文件夹都不存在),查看这个文件是否存在方法:Test-Path $profile

上面返回的 False 代表这个路径不存在(一般该文件在没有单独创建之前都是不存在的),创建这个路径的方法:New-Item -Type file -Force $profile

创建完成后再次进行测试:

三、 添加别名到$Profile 中

上一步刚创建完Profile所以配置文件中内容自然是空的,我们可以通过两种方式验证:

将别名配置添加到Profile变量指向的配置文件中,可以使用notepad进行编辑。 这里为了演示方便,所以使用命令行进行操作,执行命令: Add-Content $Profile 'Set-Alias ll ls'

四、 PowerShell执行策略引发的权限问题

其实上一步已经完成了所有步骤,但是PowerShell处于安全的考虑,已经禁止了启动时候自动加载脚本文件的功能,错误如下:

所以我们可能需要对PowerShell的执行权限进行稍微修改。

4.1. PowerShell默认的执行策略

PowerShell执行策略可以通过Get-ExecutionPolicy -List 命令获取, 默认的策略如下:

4.2. 更改PowerShell的执行策略

修改PowerShell执行策略必须使用管理员权限来操作,命令

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine

执行效果:

修改完后,通过普通用户身份即可查看更新后的策略:

五、 更改完成的效果

更改完成后,启动PowerShell直接执行ll命令,可以完成ls一样的效果:

六、 异常问题补充说明

6.1. 普通权限试图修改执行策略

当使用普通用户身份修改PowerShell执行策略时,报错如下:

6.2. 将执行策略恢复成默认值

如果想要把执行策略更改会默认值,方法也比较简单:

Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine

当然也必须以管理员身份运行,执行效果如下:

七、 其他参考资料

额外参考资料如下:

  1. Windows执行策略文档: https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2

  1. Windows的别名文档:https://learn.microsoft.com/en-us/powershell/scripting/learn/shell/using-aliases?view=powershell-7.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值