powershell自定义命令别名

news2024/9/22 13:37:14

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、查看命令别名
  • 二、常见的别名
  • 三、自定义别名
    • 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是自定义的。

二、常见的别名

这里给的不一定是全的,但是我上面介绍的命令可以看到每个命令的别名,有些命令也许没别名,也有些命令的别名看起来很别扭,大家根据喜好酌情使用即可。比如,我更喜欢lsll因为我的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的还是感觉很难用,这个地方微软还是做出了妥协的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1950847.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows系统下cython_bbox库的正确安装步骤最简单方法

​ 最近做的项目需要安装cython_bbox包,但是当我天真的输入pip install cython_bbox准备满心欢喜的等待安装成功却发现…,它报错了,这是一个从未见过的、非常长的报错,它长这个样子: ​​ 因此不能直接通过pip安装&am…

每日任务:TCP/IP模型和OSI模型的区别

介绍一下TCP/IP模型和OSI模型的区别? OSI模型由国标准化组织提出,而TCP/IP模型是由美国国防部开发的; OSI模型由七个层次组成,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP模型只有四层…

心动小站Ⅸ--Nvidia一种夸张的增长

当有灭绝级别的威胁时,你希望它如何出现在头版?华尔街日报或 CNN 的新闻中说它即将发生? 大多数新闻都是在灾难发生后才传到你耳中的。谈到人工智能,我们已经收到了很多警告,这些警告来自各个领域的专家,比…

多模态大模型应用中的Q-Former是什么?

多模态大模型应用中的Q-Former是什么? Q-Former是一种新型的神经网络架构,专注于通过查询(Query)机制来改进信息检索和表示学习。在这篇博客中,我们将详细探讨Q-Former的工作原理、应用场景,并在必要时通过…

jquery+bootstrap实现DOM转图片并下载

🍊jquery实现DOM结构转图片并下载 版本介绍: Bootstrap v3.3.7jQuery v3.5.1domToImage.js 根据Bootstrap实现dialog上一步下一步多个弹窗交互进行大肆修改,完善了第二步生成图片的功能与更强的交互 1.、功能说明 重新设置bootstrap主题色 …

JAVA.抽象、接口、内部类

1.抽象 共性,父类定义抽象方法,子类必须重写,或者子类也是抽象类 示例代码 animal package animalabstract;//定义抽象类animal public abstract class animal {String name;int age;//定义抽象方法eat,子类必须重写public abs…

《企业实战分享 · CodeGeeX 初体验》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…

企业级视频拍摄与编辑SDK的全面解决方案

视频已成为企业传播信息、展示品牌、连接用户的重要桥梁,如何高效、专业地制作高质量视频内容,成为众多企业面临的共同挑战。美摄科技,作为视音频技术领域的创新先锋,以其强大的视频拍摄与编辑SDK,为企业量身打造了一站…

react中简单的配置路由

1.安装react-router-dom npm install react-router-dom 2.新建文件 src下新建page文件夹,该文件夹下新建login和index文件夹用于存放登录页面和首页,再在对应文件夹下分别新建入口文件index.js; src下新建router文件用于存放路由配置文件…

【Android】Activity生命周期与五种启动模式

文章目录 生命周期返回栈Activity状态生命周期方法 启动模式standard模式singleTask模式singleTop模式singleInstance模式singleInstancePerTask模式配置方式 生命周期 返回栈 每个Activity的状态由它在Activity栈(又叫“回退栈back stack”)中的位置决…

Web Worker 详细介绍

Web Worker 详细介绍 如果我们有一些处理密集型的任务,但是不想让它们在主线程上运行(那样会使浏览器/UI变慢),这时候我们可能会希望 JavaScript 可以以多线程的方式操作。 虽然 JavaScript 是单线程了,但是在浏览器…

超声波眼镜清洗机哪款好用又实惠?4款高评分眼镜清洗机机型深度测评

眼镜党都知道超声波清洗机吧,每次眼镜脏了,去眼镜店清洗,店员用的就是超声波清洗机。利用超声波的原理,这种清洗机可以深入物品内部进行清洁,效果非常出色。相比手工清洗,超声波清洗机能在清洁过程中保护镜…

远程项目调试-informer2020

informer2020 Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting(原文)Informer 是一个基于Transformer的模型,是为了应对长依赖关系而开发的。本文的主要主题是序列预测。序列预测可以在任何具有不断变化的数据的地方…

做短视频素材哪里找?去哪里下载?自媒体下载素材网站分享

自媒体视频创作:高质量素材网站大公开! 大家好,我是一名热情的短视频创作者。今天,我要与大家分享一些寻找优质视频素材的秘诀。无论是新手还是老手,这些建议都能帮助你的视频在众多平台中脱颖而出,吸引更…

系统移植(四)u-boot移植 ② basic版本

文章目录 一、u-boot移植&#xff08;一&#xff09;生成u-boot源码1. 配置交叉编译器&#xff0c;修改u-boot源码目录下的MAKEFILE文件4. 执行make <board_name>_defconfig命令&#xff0c;配置u-boot源码5. make menuconfig---图形化界面配置6. 根据DK1板子的设备树文件…

ISP 代理提供商:互联网安全的关键参与者

简介&#xff1a;互联网安全的演变态势 互联网改变了我们互动、工作和开展业务的方式&#xff0c;但也带来了与安全性和可访问性相关的重大挑战。在这个数字时代&#xff0c;互联网服务提供商 (ISP) 代理提供商在解决这些问题方面发挥着关键作用。他们提供的基本服务不仅可以增…

PDF解锁网站

https://smallpdf.com/cn/unlock-pdfhttps://smallpdf.com/cn/unlock-pdfhttps://www.freemypdf.comhttps://www.freemypdf.com

LVGL使用上一个不方便的问题记录

slider这个控件&#xff0c;应该画在蓝色框的里面&#xff0c;源码实现将中心画在蓝色框上&#xff0c;导致总会有两边超出的情况出现&#xff0c;真想修改源码&#xff0c;作者不知道咋想的&#xff1f;&#xff1f;&#xff1f;

vue3 Router 点击index中的按钮,查看相应的详情信息,并且传递id,及其路由的定义方法。

1、路由的定义 结构如下: 2、路由定义代码&#xff1a; {path: tabs,name: TabsDemo,component: () > import(/views/demo/feat/tabs/index.vue),meta: {title: t(routes.demo.feat.tabs),hideChildrenInMenu: true,},children: [{path: detail/:id,name: TabDetail,compon…

封装和桥接Unity 协程体系

简介 协程&#xff08;Coroutine&#xff09;在C#中是一种特殊的函数&#xff0c;它允许开发者编写可以暂停执行并在未来某个时刻恢复执行的代码块。协程通常用于实现异步操作&#xff0c;如延时执行、等待某个事件发生、或者分段执行复杂的任务。在Unity游戏引擎中&#xff0c…