不知道各位有没有接触过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> 

探索PowerShell (三) PowerShell下使用Aliases

细心的童鞋可以发现,Get-ChileItem这个cmdlet拥有多个alias,如:dir、ls、gci。我们可以尝试这些命令,结果都是一样的,如下图:

探索PowerShell (三) PowerShell下使用Aliases

从本质上讲,我们只是运行了四次"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,并且不想失去它,我们怎么办?

  "//img.jbzj.com/file_images/article/201212/201212051451049.png" target=_blank>探索PowerShell (三) PowerShell下使用Aliases

我们可以用notepad.exe看看这个里面都是些什吗东东~~~

探索PowerShell (三) PowerShell下使用Aliases

好了,有人迫不及待的想试试导入了吧~~~

Import-Alias -Path a.txt <enter> 

额~杯具了!!!

探索PowerShell (三) PowerShell下使用Aliases

看起来很惨的样子……

其实如果一个cmdlet存在alias,那么再次导入就会产生这样的杯具。

所以,我们的导出文件,只需要很简单的定义出自己常用的alias即可(那些系统自带的都统统删除就好啦),如:

探索PowerShell (三) PowerShell下使用Aliases

好了,就是这样,嘿嘿嘿,是不是很邪恶~~~看看效果吧:

探索PowerShell (三) PowerShell下使用Aliases

当然,强大的PowerShell不会弱智到让用户每次启动shell时都手动载入aliases一次的。在PowerShell的配置文件中,我们可以进行相关设置。

方法二:使用PowerShell的配置文件

配置文件的位置存储在$Profile变量中,其默认值为:

'My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1″

使用如下命令查看$Profile值:

$Profile 

探索PowerShell (三) PowerShell下使用Aliases

如前所述,PowerShell配置文件是一个扩展名为“.ps1”的文件。所有PowerShell脚本都使用这个扩展名。在此,我将使用记事本对其进行编辑。不过在此之前,还需要检查的PowerShell的执行策略设置。

PowerShell在第一次安装时默认的执行策略是"Restricted",也就是“受限制的”,这意味着PowerShell将不能运行任何脚本和配置文件。

"//img.jbzj.com/file_images/article/201212/2012120514510415.png" target=_blank>探索PowerShell (三) PowerShell下使用Aliases

第3步 再次验证是否成功创建新的配置文件

重复步骤1吧。结果应该为"true”。

探索PowerShell (三) PowerShell下使用Aliases

好了,在记事本中打开配置文件:

notepad $Profile <enter> 

OK!我们现在拥有了一个空白的配置文件,其实可以称之为一个空白脚本。

其文件名为:

“Microsoft.PowerShell_profile.ps1″

现在开始配置吧:

探索PowerShell (三) PowerShell下使用Aliases

好了,现在可以关闭notepad和Powershell了。重新打开PowerShell试试看。

探索PowerShell (三) PowerShell下使用Aliases

完美!


另外需要说明几点,更改PowerShell策略级别时,需要使用管理员权限的,否则……

探索PowerShell (三) PowerShell下使用Aliases 


好了,这一节就到这里。说实话,那几个策略级别的单词真不好记,不过幸好不常用~~~

标签:
PowerShell,Aliases

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“探索PowerShell (三) PowerShell下使用Aliases”
暂无“探索PowerShell (三) PowerShell下使用Aliases”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。