Mac终端命令行怎么用?
- 电脑教程
- 2025-06-21
- 9
探索 Mac 的强大心脏:终端命令行使用指南
你的 Mac 不仅仅拥有优雅的界面,其真正的力量隐藏在名为“终端”的工具之中,终端(Terminal)是通往 macOS 底层 Unix 系统(基于 BSD)的命令行接口(CLI),你可以通过输入文本命令来完成各种任务,从简单的文件管理到复杂的系统配置、网络诊断、软件开发等,对于想要更高效、更深入地控制 Mac 掌握终端是提升技能的关键一步。
重要提示:
️ 使用终端需要谨慎!
命令行拥有极高的权限。错误的命令可能导致数据丢失、系统不稳定甚至无法启动。 请务必:
- 理解命令的作用:在按下回车键之前,确保你知道这个命令是做什么的。
- 谨慎使用 sudo:sudo 命令让你以管理员(root)身份运行命令,拥有修改系统核心文件的能力。仅在必要时使用,并确保命令来源可靠且你完全理解其后果。
- 备份重要数据:在进行可能影响系统或重要文件的操作前,请务必备份你的数据(使用 Time Machine 或其他方式)。
本指南旨在提供安全、实用的入门知识,但操作风险需自行承担。
第一步:启动终端
在 Mac 上打开终端非常简单,有以下几种常用方法:
- 聚焦搜索 (Spotlight):按下键盘快捷键 Command (⌘) + 空格键,在出现的搜索框中输入“终端”或“Terminal”,然后按回车键,这是最快的方式。
- 应用程序文件夹:打开“访达” -> 进入“应用程序”文件夹 -> 找到“实用工具”文件夹 -> 双击打开“终端”应用。
- Launchpad:点击 Dock 上的 Launchpad 图标(火箭形状),在搜索栏输入“终端”,点击图标打开。
启动后,你会看到一个窗口,通常包含一个命令提示符,类似于:
yourusername@yourmac ~ %
(在较新的 macOS 版本中,默认 shell 是 zsh,提示符可能稍有不同,但功能类似)。
这里的 符号代表你的个人主目录(通常是 /Users/你的用户名),这是你启动终端时的默认位置。

核心概念:文件系统路径
- 绝对路径:从根目录 开始的完整路径。/Users/yourusername/Documents/report.txt,无论你当前在哪个目录,绝对路径都能唯一指定一个文件或文件夹的位置。
- 相对路径:相对于你当前工作目录的路径。
- :代表当前目录(./file.txt 表示当前目录下的 file.txt)。
- :代表上一级目录(父目录)。
- :代表你的主目录(/Users/你的用户名)。
- 如果你当前在 /Users/yourusername,Documents/report.txt 就是一个相对路径,指向 /Users/yourusername/Documents/report.txt。
基础导航与文件操作
掌握以下基本命令是使用终端的基石:
-
pwd (Print Working Directory)
- 作用:显示你当前所在的目录(工作目录)的完整绝对路径。
- 示例:pwd -> 输出 /Users/yourusername
-
ls (List)
- 作用:列出当前目录下的文件和文件夹。
- 常用选项:
- ls -l:以详细列表格式显示(包含权限、所有者、大小、修改时间)。
- ls -a:显示所有文件,包括隐藏文件(以 开头的文件,如 .bash_profile)。
- ls -lh:以详细列表格式显示,并用易读的单位(K, M, G)显示文件大小 (-h 表示 human-readable)。
- ls /path/to/directory:列出指定路径下的内容。
- 示例:ls -la ~/Documents -> 列出 Documents 文件夹下的所有文件(包括隐藏文件)的详细信息。
-
cd (Change Directory)
- 作用:切换当前工作目录。
- 用法:
- cd /path/to/directory:切换到指定的绝对路径。
- cd relative/path:切换到相对于当前目录的路径。
- cd 或 cd ~:直接回到你的主目录 (/Users/你的用户名)。
- cd ..:切换到上一级目录(父目录)。
- cd -:切换回你上一次所在的目录。
- 示例:
- cd Documents -> 进入当前目录下的 Documents 子目录。
- cd ../Downloads -> 进入与当前目录同级的 Downloads 目录。
- cd /Volumes/ExternalDrive -> 进入挂载的外部驱动器(如果名为 ExternalDrive)。
-
mkdir (Make Directory)

- 作用:创建新的目录(文件夹)。
- 用法:mkdir directory_name
- 示例:mkdir Projects -> 在当前目录下创建名为 Projects 的文件夹。mkdir -p Parent/Child -> 创建嵌套目录 Parent 并在其中创建 Child (-p 确保父目录不存在时一并创建)。
-
touch
- 作用:主要用途是创建新的空文件,或者更新现有文件的访问和修改时间戳(如果文件已存在)。
- 用法:touch filename
- 示例:touch notes.txt -> 在当前目录创建(或更新)名为 notes.txt 的空文件。
-
cp (Copy)
- 作用:复制文件或目录。
- 用法:
- cp source_file destination_file:复制文件并重命名(destination_file 与源不同名)。
- cp source_file /path/to/destination_directory/:复制文件到目标目录(保持原名)。
- cp -R source_directory /path/to/destination_directory/:递归复制整个目录及其内容 (-R 或 -r 选项必须用于目录)。
- 示例:
- cp report.docx report_backup.docx -> 复制 report.docx 为 report_backup.docx(在同一目录)。
- cp *.jpg ~/Pictures/ -> 将当前目录所有 .jpg 文件复制到 Pictures 目录。
- cp -R OldProjects ~/Backups/ -> 将整个 OldProjects 文件夹复制到 Backups 目录。
-
mv (Move)
- 作用:移动文件或目录,或者重命名文件或目录(本质上是移动到同一路径下的新名字)。
- 用法:语法与 cp 类似,但不需要 -R 来移动目录(mv 本身就能移动目录)。
- mv old_name new_name:重命名当前目录下的文件/目录。
- mv file /path/to/new/location/:移动文件到新位置(保持原名)。
- mv directory /path/to/new/location/:移动整个目录到新位置。
- 示例:
- mv draft.txt final_report.txt -> 将 draft.txt 重命名为 final_report.txt。
- mv Downloads/vacation.mp4 Movies/ -> 将 vacation.mp4 从 Downloads 移动到 Movies 目录。
-
rm (Remove)
- 作用:删除文件或目录。极其危险!请务必确认路径无误!
- 用法:
- rm filename:删除文件。
- rm -i filename:删除前交互式确认 (-i 选项推荐给新手)。
- rm -r directory_name:递归删除整个目录及其所有内容(-r 或 -R 必须用于目录)。极度危险!
- rm -rf directory_name:强制递归删除,不进行任何确认 (-f 表示 force)。超级危险!仅在绝对必要时使用,且必须百分百确定路径正确!
- 重要警告:rm -rf / 或 rm -rf ~ 等命令会立即、不可逆地删除你整个系统或主目录的所有文件!永远不要尝试!
-
cat (Concatenate)
- 作用:在终端中显示文件的内容(适合查看较小的文本文件),也可以用于合并多个文件。
- 用法:cat filename
- 示例:cat ~/.zshrc -> 显示主目录下 .zshrc 配置文件的内容。
-
less / more
- 作用:分页查看文件内容(适合查看较大的文本文件),按 空格键 向下翻页,按 b 向上翻页,按 q 退出。less 比 more 功能更强大(支持上下滚动、搜索等),是现代 macOS 上的首选。
- 用法:less filename 或 more filename
- 示例:less /var/log/system.log -> 分页查看系统日志。
-
man (Manual)

- 作用:查看命令的官方手册页(manual page),这是学习命令用法、选项和参数的最权威来源。遇到不熟悉的命令,第一反应应该是查 man!
- 用法:man command_name
- 示例:man ls -> 查看 ls 命令的详细手册,在 man 页面中,使用方向键导航,按 q 退出。
-
文件权限:Unix 系统对文件/目录有三类权限(读 r、写 w、执行 x)和三组用户(所有者 u、所属组 g、其他用户 o),使用 ls -l 可以看到权限(如 -rw-r--r--)。
-
chmod (Change Mode):
- 作用:修改文件或目录的权限。
- 用法:有多种方式,常用数字模式(八进制):
- chmod 755 filename:设置文件权限为 rwxr-xr-x (所有者:读/写/执行;组和其他:读/执行),常用于可执行脚本。
- chmod 644 filename:设置文件权限为 rw-r--r-- (所有者:读/写;组和其他:只读),常用于普通文件。
- 示例:chmod +x myscript.sh -> 给 myscript.sh 添加所有用户的执行权限 (+x)。chmod 600 secret.txt -> 设置 secret.txt 只有所有者可读写 (rw-------)。
-
sudo (Super User DO):
- 作用:以超级用户(root)权限执行后续的命令,用于执行需要管理员权限的操作(如安装系统级软件、修改系统配置文件)。
- 用法:sudo command,执行时,系统会提示你输入当前管理员用户的登录密码(输入时屏幕上不会显示任何字符,输完按回车)。
- 重要原则:
- 仅在必要时使用 sudo。
- 完全理解你将要执行的 sudo command 的作用和潜在风险。
- 不要养成 sudo 执行所有命令的习惯。
- 示例:sudo softwareupdate -i -a -> 以管理员权限安装所有可用更新。sudo nano /etc/hosts -> 以管理员权限用 nano 编辑器编辑系统 hosts 文件。
- 文本编辑器:
- nano:简单易用的命令行文本编辑器,适合初学者快速编辑配置文件。nano filename 打开文件,屏幕底部有常用快捷键提示(如 ^O 保存,^X 退出)。
- vim / vi:功能极其强大的老牌编辑器,学习曲线陡峭但效率极高。vim filename 打开文件,需要专门学习其模式(命令模式、插入模式)和快捷键。
- 进程管理:
- ps:查看当前运行的进程,常用 ps aux 查看所有用户的详细进程信息。
- top / htop (需安装):动态实时显示系统进程和资源占用情况(CPU、内存等),按 q 退出。htop 是更直观的增强版(可通过 brew install htop 安装)。
- kill:终止进程,需要知道进程 ID (PID),先用 ps 或 top 找到 PID,kill PID,强制终止用 kill -9 PID。
- 网络诊断:
- ping:测试与目标主机(域名或 IP)的网络连通性。ping google.com,按 Control+C 停止。
- ifconfig:查看和配置网络接口信息(IP 地址、MAC 地址等)。
- netstat:显示网络连接、路由表、接口统计等信息,常用 netstat -an 查看所有连接。
- curl:强大的命令行数据传输工具,用于下载文件、测试 API 等。curl -O https://example.com/file.zip 下载文件。
- ssh:通过安全的加密通道远程登录和管理其他计算机。ssh username@remote_host。
- 软件包管理 – Homebrew (强烈推荐!):
- Homebrew 是 macOS 上最受欢迎的第三方包管理器,它可以让你轻松安装、更新和管理数千种命令行工具和桌面应用。
- 安装:访问 https://brew.sh 获取最新的一键安装命令(通常是一个 curl 命令)。
- 基本用法:
- brew update:更新 Homebrew 自身。
- brew search keyword:搜索软件包。
- brew install package_name:安装软件包(如 brew install wget 安装 wget 下载工具)。
- brew upgrade package_name:升级特定软件包。
- brew upgrade:升级所有可升级的软件包。
- brew list:列出已安装的软件包。
- brew info package_name:查看软件包信息。
- brew uninstall package_name:卸载软件包。
- 版本控制 – Git:
- Git 是分布式版本控制系统,是软件开发的核心工具,macOS 通常预装了 Git。
- 基础命令:git init, git clone, git add, git commit, git push, git pull, git status, git log,需要系统学习。
- Shell:终端运行的程序,负责解释和执行你输入的命令,macOS Catalina (10.15) 及以后版本,默认 shell 是 zsh (Z Shell),之前版本默认是 bash (Bourne Again Shell),两者功能强大且相似,zsh 在用户体验(如自动补全、主题)上更现代,你可以通过 echo $SHELL 查看当前 shell。
- Shell 配置文件:~/.zshrc (对于 zsh) 或 ~/.bash_profile / ~/.bashrc (对于 bash),这些文件在 shell 启动时自动执行,用于设置环境变量 (PATH)、别名 (alias)、函数、提示符样式等,编辑这些文件可以个性化你的终端体验。
- PATH 环境变量:这是一个非常重要的变量,它告诉 shell 去哪里查找你输入的命令对应的可执行程序,当你安装新命令行工具(如通过 Homebrew),通常需要将其安装路径(如 /usr/local/bin)添加到 PATH 中(通常在 shell 配置文件中修改)。
- 别名 (alias):可以为常用命令创建简短的别名,在 ~/.zshrc 中添加 alias ll='ls -lah',之后输入 ll 就等同于输入 ls -lah,编辑后需要运行 source ~/.zshrc 使更改生效,或新开一个终端窗口。
- 命令历史:按 (上箭头) 键可以快速调出之前执行过的命令。history 命令列出所有历史记录。
- 求知欲与谨慎并存:学习命令时,多用 man 查阅官方文档,对不熟悉的命令,特别是来自网络的,务必先理解再执行。
- sudo 是双刃剑:仅在绝对需要管理员权限时使用,并确保命令来源可靠且你完全理解其作用,避免 sudo !!(以 sudo 重复上条命令)这种危险快捷方式。
- rm 是核武器:尤其是 rm -rf,删除前再三确认路径,考虑使用 -i 选项或先 mv 到临时目录。
- 备份!备份!备份! 在进行系统级修改或重要文件操作前,使用 Time Machine 或其他方式备份你的 Mac。
- 利用 Homebrew:优先使用 Homebrew 安装和管理命令行工具
权限管理:chmod 和 sudo
实用工具与进阶探索
掌握了基础命令后,你可以尝试更强大的工具:
提升效率:Shell 与环境
安全与最佳实践总结