您需要了解的基本 macOS 终端命令 [指南]

已发表: 2021-06-30

终端是基于 Unix 的操作系统上的应用程序,它提供命令行界面(或 CLI),因此您可以与操作系统的 shell 交互并访问/控制其不同的服务。

macOS terminal commands
图片:

在 macOS 上,终端恰如其分地称为终端,它使用 Z shell (Zsh) 作为默认登录 shell。 (在 macOS Catalina 之前,Apple 使用 Bash shell 作为默认 shell)。 使用此终端,您可以轻松导航系统目录、复制/移动文件、获取系统信息、安全地远程登录到其他系统,以及高效地自动执行 Mac 上的任务/操作。

但是,要执行任何这些操作,您需要熟悉终端命令(及其语法)。 在本指南中,我们将介绍您需要了解的所有基本 macOS 终端命令以及如何在 Mac 上有效地使用它们。

目录

基本的 macOS 终端命令

在任何操作系统上执行命令都需要终端。 macOS 已经配备了一个,您可以在Applications > Utilities下找到它。 或者,您可以使用 Spotlight 搜索来查找终端。

此外,您还可以将其添加到您的扩展坞以便快速访问。 为此,运行终端,右键单击 Dock 中的图标,然后选择Options > Keep in Dock

打开终端窗口会打开看起来像一个黑盒子的 Mac 命令提示符。 现在,您需要做的就是输入终端命令并按回车键执行它。

为方便起见,我们将命令行命令分为几类,以便更轻松地遵循它们:

1. 基本终端命令

在您跳入特定于操作的终端命令之前,以下是您应该了解的一些基本命令。

一世。 男人

man 命令显示您要查询的命令的用户手册。 使用它,您可以获得有关命令的更多信息,例如其描述、用法、可用选项和变体等。

例如:

man cd

将为您提供您需要了解的有关 cd(更改目录)命令的所有详细信息。

ii. 清除

顾名思义,clear 命令清除 shell 并为您提供一个空白窗口来输入您的命令。 因此,如果您的终端窗口充满了所有先前命令的结果,只需运行 clear 即可获得一个干净的状态。

iii. 须藤

sudo 是最强大的终端命令。 它为您提供在 macOS 上执行操作的管理 (root) 权限。 当您想要执行需要超级用户访问权限的命令时,您需要使用它。

例如,如果你想通过终端关闭你的 Mac,你需要运行:

sudo shutdown

并输入您的用户密码以执行命令。

iv. 历史

当您想找出过去执行的所有命令时,历史命令会派上用场。 例如,如果您在 Mac 上禁用/启用了某些服务,但不完全记住它的名称或您使用的命令,您可以使用此命令找出服务并恢复您的操作。

也在 TechPP 上

2. 导航目录

在不同目录或文件夹之间移动是导航文件系统时必须执行的基本操作之一。 当您想要创建新文件、在目录之间移动文件或在目录中启动程序时,您需要执行它。

但是,在更改目录或文件夹之前,了解您当前的工作目录很重要。 为此,请运行:

pwd

同样,您可能还需要查看目录或文件夹的内容,以确定它是否包含您要访问的文件/目录。 使用以下命令及其变体有效地执行此操作:

ls

详细分类:

ls -l

查看目录的所有内容,包括隐藏的文件和目录:

ls -al

确定当前工作目录和要导航到的目录后,cd 命令将帮助您在目录之间移动。 以下是如何使用它的说明。

要转到主目录:

cd

或者

cd ~

当您要移动到特定目录或文件夹时:

cd directory_name

例如:

cd Downloads

向上移动到父目录:

cd ..

如果你想回到之前的工作目录或文件夹:

cd -

最后,当您必须转到根目录时,运行:

cd /

3.目录管理

导航到所需的目录或文件夹后,您可以在那里执行多项操作,从创建和编辑新目录到删除现有目录。

要创建目录,请运行:

mkdir directory_name

当您想一次创建多个目录或文件夹时:

mkdir directory_name_1 directory_name_2 directory_name_3

如果要删除/删除目录或文件夹,请运行:

rmdir directory_name

当您想删除非空目录时,可以使用 -R(递归)选项删除目录/文件夹及其所有内容:

rm -R directory_name

4.文件管理

与目录管理非常相似,终端还允许您执行文件操作,因此您可以创建新文件、编辑它们并删除不需要的文件。

创建文件:

touch file_name

如果要创建和编辑文件,请运行:

nano file_name

这将在 Nano 文本编辑器中打开文件。 或者,如果您更喜欢使用其他文本编辑器,请将 nano 替换为上述命令中该编辑器的名称。

在 Mac 上查看文件的文件类型:

file file_name

如果您想将文件从当前目录复制到另一个目录/文件夹,请运行:

cp file_name directory_name

例如:

cp myfile ~/Desktop/MyDocs

如果需要将文件复制到同一目录,但名称不同:

cp file_name new_file_name

除了复制之外,有时还需要在不同目录之间移动文件。 当出现此类需求时,您可以将文件从当前目录移动到另一个目录:

mv file_name directory_name

例如:

mv myfile ~/Documents/MyDocs

此外, mv 命令还兼作重命名命令。 要使用它重命名文件,请使用以下语法:

mv current_file_name new_file_name

当您想要删除/删除文件时,请运行:

rm file_name

5. 使用终端命令安装程序

macOS 预装了 Homebrew 包管理器,可让您使用终端在 Mac 上安装程序。 从某种意义上说,与需要通过一系列步骤的传统方式相比,在计算机上安装应用程序是一种更简单的方式。

要更新 Homebrew 存储库,请运行:
brew update

如果要升级系统上所有已安装的软件包:
brew upgrade

当您需要安装基于 GUI 的应用程序时,我们将不得不使用 Cask:
brew install --cask program_name

例如:
brew install --cask vlc

如果是非 GUI 程序:
brew install program_name

请注意,并非所有软件包/程序都可以立即安装:您可能需要在运行 install 命令之前添加它们的源存储库以获取它们。

最后,如果要删除程序,请使用:
brew uninstall program_name

6.网络管理

macOS 允许您直接从终端窗口查看有关网络配置的详细信息。 尽管您可以使用 GUI 来查看此类信息,但 CLI 方法使整个过程变得快速而简单,并为您节省了额外的步骤。

最基本的网络操作之一是 ping 网站/IP 地址以检查连接。 为此,请输入:

ping hostname

例如:

ping google.com

或者

ping 142.250.192.14

如果要查看设备的 IP 地址和 MAC 地址,请运行:

ifconfig en0

要查找连接到网络的所有设备的 IP 地址和 MAC 地址:

arp -a

当您需要有关 Mac 的传入和传出连接的信息时,请使用:

netstat

要查找 Mac 上所有正在运行且具有活动 Internet 连接的进程:

lsof

要获取有关域的更多信息,请使用:

whois domain_name

例如:

whois google.com

如果您想识别数据包从您的设备到其目标地址所经过的路径(和跃点),请运行:

traceroute hostname

例如:

traceroute google.com

7.流程管理

如果您曾经在 Mac 上打开过 Activity Monitor 应用程序,您就会看到系统上正在运行的所有活动进程。 这些进程可以是系统应用程序、第三方应用程序或操作系统所需的其他后台服务。

虽然一般来说,您不会遇到这些进程的问题,但有时当您的设备上运行了很多进程时 - 到了接近最大内存/CPU 限制的临界点 - 您可能会遇到一些延迟系统。

解决此问题的一种方法是使用活动监视器应用程序。 但是,更简单的方法是使用终端。

第一步是识别系统上正在运行的进程。 为此,请运行:

ps -ax

或者,如果您想知道当前正在运行的顶级进程的状态,您可以这样做:

top

qcontrol + C停止。

现在,如果您在上述任何命令的输出中发现一个不熟悉的进程或消耗大量资源的进程,您可以通过运行以下命令获取有关它的更多信息:

ps -ax | grep program_name

例如:

ps -ax | grep Safari

在这里,您可以在 CMD 列下看到应用程序名称。 它通常与程序/应用程序的绝对路径一起列出。

在了解有关该过程的更多信息后,如果您发现需要终止它,请运行:

sudo killall program_name

前任:

sudo killall systemuiserver

或者

sudo kill PID

由于我们使用 sudo 运行 kill/killall 命令,因此您需要在输入命令后输入用户密码才能执行它。

8.权限管理

操作系统上的权限定义了谁可以访问和修改计算机上的文件/目录。 如果您有多个用户共享同一个系统,您可以为每个用户设置权限以限制他们的访问并防止他们查看或修改您的系统(或其他)文件。

一旦掌握了终端的语法,在终端上设置权限就相当容易了。 但是,在开始之前,您需要做的第一件事是确定要修改的文件的文件权限。 为此,请键入:

ls -al file_name

您应该能够在输出的左侧看到文件权限。 文件/目录权限通常包含 11 个字符:第一个字符表示它是文件还是目录,接下来的 9 个字符表示权限(并分为三个一组,最后一个字符标识文件/目录是否带有扩展属性。

第一个字符始终是连字符 ( ) 或字母 ( d ):前者表示文件,而后者表示目录。 转到接下来的九个字符,它们分为三组:文件/目录所有者、组和其他用户权限。 这九个位置中的每一个都被以下字符占据:–(无权限)、 r (读取)、 w (写入)或x (执行)。

通过将这些字符放在一起,您可以设置文件/目录的权限。 以下是权限的形成方式:

  • 表示没有读、写、执行权限。
  • r–仅显示读取权限。
  • rw-表示文件只能读写。
  • rwx表示该文件可以被读取、写入和执行。
  • rx表示该文件只能被读取和执行。

或者,您也可以使用数字表示法,其中将上述字符替换为数字。 它总共由八个数字组成,以下是它们所代表的细分:

  • 0 – 没有权限
  • 1 – 执行
  • 2 – 写
  • 3 – 执行和写入
  • 4 – 阅读
  • 5 – 读取并执行
  • 6 – 读写
  • 7 – 读、写和执行

最后,权限符号中的第十一个字符是@ 。 它被称为扩展属性,对特定文件和目录是唯一的。

有了基础知识,以下是如何结合上述信息来设置权限。

要为所有三个访问类设置读取、写入和执行权限,请运行:

chmod ugo+rwx file_name

在数字表示中,您需要使用:

chmod 777 file_name

对目录中的所有文本文件执行相同操作:

chmod ugo+rwx *txt

当需要为所有用户类提供相同的权限时:

chmod a+rwx file_name

如果您想以用户类获得所有三种访问权限而组获得读写访问权限而其他用户仅获得读取访问权限的方式设置权限,则需要使用以下命令:

chmod ugo+rwxrw-r-- file_name

使用数字表示:

chmod 764 file_name

要删除组和其他用户类的写入和执行权限,请输入:

chmod go-wx file_name

或者

chmod 744 file_name

如果您发现很难使用数字表示,您可以使用 chmod 计算器来推断您的权限要求的权限表示。

9. 所有权管理

虽然chmod使您能够更改文件/目录权限以限制其访问,但它不允许您决定谁拥有文件/目录。 这就是chown命令出现的地方,它可以帮助您更改 Mac 上文件/目录的所有权。

如果您不确定何时使用哪个命令,这里有一个提示:如果您想更改 Mac 上的用户可以对您的文件执行的操作,则需要 chmod,而当您想更改文件的所有者时,您需要 chown .

要更改文件的所有权,请使用以下语法:

chown user name file_name

例如:

chown user1 myfile

要知道您的用户名,请在终端中运行whoami 。 或者,要查找 Mac 上所有用户的列表,请输入:

ls /users

在此之后,如果您想更改您无权访问的文件/目录的所有权,您可以使用 sudo 强制更改:

sudo chown user_name path/to/file

请注意,您还需要为您的文件添加绝对路径(即根目录的路径)。 例如,如果您的文件位于 Documents 中,则需要使用以下语法 ~/Documents/Directory_Name/File_Name。

例如:

sudo chown user1 ~/Documents/MyFolder/myfile

使用终端命令高效使用 Mac

在这个列表中,我们几乎没有触及终端命令的表面:还有许多其他命令可用于在 Mac 上执行几乎所有类型的操作。

但是,话虽如此,我们上面列出的命令肯定会帮助您掌握终端,并使您能够有效地使用它在 Mac 上快速有效地执行琐碎的操作。 随着时间的推移,随着您对它的熟悉,您将能够更熟练地使用它。