首页 >> 生活快讯 > 宝藏问答 >

问linux 中 alias 用法 命令别名详解

2026-11-08 22:49:41

答

alias 是 shell 内置命令,作用就是给长命令设置简短别名,简化重复输入,比如把很长的 ssh 连接命令,或者带参数的 rm ls 命令,定义成短名字,当前终端生效,想要永久生效,需要写入用户环境配置文件,alias 只在当前 shell 会话有效,关闭终端就失效,这个是新手最容易踩坑的点。

一 基础语法

alias 别名 =' 原始命令 '

示例

alias ll='ls -alh'

alias gs='git status'

alias sshweb='ssh root@192.168.1.100'

二 常用配套操作

操作命令说明
查看全部别名alias列出当前 shell 所有已经定义的别名
查看单个别名alias ll查看 ll 对应的原始命令
删除别名unalias 别名当前会话移除这个别名
永久生效写入配置文件bash 写入~/.bashrc,zsh 写入~/.zshrc

三 操作步骤

第一步 临时定义别名,终端直接执行 alias 别名 =' 命令 '

第二步 输入别名测试,确认可以正常运行

第三步 如果需要永久保存,编辑用户家目录下.bashrc,把 alias 语句添加进去

第四步 执行 source ~/.bashrc,让配置立刻加载,不用重新登录

示例

vi ~/.bashrc

添加 alias ll='ls -alh'

source ~/.bashrc

四 深度原理与关键特性

alias 属于 shell 内置功能,不是独立程序,只对交互式 shell 生效,脚本里面默认不会加载别名,这是重点,shell 脚本执行的时候别名一般不生效。

如果别名和系统原有命令同名,会覆盖原来命令,比如 alias rm='rm -i',执行 rm 就自动带交互确认,很多系统默认就自带这类安全别名。

如果想要临时绕过别名,执行原始命令,可以在前面加反斜杠,示例 \rm,就不会调用别名。

五 常见踩坑场景

1 只在终端临时写 alias,关闭终端之后别名消失,忘记写入.bashrc

2 写入.bashrc 之后没有 source,新别名不生效

3 shell 脚本里面使用别名,发现不识别

4 别名命令里面带参数的时候,写法错误,alias 不能像函数那样灵活接收复杂参数,复杂逻辑推荐用 shell 函数

5 别名名称和系统命令冲突,误覆盖原有命令行为

六 补充拓展

如果需要全局所有用户都生效,可以写入 /etc/bashrc 或者 /etc/profile.d/ 目录下的配置文件,所有登录用户都可以读取这个别名。

【常见问题】

问题 1 linux 中 alias 用法,为什么关闭终端别名就没了

回答 1 linux 中 alias 用法,临时 alias 只保存在当前 shell 内存,终端关闭内存清空,想要永久生效必须写入.bashrc 并且 source 加载。

问题 2 linux 中 alias 用法,bash 和 zsh 配置文件一样吗

回答 1 linux 中 alias 用法,bash 是~/.bashrc,zsh 是~/.zshrc,不同 shell 配置文件不一样,不要写错。

问题 3 linux 中 alias 用法,怎么删除已经定义的别名

回答 1 linux 中 alias 用法,使用 unalias 别名,只对当前终端会话生效,如果是永久别名,还需要去.bashrc 里面删除对应那一行。

问题 4 linux 中 alias 用法,脚本里面别名为什么不生效

回答 1 linux 中 alias 用法,别名默认只在交互式 shell 生效,非交互的 shell 脚本不会加载别名,复杂逻辑建议改用 shell 函数。

【免责申明】

本文内容基于 bash shell alias 通用用法整理,别名覆盖原有系统命令会改变命令行为,修改全局配置影响所有用户,本文不对别名配置错误造成命令异常承担责任。

 

相关阅读

最新文章