Shell系列(3)- 命令别名
前言
使用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)- 命令别名的更多相关文章
- BSA Network Shell系列-nexec命令
# nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...
- BSA Network Shell系列-nsh命令
nsh nsh命令软链接到zsh,直接运行nsh可进入Network Shell,所有的Network Shell命令都需要运行nsh进入Network Shell执行 1 使用cd命令访问远程主机和 ...
- BSA Network Shell系列-redi命令
redi ## 1 功能概述 redi将输出重定向到一个文件中 ## 2 语法 redi [-?] [-a] filename ## 3 使用示例 1 将输出重定向到隐式路径所在主机的/tmp/hah ...
- BSA Network Shell系列-scriptutil命令
scriptutil ## 1 功能概述 scriptutil复制脚本到远程机的某个目录,然后在该目录执行脚本. 它的优点就是脚本是non-NSH的脚本.不支持NSH命令,执行起来的效果和runscr ...
- BSA Network Shell系列-nlogin命令
nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...
- BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同
说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...
- 鸟哥的私房菜:Bash shell(三)-命令别名与历史指令
一 命令别名设定: alias, unalias 命令别名是一个很有趣的东西,特别是你的惯用指令特别长的时候!还有, 增设预设的属性在一些惯用的指令上面,可以预防一些不小心误杀档案的情况发生的时候! ...
- shell基础之脚本执行,命令别名以及快捷键等
脚本执行方式 比如我们在/root/下编写了一个脚本,名字为hello.sh.那么怎么调用执行它呢?有两种办法: (1)直接通过bash,如下: bash hello.sh 注:采用bash执行脚本 ...
- Linux Shell系列教程之(八)Shell printf命令详解
本文是Linux Shell系列教程的第(八)篇,更多shell教程请看:Linux Shell系列教程 在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell p ...
随机推荐
- netty系列之:内置的Frame detection
目录 简介 Frame detection DelimiterBasedFrameDecoder FixedLengthFrameDecoder LengthFieldBasedFrameDecode ...
- DVWA靶场之XSS(Reflected)通关
反射型xss Low: <?php header ("X-XSS-Protection: 0"); // Is there any input? if( array_key_ ...
- BuildPack 打包
无需 dockerfile,使用 buildpacks 打包镜像 书接上文,聪明如你已经发现项目中没有定义 dockerfile,但我们依然能打镜像,是如何做到的呢?正如上面提到的 gradle 的 ...
- 题解 Medium Counting
传送门 又是神仙DP 发现如果只有两个串就很好做了 于是这个神仙DP定义就从这里下手:令 $dp[p][c][l][r] 表示在 \([s_l, s_r]\) 这段字符串中,考虑从第 \(p\) 个位 ...
- docker开源系统监控软件Nagios
开源的系统监控软件 下面整理了3个: 1.Zabbix 2.Nagios 3.Open-Falcon 这位博主进行的完整的介绍: https://www.cnblogs.com/linuxandy/p ...
- 在JavaScript中安全访问嵌套对象
大多数情况下,当我们使用JavaScript时,我们将处理嵌套对象,并且通常我们需要安全地访问最里面的嵌套值. 比如: const user = { id: 101, email: 'jack@dev ...
- C#录音从声卡
原文 http://stackoverflow.com/questions/18812224/c-sharp-recording-audio-from-soundcard 我想从我的声卡(输出)录 ...
- C# 通过反射获取特性的值
特性(Attribute)是用于在运行时传递程序中各种元素(比如类.方法.结构.枚举.组件等)的行为信息的声明性标签.您可以通过使用特性向程序添加声明性信息.一个声明性标签是通过放置在它所应用的元素前 ...
- clojure配置
1.转换clojure工程为eclipse工程 Install Counterclockwise plugin in Eclipse (from eclipse marketplace). This ...
- Spring之JDBC Template
时间:2017-2-5 18:16 --Spring对不同持久化技术的支持Spring为各种支持的持久化技术都提供了简单操作的模板和回调.ORM持久化技术: JDBC: org.s ...