Linux · 2 分钟阅读
命令别名:alias
alias 是个能偷懒的小工具——把一长串命令缩成两三个字符。简单,但别滥用。
配置位置
| Shell | 配置文件 |
|---|---|
| bash | ~/.bashrc(非登录交互) |
| bash | ~/.bash_profile 或 ~/.profile(登录) |
| zsh | ~/.zshrc |
改完执行
source ~/.bashrc生效。Zsh 同理。
一些实用的 alias
# 网络
alias ipi="ip -4 addr | grep inet | grep -v 127.0.0.1 | awk '{print \$2}' | cut -d/ -f1 | head -n1"
alias ipe='curl -4 ifconfig.me'
# 常用
alias ll='ls -alF'
alias la='ls -A'
alias c='clear'
alias zhuabao='sudo tcpdump -i any'
# HTTP 简洁版
alias curlb='curl -s -o /dev/null -w "%{http_code} %{time_namelookup} %{time_connect} %{time_starttransfer} %{time_total}\n"'
# HTTP 详细版
alias curld='curl -s -o /dev/null -w "
HTTP状态码: %{http_code}
DNS解析: %{time_namelookup}s
建立连接: %{time_connect}s
首字节: %{time_starttransfer}s
下载大小: %{size_download} B
总耗时: %{time_total}s
"'
想绕过 alias 跑原命令,前缀加反斜杠:
\rm用真正的rm,而不是rm -i之类的别名。
几个技巧
# 临时启用
alias foo='cmd'
# 取消别名
unalias foo
# 查看所有 alias
alias -p
经验
- 用短但有辨识度的名字,避免和系统命令冲突
- 公共配置放
~/.config/shell/aliases.sh或~/.shell/aliases,再由~/.bashrc引入 - 别把 alias 当历史,复杂的操作写脚本
- 团队统一一套 alias,新人第一天就有一致的工作流