干弱电工程的兄弟们,咱们平时跟Linux打交道,可能觉得那些长命令敲着费劲。其实有个小窍门,用alias(别名)就能把复杂命令变成自己的快捷指令。今天就跟大伙聊聊怎么玩转这个,保证你看完就能上手。
先说说啥是alias。简单讲,它就是给命令起个小名。比如你老要敲cd Videos进视频目录,那就可以起个名叫cdv。以后打cdv就相当于敲了cd Videos,省事多了。这玩意儿语法也不复杂:alias [别名='命令']。
怎么创建呢?举个例子,咱们想弄个命令直接进视频目录。打开终端,敲:alias cdv="cd Videos"。完了没反应?正常!直接打cdv试试,看到没?直接跳进Videos了。这就算你自个儿的命令了。
想看自己都设了哪些别名?简单,alias -p一敲,所有别名全列出来。要删掉某个别名,用unalias 别名。要是想清空所有,unalias -a搞定。
【实际施工经验】 我刚开始用alias时犯过个低级错误:在终端敲了alias,关掉窗口再开,发现刚才设的命令全没了。别笑,好多兄弟都栽过这坑。后来才明白,直接敲的alias只对当前会话有效。所以别指望着临时敲一下就能永久用,那是不可能的。
要永久生效,得把别名写进shell配置文件里。大部分Linux用bash,配置文件是~/.bashrc。用sudo vim ~/.bashrc打开,拉到文件末尾,加上你的别名,比如alias cdv="cd Videos"。保存退出,再跑source ~/.bashrc让配置生效。以后打开任何终端窗口,这些别名都在。
说到这儿,我得提个事。有人担心用多了alias会忘掉原始命令。我干这行十几年了,实话讲,这担心多余。你只会记得更清楚,而且效率高得多。我建议隔段时间翻翻自己的.bashrc文件,把不常用的清理掉,常用的巩固一下。
【省钱技巧】 说到清理,有个省钱小窍门:别一股脑把所有alias都写进.bashrc。我习惯把常用的命令比如cd..、ll这些设成永久,那些临时项目用的别名(比如连特定服务器、跑测试脚本)就写在单独的文件里,比如~/work_aliases.sh,用的时候source一下。这样.bashrc不会太乱,改起来也快,省得哪天搞崩了系统配置还得重装。
最后给大伙列几个我团队里常用的实用别名,都是经过验证的:
| 别名 | 原始命令 | 说明 |
|---|---|---|
| f | cd $1 | 前进到指定目录 |
| b | cd .. | 返回上一级 |
| c | code ./ | 当前目录打开VS Code |
| e | exit | 关闭终端 |
| home | cd ~ | 回主目录 |
| a | xdotool key ctrl+shift+t | 开新终端标签 |
| cbd | cd - | 返回上一个目录 |
| gst | git status | 看git状态 |
| gpr | git pull -r | 拉取并变基 |
| glo | git log --oneline | 简化日志 |
| gcl | git config -l | 显示git配置 |
| gca | git commit --amend | 修改上次提交 |
| gcane | git commit --amend --no-edit | 不改信息追加提交 |
| ad | ~/Android/Sdk/emulator/emulator -list-avds | 查看安卓模拟器列表 |
| off | sudo /opt/lampp/lampp stop | 关掉机器 |
| bb | (函数,支持参数) | 返回多级目录,如bb 5回5级 |
| pokill | kill $(lsof -t -i:$1) | 杀掉端口进程 |
| cc | sudo nano ~/x-commands/aliasCommands.sh | 编辑别名文件 |
| bc | sudo nano ~/.bashrc | 编辑.bashrc |
| scc | source ~/x-commands/aliasCommands.sh | 刷新别名文件 |
| bcc | source ~/.bashrc | 刷新.bashrc |
| welcome | (函数) | 验证别名安装 |
【踩过的坑】 注意,用函数实现多命令时,比如上面的bb,别跟普通alias混了。函数定义得写在.bashrc里,但alias -p查不到它。我刚开始不知道,费了半天劲找不到,后来才明白函数跟别名是两码事。还有,写函数时别忘了加function关键字,不然有些shell版本不认。
要是想在单个别名里跑多个命令,有两种法子。一种是直接用分号分隔:alias gohome="cd ~/;echo 到家了"。另一种是在.bashrc里定义函数,比如:
function gohome() {
cd ~/
echo 到家了
}
保存后source ~/.bashrc就能用了。注意,函数不会在alias -p里显示。
总之,alias这东西看着简单,用好了能省不少事。兄弟们要是还没玩过,赶紧试试,保管你用了就离不了。
