首页 >> 精选问答 >

问linux 中 alias 的用法 别名配置详解

2026-11-08 22:49:41

答

核心结论是 Linux 中 alias 的作用就是给长命令设置自定义别名,相当于命令快捷缩写,把复杂冗长的命令绑定成简短名字,输入别名的时候,shell 会自动替换成原始完整命令,比如把 rm 设置成 rm i,执行 rm 就自动带上交互确认,降低误删风险,alias 分为临时别名和永久别名,临时别名只在当前终端 shell 会话生效,关闭终端就失效,永久别名需要写入 bashrc 或者 profile 配置文件,重新加载之后长期有效,alias 是 shell 内置命令,不是独立程序,只对当前 shell 环境生效,子进程默认不会继承别名,运维日常经常使用 linux 中 alias 的用法简化巡检 日志查看 服务重启这类重复命令,是非常实用的 shell 优化技巧。

Linux 设计 alias 别名机制,是因为服务器运维有大量重复长命令,每次手动输入完整参数效率很低,shell 在解析命令的时候,会优先识别别名,把别名展开替换成对应的原始命令,这个展开动作发生在命令真正执行之前,需要注意别名不能和系统原有命令重名,重名之后会覆盖原命令行为,很多系统默认就自带 alias,比如 ll 其实就是 ls l 的别名,很多新手不知道 ll 是别名,以为是独立命令,另外 alias 只支持简单命令替换,不能实现复杂逻辑判断,如果需要复杂流程,就需要改成 shell 脚本,而不是继续用别名实现,这也是 linux 中 alias 的用法的能力边界。

linux 中 alias 的用法核心操作表格

操作命令写法说明
查看全部别名alias列出当前 shell 所有已经定义的别名
查看单个别名alias ll查看 ll 对应的原始命令
创建临时别名alias rm='rm -i'当前终端立即生效
删除临时别名unalias rm取消当前会话这个别名
删除全部别名unalias -a清空当前 shell 所有别名

详细操作步骤

临时别名设置

直接在终端输入 alias ll='ls -l --color=auto'

回车之后立刻生效,当前终端输入 ll 就等价执行 ls l 带颜色输出

关闭这个终端窗口,新开终端,别名就消失,适合临时测试别名写法

永久别名配置

编辑当前用户配置文件 vi ~/.bashrc

在文件末尾追加别名定义,例如

alias nginxrestart='systemctl restart nginx'

alias taillog='tail -f /var/log/nginx/access.log'

保存退出之后,执行 source ~/.bashrc 重新加载配置

之后每次新开终端,别名都会自动加载

全局永久别名,所有用户生效

编辑 /etc/bashrc 或者 /etc/profile.d/ 下面新建单独脚本文件,写入 alias 定义,推荐 profile.d 单独文件,不修改原始主配置,系统升级不容易丢失配置

取消别名

当前会话临时取消 unalias nginxrestart

如果是永久别名,需要打开 bashrc,删除对应的 alias 那一行,再 source 重新加载

进阶要点

别名展开之后如果还要追加参数,是支持的,比如别名是 alias psg='ps aux | grep',执行 psg nginx,就等价 ps aux | grep nginx

如果想要绕过别名,直接调用原始命令,可以在命令前面加反斜杠,比如 \rm test.txt,就不会触发 rm i 这个别名,这个是很实用的技巧

别名名称不能包含空格,别名定义里面如果原始命令带空格,必须使用单引号包裹

zsh shell 的别名配置文件不是 bashrc,是.zshrc,linux 中 alias 的用法语法一致,但是配置文件不同

子 shell 脚本里面默认不加载别名,脚本调用的时候别名会失效,所以自动化脚本不要依赖 alias

常见实用别名示例

alias ll='ls -l --color=auto'

alias la='ls -la'

alias grep='grep --color=auto'

alias net='ip a'

alias dfh='df -h'

alias freeh='free -h'

【常见问题】

问题 1 linux 中 alias 的用法配置完为什么新开终端失效

回答 1 linux 中 alias 的用法,如果只是直接终端执行 alias 定义,属于临时别名,关闭终端就消失,想要永久生效,linux 中 alias 的用法需要写入~/.bashrc,然后执行 source 加载,新开终端才会自动读取别名。

问题 2 linux 中 alias 的用法为什么 shell 脚本里面别名不生效

回答 1 linux 中 alias 的用法是 shell 交互式环境特性,子 shell 和脚本默认不会加载别名,所以 linux 中 alias 的用法不能依赖在自动化脚本里面,脚本需要直接写完整原始命令。

问题 3 linux 中 alias 的用法怎么临时绕过别名执行原命令

回答 1 linux 中 alias 的用法如果别名覆盖了原命令,想要直接执行原始命令,可以在命令前面加反斜杠,例如 \rm,linux 中 alias 的用法这个方式可以跳过别名展开。

问题 4 linux 中 alias 的用法 unalias 是什么作用

回答 1 linux 中 alias 的用法 unalias 是取消已经定义的别名,unalias 别名名称只删除单个别名,unalias a 清空全部别名,linux 中 alias 的用法临时取消别名使用 unalias,永久取消还要删除配置文件里面的别名行。

【免责申明】

本文内容仅作为 Linux 技术学习参考,linux 中 alias 的用法如果别名命名不当,覆盖系统原命令,会改变原有命令行为,生产环境配置别名前确认别名名称,不要影响原有运维操作,不同 shell 别名配置文件存在差异,操作产生命令行为异常等后果由操作者自行承担。

 

相关阅读

最新文章