不知道各位有没有接触过linux,我才疏学浅,对alias的认识是从linux上来的。Linux常用的Bash命令也是有上百个,虽然一般情况下命令都非常简短,不过很多时候需要大量的却是大量的参数,这样,对很多初学者来说,背命令变成为最头疼的事情,也使得很多Linux初学者望而生畏。因此,在linux下,很常用的就是alias,也就是别名。当然,PowerShell很好的借鉴了这一点。
这一节就来介绍PowerShell下的Aliases。
在PowerShell中,为了习惯于使用,可以使用别名代替命令。例如,Windows老手可以利用像dir、move、type、cls等,当然,为了吸纳更多使用者,PowerShell还提供了对Linux的别名设置,如:ls、pwd、mv、man、cat等。
为PowerShell设置别名的目的,是为了向新用户提供一个能够快速交互的shell。这里的alias,指的是cmdlet的替代名称。例如,"dir”替代的是"Get-ChildItem”。
在这一节,将介绍两种类型的alias:
内置的别名
适用于Windows,Unix和预定义的PowerShell cmdlet的替代名称。
使用以下命令来浏览PowerShell的alias列表:
get-alias <enter>
细心的童鞋可以发现,Get-ChileItem这个cmdlet拥有多个alias,如:dir、ls、gci。我们可以尝试这些命令,结果都是一样的,如下图:
从本质上讲,我们只是运行了四次"get-chileitem"。内置别名的存在,使得我们在shell中工作时更加顺手而高效。不过说实在的,作为用户,我们没有必要多多的关注一个cmdlet都有哪些alias,我们只要用好自己习惯的就行了。
用户自定义的PowerShell的Alias
设置alias的命令
例:为名为'get-service”的cmdlet定义一个alias
Set-Alias gs Get-Service <enter>
相当简单的语法,没有什么可多说的。
使用以上命令为你的cmdlet定义alias确实很容易,不过存在一个问题,就是这个alias只对当前处于会话期的PowerShell有效,也就是说,当你关闭并重新打开PowerShell时,输入这条alias,PowerShell会很无情的告诉你 “The term ‘gs' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.”
那么,当我们创建了一个Alias,并且不想失去它,我们怎么办?
• 有两种选择:
导入和导出PowerShell的Aliases;
使用PowerShell配置文件来自定义Alias。
方法一:导入和导出PowerShell的Aliases
导出Aliases的一个好处就是,你可以将它带到任何一个你想使用的地方。其命令如下<导出文件名自定义>:
新闻热点
疑难解答