alias
是Linux/Unix系统中一个非常实用的命令,用于创建命令的别名。它允许用户为常用命令或命令组合创建简短的替代名称,从而提高工作效率。
目录
[1. 创建临时别名](#1. 创建临时别名)
[2. 查看已定义的别名](#2. 查看已定义的别名)
[3. 查看特定别名](#3. 查看特定别名)
[4. 删除别名](#4. 删除别名)
[1. 安全相关](#1. 安全相关)
[2. 常用命令简化](#2. 常用命令简化)
[3. 系统信息](#3. 系统信息)
[4. 网络相关](#4. 网络相关)
[5. Git相关](#5. Git相关)
一、基本语法
bash
alias [别名]='原命令 [选项]'
二、常用用法
1. 创建临时别名
bash
alias ll='ls -alF'
系统默认自带的ll是ls -l的别名;下面的命令执行后,输入ll
就相当于输入ls -alF:

2. 查看已定义的别名
bash
alias
不带任何参数时,alias
会列出当前会话中所有已定义的别名:

3. 查看特定别名
bash
alias 别名名
例如:
bash
alias ll

4. 删除别名
bash
unalias 别名名
例如:
bash
unalias ll

删除别名后便找不到ll的别名了,如上。
三、永久保存别名
临时别名只在当前会话有效,退出终端后就会消失。要永久保存别名,需要将其添加到shell配置文件中:
-
对于bash用户,编辑
~/.bashrc
或~/.bash_profile:
-
对于zsh用户,编辑
~/.zshrc
添加别名后,执行source ~/.bashrc
(或其他对应文件)使更改立即生效。

四、实用别名示例
1. 安全相关
bash
alias rm='rm -i' # 删除前询问确认
alias cp='cp -i' # 覆盖前询问确认
alias mv='mv -i' # 覆盖前询问确认
2. 常用命令简化
bash
alias ..='cd ..' # 返回上级目录
alias ...='cd ../..' # 返回上两级目录
alias h='history' # 查看历史命令
alias c='clear' # 清屏
alias grep='grep --color=auto' # 带颜色显示grep结果
3. 系统信息
bash
alias meminfo='free -m -l -t' # 内存使用情况
alias cpuinfo='lscpu' # CPU信息
alias diskusage='df -h' # 磁盘使用情况
alias folderusage='du -sh' # 文件夹大小
4. 网络相关
bash
alias ports='netstat -tulanp' # 查看开放端口
alias myip='curl http://ipecho.net/plain; echo' # 获取公网IP
5. Git相关
bash
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline --graph --decorate --all'
五、注意事项
-
别名覆盖 :如果定义的别名与现有命令同名,会覆盖原命令。例如
alias ls='ls -l'
会覆盖ls
命令。 -
参数位置 :在别名中使用参数时,需要使用
$1
,$2
等表示参数位置:bashalias mkcd='mkdir -p $1 && cd $1'
-
特殊字符 :如果原命令包含特殊字符(如
|
,>
,;
等),需要用引号括起来:bashalias search='grep "pattern" | less'
-
查看原始命令:如果想绕过别名使用原始命令,可以在命令前加反斜杠:
bash\ls
-
别名优先级(重点) :别名优先于同名的shell函数和外部命令。
六、高级用法
1、组合多个命令
bash
alias update='sudo apt update && sudo apt upgrade'
2、带参数的复杂别名
bash
alias psg='ps aux | grep -v grep | grep -i'
使用方式:
bash
psg ssh
3、在别名中使用函数
对于更复杂的操作,可以在别名中使用函数:
bash
alias ldir='func() { ls -ld "$@" */; }; func'