探索PowerShell (三) PowerShell下使用Aliases_PowerShell

不知道各位有没有接触过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的一个好处就是,你可以将它带到任何一个你想使用的地方。其命令如下<导出文件名自定义>:


Export-Alias -Path a.txt <enter> 

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

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


Import-Alias -Path a.txt <enter> 

额~杯具了!!!

看起来很惨的样子……

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

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

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

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

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

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

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

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


$Profile 

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

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

• PowerShell的执行策略分级:

        Restricted - 不能运行任何脚本和配置文件

        AllSigned - 所有脚本和配置文件必须拥有受信任的发布者的签名

        RemoteSigned - 所有脚本和配置文件从可以是互联网上下载,但必须拥有受信任的发布者的签名

        Unrestricted - 所有脚本和配置文件都将运行,从互联网上下载的脚本在运行前会有提示。

使用如下cmdlet查看当前所处的策略级别:


Get-ExecutionPolicy <Enter> 

修改策略级别为Unrestricted:


Set-ExecutionPolicy Unrestricted <enter>   

好的,我们现在来对$Profile进行配置。

• 第1步 验证$Profile是否存在


test-path $Profile <Enter> 

false ===> 配置文件不存在(继续步骤2)。
true ===> 不多说了,直接跳过步骤2和3吧。除非你想创建一个新的配置文件,不过这将删除当前的配置文件。

• 第2步 创建一个新的配置文件

New-Item -Path $Profile -ItemType file -Force <enter> 

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

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

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


notepad $Profile <enter> 

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

其文件名为:

“Microsoft.PowerShell_profile.ps1″

现在开始配置吧:

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

完美!



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

 



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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索powershell
Aliases
powershell cpu使用率、如何使用powershell、powershell 使用、powershell无法使用、powershell 使用教程,以便于您获取更多的相关知识。

时间: 2024-10-04 06:49:34

探索PowerShell (三) PowerShell下使用Aliases_PowerShell的相关文章

探索PowerShell (四) PowerShell的对象、格式与参数_PowerShell

今天贴博文晚了,感谢各位能继续关注! 本节将要给大家介绍一下PowerShell下的对象,基本格式以及参数.依然属于PowerShell的基础. PowerShell中的对象 在本教程开篇我们说过,PowerShell是基于面向对象化的,不像传统的shell那样基于文本.这其中最主要的原因就是因为Win平台在管理操作上主要以面向对象为主,因此为了符合系统特点和我们的操作习惯,PowerShell也继承了这一特色.因此,不像传统的shell,在PowerShell中,我们可以随意地与对象进行互动,

探索PowerShell (二) PowerShell的基本操作_PowerShell

PowerShell控制台 打开PowerShell,显示如下界面: 命令提示符前缀为: PS C:\Users\MaRui>  PS的意思为正在运行PowerShell中,而C:则是我的主目录驱动器号,不同机器会有所不同. 最最最基本的操作与cmd.dos.sh等相同. cmdlet命令 虽然有超过一百条新的PowerShell命令需要去学习,但是,与大多数命令行界面一样,PowerShell命令已经被标准化.它使用"动词-名词"的命名形式作为一个cmdlet命令.该标准大大降

Android艺术开发探索第三章————View的事件体系(下)

Android艺术开发探索第三章----View的事件体系(下) 在这里就能学习到很多,主要还是对View的事件分发做一个体系的了解 一.View的事件分发 上篇大致的说了一下View的基础知识和滑动,现在我们再来聊聊一个比较核心的知识点,那就是事件分发了,而且他还是一个难点,我们更加应该掌握,View的滑动冲突一直都是很苦恼的,这里,我们就来一起探索一下 1.点击事件的传递规则 我们分析的点击事件可不是View.OnClickListener,而是我们MotionEvent,即点击事件,关于M

Docker在英雄联盟游戏中的实践探索(三)

本文讲的是Docker在英雄联盟游戏中的实践探索(三),[编者的话]这篇博客是Riot的Docker实践系列博客的第三篇,主要讨论了Docker中的数据持久化,并详细介绍了如何使用数据卷容器来持久化Jenkins的日志文件. 在上一篇博客中,我们讨论了如何基于Cloudbees镜像来编写自己的Dockerfile,从而更好地控制Jenkins Docker镜像.通过Dockerfile,我们可以设置一些基本的默认值,不需要每次将它们作为docker run的参数了.我们也可以定义Jenkins的

Android艺术开发探索第三章——View的事件体系(上)

Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 MotionEvent和TouchSlop VelocityTracker,GestureDetector和Scroller View的滑动 使用scrollTo/scrollBy 使用动画 改变布局参数 各种滑动方式的对比 弹性滑动 使用Scroller 通过动画' 使用延时策略 这章的概念偏自定义View方

JS触发方法事件,三个下拉框,其中任意两个有值,第三个改变时触发,

问题描述 JS触发方法事件,三个下拉框,其中任意两个有值,第三个改变时触发, JS触发方法事件,三个下拉框,其中任意两个有值,第三个改变时触发, 解决方案 3个select的事件都判断下是否都有值了,有了就执行相关代码 if(sel1.value!=''&&sel2.value!=''&&sel3.value!=''){ //..... } 解决方案二: JS改变input的value值不触发onchange事件解决方案 解决方案三: 你这是什么意思?任意两个有值?第三个改

ios-IOS tabbed模版有用过的么?想知道怎么添加第三个下导航,或者其余设置导航的方法

问题描述 IOS tabbed模版有用过的么?想知道怎么添加第三个下导航,或者其余设置导航的方法 需要下导航,在网上找了许多tabbed模版添加thridView的方法,但是弄完都报错,可能跟xcode7有关,有大神能解答么 解决方案 已经找到了解决办法,在csdn上下载了示例代码,解决了我的问题,正在往项目里添加,下一个问题就是topbar了,希望我一个月之内能够完成电商.

SNW 2014中国大会以“第三平台下的新存储”主题

SNW 2014中国大会即将召开 类型:转载 作者:计世网 时间:2014-05-04 14:26:52 由全球网络存储工业协会(SNIA)和计算机世界报社共同主办的"SNW 2014中国"大会将于2014年6月19日在北京召开.本届大会以"第三平台下的新存储"主题,将邀请国际.国内的存储专家和IT分析师做大会主题演讲,全面阐释大数据和云计算新的发展趋势,软件定义数据中心.融合基础架构以及存储领域创新技术也将成为重点话题.同时,业内领先的存储厂商将在会上展示其先进的

马云、马化腾、马明哲,三马震中华;保险、大数据、互联网,三剑下天山

上联:马云.马化腾.马明哲,你来我往刀光剑影,三马震中华 下联:保险.大数据.互联网,你中有我我中有你,三剑下天山 横批:众安保险/互联网金融 能够同时请到复星集团董事长郭广昌.复旦大学校长杨玉良,以及传说中的复旦双胞胎姐妹花为其站台,这就是今天下午"三马齐聚一堂"的魅力之所在.三马齐聚一堂,自然是讨论筹备已久的"众安保险",传说中的中国第一家"互联网保险公司"."互联网保险公司"并不是将保险拿到淘宝上去卖,而是针对互联网这个