alias命令在Linux中用于创建命令别名。它允许用户为常用的命令或命令组合创建短而易记的别名,从而提高工作效率。
alias命令与windows中的快捷方式相同,执行别名时,终端解释器就进行查询与转换,进而执行原来的完整命令。
熟练使用alias命令可以使我们将一长串命令或者一些常用的选项和参数组合绑定到一个简单的别名上,使Linux命令行上的操作更加顺畅,方便。
通常情况下alias命令适合下面场景:
alias主要用途:
语法基本格式
alias [-p] [名称[=值] ... ]
定义或显示别名
从linux一般语法格式可知:
选项只有-p,显示全部已定义的别名(不加-p,具有同样功能)
alias命令为复杂命令定义一个别名,非常简单。
根据可用性,分为临时定义和永久设置。
根据权限,分为系统设置与普通用户设置。
临时定义
临时定义一个命令的别名,离开终端,或进入bash子程序,或切换用户等,都会失效。我们分几种情况,分别讨论别名的定义。
a.定义切换路径的别名
Centos7中网卡的配置文件所在路径比较长,也难以记住,定义一个别名,方便调用、查看、编辑网卡文件:
alias cdnet='cd /etc/sysconfig/network-scripts/'
查看网卡文件时,可以执行(再查看文件列表,再查看某一网卡文件内容)
ls cdnet
Centos stream 9中网卡的配置文件所在路径与Centos7不同,也不好记住,最好也定义一个别名:
alias tonet='cd /etc/NetworkManager/system-connections/'
在这两个别名定义中,都有空格,必须有引号(单引号、双引号均可以)引起来。否则会报错。
b.定义多个命令组的别名
在开机后添加磁盘时,不能查询到磁盘信息。必须通知内核进行扫描总线,才能查询到磁盘信息。而扫描总线有三个,必须扫描三次,即执行三次扫描命令。我们可以定义一个别名,再执行别名完成三次扫描:
alias dscan='echo "- - -" >/sys/class/scsi_host/host0/scan;echo "- - -" >/sys/class/scsi_host/host1/scan;echo "- - -" >/sys/class/scsi_host/host2/scan'
三条命令用单引号括起来,而每项命令之是用分号;隔开。每项命令中的双引号不用转义。有兴趣的,可以把单引号与双引号交换一下,查看效果。
PS:执行该命令需要root权限,普通用户不能执行。
c.同时定义多个别名
在学习与训练linux用户和组概念时,经常会用到三个命令:
useradd #添加用户
userdel #删除用户
userdom #修改用户
我们可以同时为这三个命令定义别名
alias u1=useradd u2=userdel u3=usermod
别名之间用空格分开即可
在学习与训练文件属性、用户权限概念时,也可以同时定义三个命令的别名:
alias ch1=chmod ch2=chowe ch3=chgrp