发布于2026-08-21 阅读(0)
扫一扫,手机访问
别名仅在当前shell进程有效,永久生效需写入~/.bashrc并source;带管道或变量时须用单引号;支持参数需改用函数;绕过别名可用命令或绝对路径。

别名只在当前终端生效,永久使用必须写进 ~/.bashrc 并执行 source ~/.bashrc;漏掉任一环节, alias 就等于没设。
直接运行 alias ll='ls -la' 命令,ll 命令立刻就能使用。不过,一旦你新开终端或者通过SSH重连,这个命令就失效了。这可不是配置错误,而是Bash的设计如此:别名会绑定到当前的shell进程,一旦进程结束,别名也就被销毁了。
alias gs='git status' 设完,新终端输 gs 报 command not foundsudo alias foo='bar' 对 root 完全无效——root 的环境独立,普通用户设的 alias 不会继承过去alias ll 看输出;若返回空或报错,说明没加载绝大多数桌面环境(如Ubuntu、Debian、CentOS默认终端)启动的是那种非登录shell,它只会读取~/.bashrc;而~/.bash_profile呢,只有在登录shell(像首次SSH连接时)才会被读取一次,平时日常打开终端基本不会触发它的读取。
echo "alias ll='ls -la --color=auto'" >> ~/.bashrc && source ~/.bashrc~/.bash_profi 或 ~/.bashrcs —— 路径错,白写bash ~/.bashrc:这会起一个子 shell,改的不是当前环境/etc/profile 或 /etc/bash.bashrc,需要 root 权限且影响所有用户别名本质是字符串替换,定义时不重新解析命令结构。单引号是保命符,双引号反而危险;变量在定义时就被展开,之后改环境变量也无效。
alias psa='ps aux | grep' —— 单引号确保 | 留到执行时才起作用alias psa="ps aux | grep" —— 双引号会让 shell 在定义时就尝试执行 |,直接报错alias cdhome='cd $HOME' 中的 $HOME 在定义时就被替换成当前路径,之后改 HOME 环境变量它也不会变ll /tmp)?别名做不到,得用函数:ll() { ls -la --color=auto "$@"; }设了 alias rm='rm -i' 后,某次想跳过确认,不能硬加 -f(rm -f file 会被展开成 rm -i -f file,-i 和 -f 冲突)。
rm -f file(反斜杠屏蔽 alias 查找)或 /bin/rm -f file(绝对路径直调二进制)alias sudo='sudo '(注意空格),这样 sudo apt update 才能正常识别后续命令alias ll;查全部:alias;删一个:unalias ll;删全部(慎用):unalias -a生命周期、引号规则、参数传递这三块最容易卡住人——尤其是把函数当别名用,或者以为写进 .bash_profile 就能覆盖所有终端场景。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9