Ubuntu Aliases自定义技巧:提升命令行效率的实用方法
别名(alias)是Ubuntu中简化命令的常用工具,临时别名仅在当前终端会话有效(关闭后失效),永久别名需添加到shell配置文件。
alias 别名='原命令',例如alias ll='ls -alh'(显示所有文件详细信息)。~/.bashrc,仅当前用户生效)或系统级配置文件(如/etc/bash.bashrc,所有用户生效)。编辑后运行source 文件名(如source ~/.bashrc)使更改立即生效。~/.bash_aliases文件(专门用于存储别名),避免~/.bashrc过于臃肿。若该文件不存在,手动创建后,在~/.bashrc末尾添加if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases; fi,即可自动加载~/.bash_aliases中的别名。/etc/bash.bashrc,添加的别名对所有用户生效(如alias update='sudo apt update && sudo apt upgrade -y')。&&(前一条成功后执行下一条)或;(无论前一条是否成功都执行)连接多个命令。例如:alias backup='tar czvf ~/backup/$(date +%Y%m%d).tar.gz ~/important_files/'(备份重要文件到压缩包,文件名包含当天日期)。$1、$2等占位符。例如:alias mkcd='_mkcd() { mkdir -p "$1" && cd "$1"; }; _mkcd',使用时输入mkcd mydir即可创建并进入mydir目录。对于需要多行命令或条件判断的场景,建议使用函数替代简单别名。函数定义更灵活,支持变量、循环等特性。例如:
backup() {
if [ -z "$1" ]; then
echo "Usage: backup <directory>";
return 1;
fi
tar czvf "~/backup/$(date +%Y%m%d)_$1.tar.gz" "$1";
}
alias backup_func=backup
使用时输入backup_func mydir即可执行备份,若未指定目录会提示用法。
根据环境变量或用户权限动态调整别名,提升灵活性。例如:
alias sudo='if [ "$(id -u)" -eq 0 ]; then do_something_else; else command sudo; fi'
root用户执行sudo时会调用do_something_else,普通用户则执行原生sudo命令。alias ll='if [ -d "$1" ]; then ls -ld "$1"; else ls -l "$1"; fi'
输入ll mydir时,若mydir是目录则显示其详细信息,否则显示文件详细信息。alias命令,会列出当前shell中所有已定义的别名。alias 别名(如alias ll),显示该别名的具体命令。unalias 别名(如unalias ll),仅删除当前会话的别名;若需永久删除,需从配置文件中移除对应行。alias ..='cd ..'(返回上一级目录)、alias ~='cd ~'(快速回到主目录)。alias update='sudo apt update && sudo apt upgrade -y'(更新系统软件包)、alias cleanup='rm -rf ~/.cache/*'(清理浏览器缓存)。alias gs='git status'(查看git状态)、alias gst='git stash'(暂存git修改)。alias myip='hostname -I | cut -d" " -f1'(显示本机IP)、alias diskspace='df -h'(查看磁盘空间使用情况)。