菜鸟科技网

mac 命令 别名

什么是命令别名?

命令别名本质上是一个快捷方式昵称,它允许你为一个长、复杂或难以记忆的命令创建一个简短、易用的替代名称。

mac 命令 别名-图1
(图片来源网络,侵删)

举个例子:

  • 原始命令: git status
  • 别名: gst

当你输入 gst 并按下回车时,终端会自动将其替换为 git status 并执行,这极大地提高了命令行操作的效率。


如何创建和管理别名?

在 macOS 中,最常用的方法是将其写入 shell 的配置文件中,macOS 默认使用 zsh,所以我们主要讲解在 zsh 中设置别名。

临时别名(仅对当前终端会话有效)

这种方式非常简单,直接在终端输入即可,但关闭终端后别名就会消失。

mac 命令 别名-图2
(图片来源网络,侵删)
# 语法: alias 别名='原始命令'
alias ll='ls -alF'

执行后,你就可以在当前终端使用 ll 命令了,它等同于 ls -alF

永久别名(推荐,对所有新终端会话生效)

要让别名永久生效,你需要将它写入 zsh 的配置文件中,这个文件通常是 ~/.zshrc

步骤:

  1. 打开配置文件 你可以使用任何文本编辑器,nanovim,这里推荐使用 nano,因为它对新手更友好。

    mac 命令 别名-图3
    (图片来源网络,侵删)
    nano ~/.zshrc
  2. 添加别名 在文件末尾添加你的别名。格式与临时别名完全相同

    # 一个常见的别名:快速显示隐藏文件
    alias show='defaults write com.apple.finder AppleShowAllFiles YES && killall Finder'
    # 一个常见的别名:快速隐藏隐藏文件
    alias hide='defaults write com.apple.finder AppleShowAllFiles NO && killall Finder'
    # 为 git 命令创建别名
    alias gs='git status'
    alias ga='git add'
    alias gc='git commit -m'
    alias gp='git push'
    alias gl='git log --oneline'
    # 为 ls 命令创建别名
    alias ll='ls -alF'
    alias la='ls -A'
    alias l='ls -CF'
  3. 保存并退出

    • nano 中,按 Ctrl + O (写入文件),然后按 Enter 确认,再按 Ctrl + X (退出)。
    • vim 中,按 Esc,然后输入 wq 并按 Enter
  4. 让配置生效 重要的一步! 修改 ~/.zshrc 文件后,你需要让当前终端会话重新加载它,或者完全关闭当前终端窗口,再重新打开一个新的

    • 重新加载配置(不关闭当前终端):
      source ~/.zshrc
    • 直接关闭并重新打开终端(最简单直接)。

完成以上步骤后,你的新别名就会在所有新的终端会话中永久生效。


别名管理实用技巧

查看所有已定义的别名

如果你想查看当前会话中所有已经定义的别名,可以使用 alias 命令(不带任何参数)。

alias

输出可能如下:

alias gs='git status'
alias ll='ls -alF'
...

查看特定别名的定义

如果你想查看某个别名的具体定义,可以使用 alias 命令并跟上别名。

alias ll

输出:

alias ll='ls -alF'

删除别名

如果你不再需要一个别名,可以使用 unalias 命令。

  • 临时删除(仅对当前会话有效):

    unalias ll

    之后在当前终端中 ll 就会失效。

  • 永久删除:你需要手动编辑 ~/.zshrc 文件,找到那一行并删除它,然后保存并重新加载配置。


一些有用的 macOS 别名示例

这里有一些你可以直接复制到 ~/.zshrc 中的实用别名:

# --- 文件和目录操作 ---
# 列出所有文件,包括隐藏文件,并用不同颜色区分
alias la='ls -A'
# 列出所有文件,包括隐藏文件,并显示详细信息
alias ll='ls -alF'
# 列出文件,以列表形式显示
alias l='ls -CF'
# --- 系统操作 ---
# 显示当前目录大小
alias ducks='du -cks * | sort -rn | head'
# 快速清空终端屏幕
alias c='clear'
# 显示所有正在运行的进程
alias psa='ps aux'
# 强制结束一个进程 (用法: killp [进程名])
alias killp='pkill -f'
# --- 网络操作 ---
# 快速查看本机IP地址
alias ip='ifconfig | grep "inet " | grep -v 127.0.0.1'
# 递归删除 .DS_Store 文件 (macOS 系统垃圾文件)
alias dsclean='find . -name ".DS_Store" -type f -delete'
# --- 开发相关 ---
# 快速进入项目目录 (假设你的项目都在 ~/Projects 下)
alias proj='cd ~/Projects'
# 快速启动 Python HTTP 服务器 (在当前目录下)
alias server='python3 -m http.server 8000'
# --- Git 别名 (非常流行) ---
alias gs='git status'
alias ga='git add'
alias gc='git commit -m'
alias gp='git push'
alias gl='git log --oneline'
alias gd='git diff'
alias gb='git branch'
alias gco='git checkout'

高级技巧:使用 alias 函数

你可能希望别名能接受参数,标准的 alias 命令不支持参数,但你可以通过创建一个函数来实现。

我们想创建一个 mkcd 命令,它可以在创建新目录的同时立即进入该目录。

  1. ~/.zshrc 中添加以下函数:

    # 创建目录并进入
    mkcd() {
      mkdir -p "$1" && cd "$1"
    }
  2. 保存文件并重新加载配置 (source ~/.zshrc)。

  3. 现在你可以这样使用:

    mkcd new_project_folder

    这会创建 new_project_folder 目录,并自动进入它。

注意事项

  • 避免与现有命令冲突:尽量不要使用像 ls, cd, rm 这样系统已有的命令作为别名名,否则你将无法使用原始命令。
  • 使用引号:如果你的别名命令中包含空格、特殊字符或需要使用 或 ,请务必用单引号 将整个别名定义括起来,这样可以避免 shell 提前解析变量或命令。
  • 可读性:为你的别名取一个有意义的、容易记住的名字。

希望这份详细的指南能帮助你更好地管理 macOS 的命令别名,提升你的工作效率!

分享:
扫描分享到社交APP
上一篇
下一篇