快速通道
核心要点
- Mac 终端工具允许用户通过强大的文本命令执行多种任务,如查找文件和自定义设置。
- 理解终端命令的结构和文件路径,有助于更有效地浏览和操作 Mac 系统。
- 常用的终端命令包括:用于文件搜索的 “find”、查看磁盘使用情况的 “du”、移动文件的 “mv”、列出文件的 “ls”、创建文件夹的 “mkdir” 和删除文件的 “rm”。
尽管 Mac 的图形用户界面(GUI)操作简便,足以应对日常需求,但终端工具允许用户深入底层,通过一系列强大的文本命令完成各种任务。
查找隐藏的 5GB 文件,或是定位已删除应用的相关文件,终端能提供更快速的方法。 对于这些及其他任务,Mac 终端会是你的得力助手。
终端是什么?
终端是一个实用程序,它允许你通过命令行与 Mac 进行互动。 由于 Linux 和 macOS 都是类 Unix 操作系统,Linux 也包含类似的工具。 尽管 macOS 终端以前使用 Bash 命令,但自 macOS Catalina 起,它已改为基于 zsh (Z shell)。 不过,这里介绍的基础命令适用于两者。
启动 Mac 终端的方法有很多。 一旦开始使用,你还可以根据个人喜好自定义 Mac 终端中的 zsh 提示符。
你还可以通过终端执行更多操作。 例如,安装 Homebrew 包管理器后,你可以用它来安装新的编程语言、软件仓库等。
Mac 命令行基本操作
首先,让我们了解一些终端的基本常识。
基本语法
zsh (或 Bash) 命令通常遵循以下模式:
[命令] [选项] [输入或文件/目录路径]
例如,在命令中:
ls -la Downloads
…用于列出“下载”文件夹的内容:
- ls 是命令。
- -la 是两个独立选项的组合:-l (长列表格式) 和 -a (所有文件和目录)。
- Downloads 是目录(文件夹)的路径。
路径
理解路径有助于了解 macOS 如何组织文件。 本质上,文件的路径就像一个俄罗斯套娃,包含该文件的所有层级文件夹,最后是文件本身的名字。
例如,在 Mac 上,用户 John Doe 的桌面上有个名为 “My Secrets” 的文件,它的完整路径为:
/Users/jdoe/Desktop/"My Secrets"
然而,如果当前你已位于该用户的主文件夹下(可以使用 pwd 命令检查),你可以只使用相对路径:
Desktop/"My Secrets"
空格
你必须转义空格,终端才能正确处理。 zsh 将空格视为命令的结束。 因此,如果你的文件夹名称包含空格 (比如 “Path Test”),并且尝试使用以下命令列出其内容:
ls Documents/Path Test
…你会收到错误提示“没有这样的文件或目录”。 这是怎么回事? zsh 认为你正在对 “Documents/Path” 执行 ls 命令。 当它找不到名为 “Documents/Path” 的文件或目录时,操作就会停止。
如果你希望 zsh 识别文件夹的全名,可以使用引号将名称括起来:
ls Documents/"Path Test"
或者,你可以在空格前使用反斜杠:
ls Documents/Path\ Test
这样就能正确列出 “Path Test” 目录的内容。
菲尔·金/PCPC.me
sudo
许多命令需要管理员权限。 如果你当前没有以管理员身份登录,但知道管理员密码,可以在命令前加上 sudo (代表 “超级用户执行”),临时赋予其管理员权限。
提升效率的终端指令
现在你已经了解了基础知识,让我们来了解一些最实用的终端命令。 你可以通过输入以下内容获取这些命令的完整信息,包括所有选项和示例:
man <命令名称>
…在终端中运行。
find
替代:聚焦搜索
优势:速度更快,可以搜索 Spotlight 排除的系统文件夹或索引有问题的文件。 Spotlight 通常会跳过 macOS 系统文件,除非你指定,即便如此,索引它们时也可能出现问题。 相比之下,终端的 find 命令可以在任何位置搜索任何内容,并输出匹配结果的完整路径。
find 命令的语法由四部分组成,按顺序是:
需要注意的是,find 使用正则表达式。 这里我们使用星号 (*) 作为通配符。 将其放置在搜索字符串的末尾,意味着 find 将输出搜索词前后有字符的结果。
find Documents -d 1 -name "p*"
综合来看,上述命令的含义是:
查找 “Documents” 目录中所有名称以小写字母 “p” 开头的文件或目录(由于 -d 1 选项,不会搜索其子目录)。
菲尔·金/PCPC.me
du
替代:Cmd + I 显示信息
- 优势:可以一次显示多个文件夹,通常加载时间更短。 du 代表 “磁盘使用情况”,可以快速显示文件或文件夹的大小,甚至是文件夹内的文件列表。du 的常用选项包括:
- -d(深度):当后跟一个数字时,du 命令的搜索深度将被限制在其运行目录的 -d 层级。例如,du -d 1 Documents 将只显示 “Documents” 文件夹及其一级子文件夹的总大小。
-h(人类可读):以 K、M 或 G 为单位显示文件大小,分别代表千字节、兆字节或千兆字节。
菲尔·金/PCPC.me
mv
替代:点击并拖拽移动文件和文件夹。
优势:速度更快,无需导航。 可以使用 mv 快速将文件或文件夹移动到其他位置。它的工作原理是简单地更改路径名称。
mv <旧文件路径> <新文件路径>
语法如下:
mv /Users/jdoe/Documents/file1.rtf /Users/jdoe/Desktop/file1.rtf
例如:
…将 file1.rtf 从用户 jdoe 的 “Documents” 文件夹移动到桌面。
ls
替代:Cmd + I 显示信息。
优势:速度更快,可以一次显示多个文件的信息,并且高度可定制。 ls 是一个非常强大的命令,可以精确地显示文件夹中的内容。它还会显示谁可以查看文件、是否有隐藏文件或文件夹等等。
- ls 的常用选项包括:
- -l(长):显示文件夹中每个文件的权限、最近修改时间、文件所有者和文件名。
-a (全部):显示文件夹中的所有文件,包括隐藏文件(非常适合显示 macOS 中默认隐藏的用户库)。
示例输出如下所示:
菲尔·金/PCPC.me
mkdir
替代:Finder > 文件 > 新建文件夹。
优势:速度更快,你可以在命令中直接设置名称,而不是双击新建文件夹。 使用此命令可以立即创建新文件夹。
mkdir /Users/jdoe/Desktop/cool_stuff
例如,命令:
…在桌面上创建一个新的 “cool_stuff” 文件夹。
rm
替代:将文件移至废纸篓并清空。
优势:速度更快,并且适合删除垃圾桶无法删除的顽固文件。 此命令会立刻且无提示地删除你指定路径的文件。 使用时要格外小心。与点击“清空废纸篓”不同,rm 不会询问你是否确定。 它假设你知道自己在做什么。
关于 rm 命令需要注意的是,默认情况下,它只会删除文件,不会删除文件夹。 如果要删除文件夹,必须使用 -R 选项,该选项表示 “递归”。
rm -R /Users/jdoe/Desktop/cool_stuff
例如,命令:
…会删除桌面上的 “cool_stuff” 文件夹。
现在你已经了解了一些基本的终端命令,可以开始将它们融入到日常 Mac 工作流程中。 一旦你熟悉了 zsh 的使用,不仅可以简单地替代日常任务,还可以开始探索只有命令行才能提供的功能。