经常在终端里敲命令的人大概都有这种体会:ls -alh、apt install、cd /var/log这类命令一天要重复输入几十遍,手指累不说,还容易敲错参数。其实在openKylin系统里,只需要用alias命令把这些长命令绑定成一个简短的缩写,输入两三个字母就能完成原本一长串的操作。这篇文章就来详细讲讲openKylin下alias的用法,以及一些值得收藏的常用命令缩写配置。

alias命令的基本语法与工作原理
alias是Shell的内置命令,openKylin默认使用bash作为终端Shell,所以标准的bash alias用法都可以直接使用。它的工作原理很简单:Shell在读取一行命令时,会先检查这行命令的第一个词是否匹配某个已定义的别名,如果匹配就把它替换成别名对应的完整命令,然后再执行。
基本语法是alias 缩写='完整命令',注意等号两边不能有空格,完整命令要用单引号或双引号包起来,尤其是命令里本身带有空格或特殊字符时必须加引号。来看几个最基础的例子:
# 定义一个最简单的别名,用 g 代替 grep --color=auto alias g='grep --color=auto' # 查看当前已经定义的所有别名 alias # 查看某个具体别名的定义内容 alias ll
直接在终端里输入alias不带任何参数,会列出当前Shell环境下所有已生效的别名。openKylin出厂其实已经预置了一部分别名,比如ll通常就指向ls -alF,可以用上面的命令确认一下。
临时别名与永久别名的区别
这里有一个很多新手容易踩的坑:直接在终端里执行alias xx='yy'定义的别名,只在当前这个终端会话中有效。一旦关闭终端窗口或者重启系统,刚才定义的别名就全部消失了。这种方式适合临时试用某个缩写,觉得好用再考虑长期保存。
想让别名每次开机都自动生效,需要把alias语句写进Shell的配置文件。openKylin的终端用的是bash,对应的配置文件是用户主目录下的~/.bashrc。用文本编辑器打开它,在文件末尾追加自己的别名定义即可:
# 用 vim 或系统自带的文本编辑器打开配置文件 vim ~/.bashrc # 在文件末尾追加以下内容,保存退出 alias ll='ls -alhF' alias la='ls -A' alias grep='grep --color=auto' alias ..='cd ..' alias update='sudo apt update && sudo apt upgrade -y' # 让修改立即生效,不用重开终端 source ~/.bashrc
修改保存之后,执行source ~/.bashrc重新加载配置文件,别名马上就能用。如果不执行source,也可以关闭终端重新打开,新会话会自动读取配置。另外建议把别名集中写在文件的同一个区域,并加上注释分组,时间久了翻起来方便。
值得收藏的常用命令缩写推荐
下面这批别名是经过大量使用验证的实用配置,特别针对openKylin基于apt包管理、日常办公开发的场景做了整理。可以直接复制到自己的~/.bashrc里:
# ---------- 文件与目录操作 ---------- alias ll='ls -alhF' # 详细列表,带人类可读的文件大小 alias la='ls -A' # 显示除 . 和 .. 外的所有文件 alias l='ls -CF' alias ..='cd ..' alias ...='cd ../..' alias df='df -h' # 磁盘占用用 GB/MB 显示 alias du='du -h --max-depth=1' # 只看当前目录一层的大小分布 # ---------- 安全防护类 ---------- alias cp='cp -i' # 覆盖文件前先询问 alias mv='mv -i' # 移动覆盖前先询问 alias rm='rm -I' # 删除超过3个文件或目录时提示确认 # ---------- openKylin 包管理与系统 ---------- alias update='sudo apt update' alias upgrade='sudo apt upgrade -y' alias install='sudo apt install' alias remove='sudo apt remove' alias search='apt search' # ---------- 网络与进程 ---------- alias myip='ip addr | grep inet' alias psg='ps -aux | grep' alias port='netstat -tulanp'
其中安全防护类那一组尤其推荐。rm -I(大写字母I)比rm -i温和一些,只在一次删除三个以上文件或者递归删除时才提示,既保留了保护又不会每删一个文件都问一遍。把cp和mv加上-i参数,能有效避免一条命令误覆盖重要文件的惨剧。
网络类别名里,psg配合管道使用非常顺手,比如psg firefox就能快速查到火狐浏览器的进程号,省去了记ps -aux | grep xxx这一长串。
别名的查看、删除与注意事项
删除一个已经存在的别名使用unalias命令,比如unalias ll就取消了ll这个缩写。如果想清空当前会话所有手动定义的别名,可以执行unalias -a,不过这只影响当前会话,写在~/.bashrc里的定义下次登录还会恢复,所以彻底删除需要把配置文件里对应的行删掉。
# 删除单个别名 unalias ll # 临时绕过别名,执行原始命令 \ls command ls # 查看某个命令到底是别名、函数还是真实程序 type ll
还有两个细节值得注意。第一,别名定义时如果完整命令里包含变量,建议用单引号而不是双引号,双引号会让变量在定义时就展开,单引号则保留到执行时再展开,后者通常才是想要的效果。第二,别名不支持参数传递,比如想让mygrep abc把abc作为参数传给后面的命令,alias做不到这一点,这种需求应该改用Shell函数,在~/.bashrc里写成mygrep() { grep --color=auto -r "$1" .; }的形式。函数比别名更灵活,复杂一点的场景优先考虑函数,简单的命令替换交给alias就够了。
把这些配置整理好之后,在openKylin终端里的日常操作会明显轻快很多。建议从几个最常用的别名开始逐步添加,用顺手了再扩充,别一口气抄一大堆用不上的,反而增加记忆负担。