前言

使用alias命令创建命令别名,是Bash的一个基本功能;别名有两种形式,一种暂时的,Linux重启后失效。另外一种永久的通过该配置文件实现

使用更改别名

临时

命令格式:alias 别名=‘原命令’  设定命令别名

例子:alias vi=’vim‘  vi编辑文件进去没有颜色高亮,vim编辑文件有颜色高亮功能。因为我习惯了用vi文件命令,但是又想文件编辑时有高亮功能。这个命令就可以实现

踩坑点:别名、=号、命令之间不能有空格;命令用单引号''引起来

备注:光输入alias可以查看系统当中默认已经生效的别名;想要删除临时别名通过命令unalias vi(别名的名称)

永久

通过修改配置文件,配置文件是用户家下的.bashrc文件

  • vi .bashrc 增加别名项
  • alias vi='vim'

 备注

  • 系统再次重启后新增的别名永久生效;
  • 想不重启,立即生效怎么办。通过命令【source .bashrc】重新加载配置文件即可
  • 想删除永久别名怎么办,unalias?这个方法是不行的,得去配置文件删除添加的别名即可;重启或重新加载配置文件即可生效

思考

我刚刚新增了一个别名命令vi,执行的是vim命令的功能。这个别名vi和shell自带的vi名字一样,谁的优先级更高?会不会有什么影响???接着往下看....

命令生效顺序

  • 第一顺位执行绝对路径或者相对路径的命令,你执行指定路径命令,没毛病,肯定第一位
  • 第二顺位执行别名
  • 第三顺位执行Bash的内部命令,如何查看哪些是Bash的内部命令,通过whereis判断,之前文章有讲

  • 第四顺位执行按照$PATH环境变量设置定义的目录顺序的第一个命令,自己配置的环境变量,比如你自己配置的java环境变量

看完后,相信思考模块中,大家的疑惑点就解决了

Shell系列(3)- 命令别名的更多相关文章

  1. BSA Network Shell系列-nexec命令

    # nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...

  2. BSA Network Shell系列-nsh命令

    nsh nsh命令软链接到zsh,直接运行nsh可进入Network Shell,所有的Network Shell命令都需要运行nsh进入Network Shell执行 1 使用cd命令访问远程主机和 ...

  3. BSA Network Shell系列-redi命令

    redi ## 1 功能概述 redi将输出重定向到一个文件中 ## 2 语法 redi [-?] [-a] filename ## 3 使用示例 1 将输出重定向到隐式路径所在主机的/tmp/hah ...

  4. BSA Network Shell系列-scriptutil命令

    scriptutil ## 1 功能概述 scriptutil复制脚本到远程机的某个目录,然后在该目录执行脚本. 它的优点就是脚本是non-NSH的脚本.不支持NSH命令,执行起来的效果和runscr ...

  5. BSA Network Shell系列-nlogin命令

    nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...

  6. BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同

    说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...

  7. 鸟哥的私房菜:Bash shell(三)-命令别名与历史指令

    一  命令别名设定: alias, unalias 命令别名是一个很有趣的东西,特别是你的惯用指令特别长的时候!还有, 增设预设的属性在一些惯用的指令上面,可以预防一些不小心误杀档案的情况发生的时候! ...

  8. shell基础之脚本执行,命令别名以及快捷键等

    脚本执行方式 比如我们在/root/下编写了一个脚本,名字为hello.sh.那么怎么调用执行它呢?有两种办法: (1)直接通过bash,如下: bash  hello.sh 注:采用bash执行脚本 ...

  9. Linux Shell系列教程之(八)Shell printf命令详解

    本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell p ...

随机推荐

  1. netty系列之:内置的Frame detection

    目录 简介 Frame detection DelimiterBasedFrameDecoder FixedLengthFrameDecoder LengthFieldBasedFrameDecode ...

  2. DVWA靶场之XSS(Reflected)通关

    反射型xss Low: <?php header ("X-XSS-Protection: 0"); // Is there any input? if( array_key_ ...

  3. BuildPack 打包

    无需 dockerfile,使用 buildpacks 打包镜像 书接上文,聪明如你已经发现项目中没有定义 dockerfile,但我们依然能打镜像,是如何做到的呢?正如上面提到的 gradle 的 ...

  4. 题解 Medium Counting

    传送门 又是神仙DP 发现如果只有两个串就很好做了 于是这个神仙DP定义就从这里下手:令 $dp[p][c][l][r] 表示在 \([s_l, s_r]\) 这段字符串中,考虑从第 \(p\) 个位 ...

  5. docker开源系统监控软件Nagios

    开源的系统监控软件 下面整理了3个: 1.Zabbix 2.Nagios 3.Open-Falcon 这位博主进行的完整的介绍: https://www.cnblogs.com/linuxandy/p ...

  6. 在JavaScript中安全访问嵌套对象

    大多数情况下,当我们使用JavaScript时,我们将处理嵌套对象,并且通常我们需要安全地访问最里面的嵌套值. 比如: const user = { id: 101, email: 'jack@dev ...

  7. C#录音从声卡

    原文   http://stackoverflow.com/questions/18812224/c-sharp-recording-audio-from-soundcard 我想从我的声卡(输出)录 ...

  8. C# 通过反射获取特性的值

    特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签.您可以通过使用特性向程序添加声明性信息.一个声明性标签是通过放置在它所应用的元素前 ...

  9. clojure配置

    1.转换clojure工程为eclipse工程 Install Counterclockwise plugin in Eclipse (from eclipse marketplace). This ...

  10. Spring之JDBC Template

    时间:2017-2-5 18:16 --Spring对不同持久化技术的支持Spring为各种支持的持久化技术都提供了简单操作的模板和回调.ORM持久化技术:    JDBC:        org.s ...