提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、查看命令别名
- 二、常见的别名
- 三、自定义别名
- 1.GUI编辑
- 2.命令行编辑
- 总结
前言
有时候在windows上使用powershell时候常常苦于别名问题,像我这样的习惯Linux的命令的人感觉很别扭,所幸powershell自己内置了一些别名,但是还远远不够,特别是我希望定义一些和Linux上几乎一样的命令比如mkdir(powershell内置叫md)、mv(powershell内置叫move)这一类的就需要手动操作了。
一、查看命令别名
很简单,使用下面的命令即可:
help Get-ChildItem
ALIASES
gci
ls
dir
ll
有点类似于Unix上的ls这个命令,直接看输出中的ALIASES选项就行了,一般在help的最下方,这里说明这个命令有好几个别名,这些别名有个共性:他们执行的效果是一样的。
像Get-ChildItem这种命令的别名除了ll其它都是内置的,ll是自定义的。
二、常见的别名
这里给的不一定是全的,但是我上面介绍的命令可以看到每个命令的别名,有些命令也许没别名,也有些命令的别名看起来很别扭,大家根据喜好酌情使用即可。比如,我更喜欢ls
或ll
因为我的Unix习惯
,这让我无缝切换,如鱼得水。
上表中的别名有些powershell和unix是一样的,比如cd、rm等等;有些不一样,比如mv和move,md和mkdir,如果你经常在Windows和Unix之间切换那绝对头大,这个时候我们只要略施小计就可以统一别名,让Windows上有Unix的飘逸或者Unix上有Windows的飘逸,这两者没什么差别。
虽然不能做到100%一样,但是可以节省很多时间在命令切换上。
三、自定义别名
终于到这一步了,我这里使用的是powershell7,powershell2可能略有差别,但是我个人还是喜欢powershell7,所以所有的都是基于7的。
我们要找到配置文件,然后去添加别名,输入下面的命令会显示powershell的配置文件路径:
$PROFILE
#我的路径
C:\Users\anold\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
输出的是我的路径,每个人的不一样,但是没关系,它基本是固定的目录。修改也很简单,要么用命令,要么找到那个目录双击配置文件。
1.GUI编辑
这个太简单了,这里不详细说了。找到那个配置文件,鼠标放上去右键随便选择一个文本管理器打开即可。
2.命令行编辑
notepad.exe $PROFILE
上面的命令是使用电脑自带的记事本软件
编辑,切记,记事本软件可以卸载的,你要是没有这个软件这个命令对你无效,你也可以用诸如notepad++一类的,反正只要是能编辑文本的软件都行
。
打开之后长这样:
# Import the Chocolatey Profile that contains the necessary code to enable
# tab-completions to function for `choco`.
# Be aware that if you are missing these lines from your profile, tab completion
# for `choco` will not function.
# See https://ch0.co/tab-completion for details.
$ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
if (Test-Path($ChocolateyProfile)) {
Import-Module "$ChocolateyProfile"
}
Set-Alias -Name ll -Value Get-ChildItem
注意:我的配置是原生配置,没有修改过的,如果你安装了其它模组可能不是这样的,不过不影响配置。
现在看到了吧ll
这个命令是自定义
的,如果我们注释掉再执行help Get-ChildItem
那就没ll
这个选项了,同样的我们在这里自定义的一切都会追加到指定的命令的别名列表里
。
你只需要按照下面写就行了,配完之后记得重新打开一个powershell窗口
。
Set-Alias -Name mv -Value Move-Item
Set-Alias -Name mkdir -Value New-Item
Set-Alias -Name:
指定的别名
-Value:
后面跟着要设置别名的cmdlet
这个时候Move-Item
就多一个mv
的别名,New-Item
就多了个mkdir
的别名。效果其实跟Unix就差不多了,至少最基础的用法是共通的。比如下面的命令:
mv test.txt test1.txt
但是不要等同视之,因为他们的附加参数
终究是不一样的,权限管理方式
也是截然不同的,所以如何使用还是需要自己摸索。
help Move-Item
ALIASES
mi
move
mv
mv的蓝色是网页强调的,不是powershell给的。
总结
1、到了这里基本上别名的基础用法就结束了,复杂的用法以后有机会再说
2、就算加了别名也不代表他们的用法完全一致,不要陷进去
3、我觉得是能提升效率的,感觉powershell一直在尝试从unix中吸收一些东西,至少习惯了unix的人第一次使用powershell的还是感觉很难用,这个地方微软还是做出了妥协的。