Mac终端命令行怎么用?
- 电脑教程
- 2025-06-21
- 4571
探索 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退出。
- 作用:查看命令的官方手册页(manual page),这是学习命令用法、选项和参数的最权威来源。遇到不熟悉的命令,第一反应应该是查
权限管理:chmod 和 sudo

-
文件权限: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 与环境
- 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 安装和管理命令行工具
