在Linux下创建别名(alias)
来自YTYZX有图有真相的百科
1.如果部分常用命令参数较多,较难记忆,则可创建别名方便记忆。本例中以查看开机自启动服务为例。命令:systemctl list-unit-files --type=service | grep enabled |more 备注:如果别名和关键字或者内建命令重复,在bash下优先顺序如下: 别名:alias 关键字:keyword 函数:function 内建命令:built in 哈希索引:hash 外部命令:command
2.直接输入“alias kjqd='systemctl list-unit-files --type=service | grep enabled |more”并按回车键确定。 备注:格式为 alias 别名(kjqd)='实际运行命令'。
3.直接输入“kjqd”并按回车键确定即可执行。 备注: 可将输出结果同"systemctl list-unit-files --type=service | grep enabled |more"命令输出结果对比。
4.如果别名和已存在命令(如clear)相同,则执行结果忽略原来已存在命令。 备注: 下图中设置clear='ls -ld'后,执行clear命令的结果不是清屏,而是'ls -ld'命令的输出。
5.如需取消别名则输入"unalias 别名",下图中输入"unalias clear"则取消别名clear,再次执行"clear"命令则清屏。
6.此方法仅限当前会话,重新登录后再次执行“kjqd”命令,提示“command not found”。
7.如需永久保存此别名,则输入“vi ~/.bashrc”编辑.bashrc文件。 备注:~/.bashrc文件只影响当前用户配置。
8.默认文件内容类似下图。
9.添加“alias kjqd='systemctl list-unit-files --type=service | grep enabled |more'”并保存退出。 备注:vi使用可参考如何使用vi文本编辑器,亦可使用其他编辑器。
10.直接运行“kjqd”命令会提示“command not found...”,需运行“source ~/.bashrc”命令。
11.再次运行“kjqd”命令即可。
12.重新登录后运行“kjqd”命令亦可正常运行。
13.如重新登录后运行“kjqd”提示“command not found...”错误,则可执行“vi ~/.bash_profile”命令。
14.添加“source ~/.bashrc”(下图蓝色框内),保存退出后再次登录即可。 备注:如果.bash_profile文件不存在,输入以上命令并保存新建此文件即可。
15.如需删除则在.bashrc文件里面删除对应行即可。