通过 Mac 终端命令提升工作流程

在 Unix 操作系统中,有各种有用的 Mac 终端命令可以用来改善你的工作流程。作为 Mac 用户,在使用终端时,你应该充分利用多种可以使用的技巧和窍门。

在本文中,我们将为你提供有价值的信息,教你如何轻松无误地在 Mac 终端中打开、执行和使用命令。你还将了解最佳的终端替代品,Commander One。

Mac上的终端是什么

Mac上的Terminal是Apple的命令行界面应用程序。它本质上是一个应用程序,让你可以访问Mac的内部操作。你可以用它来对操作系统进行更改,而这些更改是无法通过图形用户界面(GUI)来完成的。

Mac的命令行界面(CLI)并不是为了被普通用户使用。这就是为什么它的界面不是很友好,且可能难以理解,尤其当你没有任何技术知识时。

Terminal植根于Unix,这是Mac和Linux都构建于其上的核心操作系统。后者有一个类似的命令行工具,让你可以执行各种命令。

学习如何在Apple操作系统中运行Terminal是一个简单的过程,我们在下面进行了说明。

如何在 macOS 上打开终端

在开始在Terminal Mac中编写命令之前,您需要先知道如何打开该应用程序。有几种方法可以访问Terminal。您应使用的方法取决于您的需求和个人喜好。

终端窗口

以下是在 macOS 上打开终端的几种常用方法:

1. 如何通过Dock在Mac上打开命令行

Dock 面板通常有一个快捷方式,可带您访问所有应用程序。在 macOS 的较新版本中,此快捷方式称为“Launchpad”在应用程序列表中,找到并打开“实用工具”文件夹,您将在其中找到 Terminal 应用程序。双击打开它。

请注意,在某些版本的 macOS 上,Terminal 应用程序位于“其他”文件夹中,您可以在打开 Launchpad 后找到该文件夹。

Dock已打开

2. 通过Finder打开终端

打开 Finder 应用程序(它总是在 Dock 的最左边)点击侧边栏中的应用程序。在打开的程序列表中,找到“实用工具”文件夹并双击。在其中搜索终端应用程序并双击打开。

Finder 已打开

3. 通过聚焦搜索栏在 Mac 上打开终端

要打开聚焦搜索栏,请同时按下 Command + 空格键。在弹出的小窗口中,输入单词“Terminal”输入后,命令的 Mac 控制台将自动出现。点击它以打开。

聚光灯搜索栏

4. 基本终端 Mac 快捷键

  • Command (⌘) + T 用于打开一个新的终端窗口。
  • Command (⌘) + N 用于在终端中打开一个新的标签页。
  • Command (⌘) + Shift + T 用于在多个标签页之间切换。

如何在 Mac 上运行命令?

命令行以计算机名称开头,后跟当前目录的名称 — 默认情况下会打开用户的主目录,在 Unix 系统中用 ~(波浪号)表示。

接下来是用户名,后跟 $ 符号 — 在 Mac 上是运行命令的提示符。所有命令都是在 $ 符号之后输入的,并用 bash 语言编写。现在您知道如何在 Mac 上使用终端,可以开始执行命令了!

终端技巧须知

macOS终端可以做很多事情。从移动大量文件到更改我们甚至无法想象的偏好设定。为了展示终端的功能,我们整理了14个优秀的技巧和窍门供您参考。以下是一些最常见的Mac终端代码:

1. 启用显示隐藏文件和文件夹

如果您想查看系统隐藏的所有文件夹和文件,请在终端中运行以下命令:

defaults write com.apple.finder AppleShowAllFiles -bool TRUE && killall finder

提示:要重新隐藏它们,将值从TRUE更改为FALSE

2. 查看任何文件的内容

如果您有一个损坏的文件或者您认为里面有隐藏的内容,那么即使其他应用程序无法打开它,您也可以强制终端打开它。您需要使用的命令如下:

cat ~/path/to/file

请记住,如果您尝试打开照片或其他非文本文件,您将看到一堆无法识别的字符。

3. 将文件夹的内容从一个位置复制到另一个位置

当然,您可以直接复制粘贴整个文件夹的内容,但在需要简化和/或自动化此过程的情况下,以下 Mac 终端命令将帮助您:

ditto -V ~/source/folder/ ~/new/folder/

4. 更改截图文件格式

在 Mac 上使用终端时,您可以将截图的格式从 PNG 更改为其他任何格式,包括 PDF 和 JPG:

defaults write com.apple.screencapture type jpg && killall SystemUIServer

5. 禁用截图中的阴影

如果你经常截取很多屏幕截图并且不希望有任何额外效果,你可以使用终端关闭阴影效果,只留下窗口本身在截图中。以下是相关命令:

defaults write com.apple.screencapture disable-shadow -bool TRUE && killall SystemUIServer

6. 截图的新名称

不喜欢令人厌烦且不方便的“截图 日期-时间”命名格式?以下是一个可以用来将“截图”一词替换为更好词汇的命令:

defaults write com.apple.screencapture name "New name" && killall SystemUIServer

如果您想恢复设置并返回原始的命名格式,请使用以下命令:

defaults delete com.apple.screencapture name && killall SystemUIServer

7. 新建截图文件夹

默认情况下,所有屏幕截图都会保存在桌面上,堵塞了宝贵的空间。要更改此设置,只需在有用的终端命令列表中输入以下命令:

defaults write com.apple.screencapture location ~/your/location/here && killall SystemUIServer

8. 我的 Mac 启动多长时间了?

记不清你上次重启电脑是什么时候了吗?您可以在终端中使用以下命令检查:

uptime

9. 禁用睡眠模式

有时候,保持 Mac 处于唤醒状态是必要的,比如在创建备份时。使用 Mac 终端时,您可以通过输入以下命令来禁用 Mac 的休眠:

caffeinate

现在,无论发生什么情况,您的 Mac 都不会进入睡眠状态。

提示:您可以指定 Mac 在不活动后自动进入睡眠状态的时间(以秒为单位)以下是在命令提示行中输入命令及指定时间的方法:

caffeinate -u -t 5400

10. 当 Mac 完全卡死时启动自动重启

虽然 Mac 电脑通常都很可靠,但有时它们会无缘无故地死机,强制重启是唯一的解决方案。以下命令会强制操作系统重启,如果它发现系统没有响应:

sudo systemsetup -setrestartfreeze on

11. 拖放文件夹和文件以自动生成路径

节省时间并让使用终端更容易的一个技巧是自动生成路径。在终端工作时,你经常需要输入自定义文件路径。首先,你需要定位文件或文件夹,然后将文件路径复制到终端。这可能需要很长时间,而且容易出错。

相反,你可以抓取一个文件或文件夹,然后将其直接拖放到终端窗口中。这个技巧甚至可以在命令中途使用,所以每当你需要文件或文件夹路径时,只需抓取图标并在拖放到终端时自动生成。

12. 启用类型转换为语音功能

虽然自动生成路径可以在工作时为您节省大量时间,但键入式对话命令主要用于娱乐。当您输入say命令时,您的Mac将重复您之后输入的任何内容。

您的Mac有超过100种声音可供选择。通过在命令say -v name中添加一个名字,您可以更改用来在终端中重复您输入文本的声音。获取这些名字列表有两种方法:

  • 使用say -v ?命令获取声音名称列表。
  • 导航到系统偏好设置中的辅助功能菜单:
    • 在左侧菜单列表中选择“语音”
    • 打开系统声音下拉菜单;
    • 选择“自定义”
    • 浏览可用的声音选项,选择您最喜欢的那些。


请记住,虽然say命令识别句号和逗号,但您必须在单行内输入所有内容,因为Return键会执行您输入的任何命令。我们建议先在文本文档中输入较长的演讲段落,然后将其复制并粘贴到终端中。

按住单个键重复字符

那些同时使用Windows和macOS的人会注意到每个操作系统的键盘功能有些细微的差别。适应Mac不同的击键响应可能需要一些时间。最显著的区别之一是当你按住一个键时。

在macOS上,按住一个键会显示该字符的多个变体。而在Windows中,相同的快捷方式允许你重复输入该字符,只要你按住键不放。

这两者都是有用的功能,但在macOS中,只有在文本字段中按住空格键才能重复空格键。如果你发现自己不经常使用替代字符(请记住你也可以随时从维基百科中复制/粘贴它们)那么你可以永久切换Mac的这个功能。

打开终端并输入以下内容,然后按回车键执行:

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool FALSE

退出所有打开的应用程序并重新启动它们,以便更改生效。如果你后来改变主意并想恢复到替代字符,你可以输入相同的命令,将FALSE改为TRUE

defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool TRUE

记住一旦输入命令后要按回车键来执行该命令。

14. 自定义登录窗口消息

无论你是将 Mac 用于生产力还是娱乐,定制它以使其更加个性化都能带来一种很棒的感觉。使用终端,你可以为 Mac 的登录窗口创建自己的消息,这种定制可以扩展到多个系统,无论是在工作还是教育环境中。命令行是:

sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "你的消息这里"

确保你退出帐号或重启 Mac,以便在重新登录时开始看到问候消息。每次登录计算机时,这条消息都会出现。如果你想根据季节更改消息或完全删除它,只需使用以下命令:

sudo defaults delete /Library/Preferences/com.apple.loginwindow LoginwindowText

使用终端小技巧是让你掌握计算机知识的一种方式,享受 macOS 原生功能的乐趣,并根据你的喜好定制计算机。这里有一张速查表,列出了一些最常用的终端命令和快捷键。

Mac终端命令列表,提高生产力

这里有一些重要的 Mac 命令行命令,你可以用来提高生产力,使工作流程更流畅:

快捷键

为了节省时间,您可以在使用 Mac Terminal 时利用键盘快捷键。这些快捷键将帮助您更快更轻松地导航 Terminal。以下是一些最常用的快捷键:

命令 动作
Tab 使用自动补全文件和文件夹名称
Ctrl + A 返回到当前行的开头
Ctrl + E 跳至当前行的结尾
Ctrl + U 删除光标前的当前行
Ctrl + K 删除光标后的当前行
Ctrl + W 清除光标前的最后一个单词
Ctrl + T 交换光标前的两个字符
Esc + T 交换光标前的两个单词
Ctrl + L 清除整个屏幕
Ctrl + C 停止当前正在运行的操作
Ctrl + D 退出活动的Shell
Option + → 光标向前跳过一个单词
Option + ← 光标向后跳过一个单词
Ctrl + F 光标向前跳过一个字符
Ctrl + B 光标向后跳过一个字符
Ctrl + Y 粘贴剪切文本
Ctrl + Z 挂起后台正在运行的操作
Ctrl + _ 撤销上一个命令
Option + Shift + Cmd + C 复制选中的文本
Shift + Cmd + V 粘贴复制的选择

基础

基本的 Mac 终端命令允许您执行一些基本的管理操作,例如创建新文件和查看其内容。以下是其中的一些命令:

命令 操作
/ 根目录
. 当前工作目录
.. 当前工作目录的上级目录
~ 登录用户的主文件夹
sudo [command] 使用超级用户权限运行当前命令
nano [file] 打开终端编辑器
open [file] 打开指定文件
[command] -h 打开特定命令的帮助
man [command] 访问特定命令的帮助手册
exit 结束当前shell会话

更改目录

您可以使用各种命令来复制、移动、删除目录及执行其他类似操作。以下是其中一些:

Command Action
cd 从一个目录导航到另一个目录
cd [folder] 将目录更改为指定的新文件夹
cd ~ 导航到登录用户的主目录
cd / 导航到根目录
cd - 导航到您打开的最后一个目录
pwd 显示当前工作目录
cd .. 导航到当前目录的上级
cd ../.. 从当前目录向上导航到上两级目录
cp -r [directory] [destination-path] 复制目录
mv [directory] [destination-path] 移动目录
rm -r [directory] 删除目录

列出目录内容

您可以使用以下命令以列表形式查看目录的内容:

ls

使用 ls 命令可以完成许多操作。例如:

命令 操作
ls 显示当前目录中的所有文件和子目录名称
ls -C 强制多列显示列表
ls -a 列出所有条目,包括...目录
ls -1 以每行单条目的格式显示文件列表
ls -F 在输出目录路径后以斜杠/组织输出,在程序和脚本后以星号*,在符号链接后以@
ls -S 按大小组织文件和条目
ls -l 长格式列表,包括:文件所有者,组名,模式,日期,时间,路径名等
ls -l / 从根目录的文件系统符号链接列表
ls -lt 按时间列出文件,最近修改的在前
ls -lh 按人类可读的文件大小(KB,MB或GB)组织的长格式列表
ls -lo 按文件名组织的列表,包含文件大小,所有者和任何标志
ls -la 目录内容的详细列表,包括任何隐藏文件

文件大小和磁盘空间

有一些终端命令可以显示文件的大小以及它们在您的Mac上占用的空间。以下是其中的一些:

命令 操作
du 列出每个子目录及其内容的使用情况
df -h 显示系统的可用磁盘空间
df -H 显示系统的可用磁盘空间,使用 1,000 进制而不是 1,024 进制
du -sh [folder] 显示目录文件的可读输出
du -s 列出特定文件的条目
du -sk * | sort -nr 显示所有文件和文件夹的总大小,包括KB中的子文件夹;使用 sm 替代 sk 获取目录大小(MB)
du -k 查看文件大小(以千字节为单位)

要查看以兆字节和千兆字节为单位的大小,请分别将-k替换为-m-g

文件和目录管理

文件和目录管理命令将帮助您在终端中处理目录。例如,您可以使用pwd命令查看当前工作目录的名称。

命令 操作
mkdir <dir> 生成一个名为 <dir> 的新文件夹
mkdir -p <dir>/<dir 生成嵌套文件夹
mkdir <dir1> <dir2> <dir3> 同时创建多个文件夹, 无嵌套关系
mkdir "<dir>" 创建一个文件名中带有空格的文件夹
rmdir <dir> 删除一个空文件夹;不适用于有内容的文件夹
rm -R <dir> 删除文件夹及其内容
touch <file> 生成新文件而不指定扩展名
cp <file> <dir> 复制文件到指定的文件夹
cp <file> <newfile> 在当前使用的文件夹中复制文件
cp <file> ~/<dir>/<newfile> 在指定文件夹中复制并重命名文件
cp -R <dir> "<new dir>" 将有空格文件名的文件夹复制到新的指定文件夹
cp -i <file> <dir> 在复制文件时提供覆盖警告提示
cp <file1> <file2> <file3> /Users/<dir> 将多个文件复制到一个文件夹
cp [path-to-file] [destination-path] 复制文件到目录
ditto -V [folder path] [new folder] 将文件夹内容复制到新的指定文件夹 V 为所有复制的文件打印状态行
rm <file> 永久删除一个文件:使用此命令时要小心
rm -i <file> 在删除文件之前请求确认
rm -f <file> 强制删除文件而不需要确认
rm <file1> <file2> <file3> 同时删除多个文件而不需要确认
mv <file> <newfilename> 移动文件位置并重命名
mv <file> <dir> 将文件移到新文件夹中;允许可能覆盖现有文件
mv -i <file> <dir> 在文件覆盖之前添加可选的-i标志警告
mv *.png ~/<dir> 将当前文件夹中PNG扩展名的文件移到新文件夹

请注意,如果文件不存在,您的 Mac 将自动为您创建它。

命令历史

记不起你执行的最后一个命令了吗?别担心,Mac终端允许你通过以下命令查看你执行的所有命令的历史记录:

history

命令 操作
Ctrl + R 在先前的命令中进行搜索
history n 显示之前输入的命令;添加一个值到n以限制显示的项目
![value] 执行以给定值开始的最后输入的命令
!! 执行上次输入的命令

权限

权限命令允许您查看和更改特定文件和目录的权限,这对于保持数据的安全性非常重要。您可以使用这些命令来更改文件的所有权。

命令 操作
ls -ld 显示主目录默认权限
ls -ld <dir> 显示一个文件夹的读取、写入和访问权限
chmod 755 <file> 修改文件的权限为755
chmod -R 600 <dir> 修改文件夹及其内容的权限为600
chown <user>:<group> <file> 更改文件的属主为新的用户和组;添加-R将包括文件夹中的内容
chmod [number] [filename] 更改文件的读取和写入权限

[number] 字段是一个三位数,用于指示所有者、组和其他人的权限。

读取权限用数字4表示,写入权限用数字2表示,执行权限用数字1表示。若不授予权限,则需写入数字0。

[number] 字段中的每个数字是通过累加特定权限的值计算得出的。以以下命令为例:

chmod 600 [filename]

此命令将给予所有者读取(4)和写入(2)权限,但不授予执行(0)权限 (4+2+0=6)。组和其他人没有权限,因为第二和第三位数字均为0。

进程

顾名思义,进程命令帮助您了解当前正在运行的进程,并执行一些其他有用的操作。主要有三个命令:viewfindquit

指令 操作
ps -ax 显示当前正在运行的进程; a 显示所有用户的进程; x 显示与终端断开的进程
ps -aux 显示带有 %cpu, %mem, 页面输入, PID 和命令的进程
top 显示有关运行中进程的相关实时信息
top -ocpu -s 5 每隔5秒获取按CPU使用率排序的进程更新
top -o rsize 显示按内存使用量排序的进程列表
kill PID 退出所有ID为PID的进程;在活动监视器中查看PID作为一列
ps -ax | grep <appname> 按名称或PID定位进程

网络

在您的 Mac 上可以使用几个网络命令。以下是一些最基本的命令:

命令 操作
ping <host> Ping显示状态和主机
whois <domain> 显示指定域名的whois信息
curl -O <url/to/file> 通过HTTP、HTTPS或FTP下载选定文件
ssh <username>@<host> 使用指定的username从指定的host创建SSH连接
scp <file> <user>@<host>:/remote/path 将指定的file复制到远程host
arp -a 显示本地网络设备的IP和MAC地址列表
ifconfig en0 显示你自己的设备IP和MAC地址
traceroute [hostname] 查看数据包从你的设备传输到指定地址的路径和跳数

自制

Homebrew 是 macOS 上的一个包管理器。实质上,它在您的计算机上安装、更新和管理软件包。以下是一些最常见的 Mac 终端 Homebrew 命令:

命令 操作
brew doctor 检查 homebrew 以查找潜在问题
brew help 显示有关 homebrew 的有用formulacask命令列表
brew install <formula>|<cask> 安装一个 homebrew formulacask
brew uninstall <formula>|<cask> 卸载一个 homebrew formulacask
brew list --formula 显示已安装的formula列表,其他不显示
brew list --cask 显示已安装的cask列表,其他不显示
brew deps <formula>|<cask> 显示formulacask的依赖项列表
brew search text|/regex/ 使用正则表达式搜索formulacask
brew upgrade <formula>|<cask> 升级指定的formulacask
brew outdated <formula>|<cask> 搜索过时的formulacask
brew outdated --formula 单独搜索过时的formula
brew outdated --cask 单独搜索过时的cask
brew pin [installed_formula] formula固定以防止升级
brew unpin [installed_formula] 取消固定formula以升级包
brew cleanup 删除所有formulacask的陈旧锁文件和过时包

环境变量或路径

环境变量指的是当前用户的主目录、当前登录用户的用户名、计算机的语言等信息,输入:

命令 操作
printenv 显示当前设置并正在使用的环境变量列表
echo "Hello" 指定要在终端打印和显示的内容
echo $PATH 评估储存目录及可执行文件列表的PATH变量值
echo $PATH >path.txt 将当前PATH目录导出到文本文件
export PATH=$PATH:absolute/path to/program/ 限制通过终端执行的程序到当前会话,用于常用程序;将PATH添加到shell配置中

搜索

搜索命令可帮助您在目录中定位特定文件和内容。使用以下命令:

命令 操作
find <dir> -name "<file>" 在特定目录 <dir> 中按名称定位所有指定的文件 <file>;使用 * 搜索文件名的部分
grep "<text>" <file> 显示在特定 <file> 中每个出现的指定 <text> 的输出;使用 -i 忽略大小写
grep -rl "<text>" <dir> 在特定 <dir> 中定位包含指定 <text> 的任何文件

输出

转发输出命令允许您将一个命令的输出传递给第二个命令,在那里它被用作输入。以下是在macOS终端中编写它的方法:

命令 动作
cat <file> 输出指定<file>的所有内容
less <file> 使用 less 命令,输出指定<file>的内容时支持分页和其他功能
head <file> 仅输出指定<file>的前十行
<cmd> >> <file> 将指定<cmd>的输出附加到<file>
<cmd> > <file> <cmd>的输出指定到某个<file>
<cmd1> | <cmd2> <cmd1>的输出指定到<cmd2>

此处分享的列表不是详尽无遗的,您还可以使用更多的终端命令来提高生产力。您可以在此处以.pdf格式查看这些命令的完整列表。

如何退出 Mac 的终端?

完成上述各种命令的试验后,您可以关闭终端。在 Mac 菜单栏中找到终端。点击它并从菜单中选择退出终端。

或者,您可以同时按下Command + Q键。

Commander One - 优秀的 Mac 终端仿真器

看一下Commander One的双面板窗口

FTP终端非常适合希望一切尽在掌握并触手可及的人。Commander One不仅仅是一个像样的Mac终端模拟器应用程序,还是一个功能强大的文件管理器。

要执行终端命令,Mac用户只需在Commander One专用窗口中输入命令,或通过同时按Ctrl + O键在其中调用终端即可。之后,只需遵循我们上面分享的Mac终端命令备忘单即可。

使用 Commander One 应用程序作为 Mac 终端的替代方案

完成所有操作后,您可以通过按上述热键返回到 Commander One 的先前模式。该应用程序还有许多其他功能会让您惊讶,例如:

  • 复制文件
  • 删除文件
  • 压缩和解压文件
  • 连接到 FTP 服务器
  • 将流行的云存储挂载为本地驱动器
  • 挂载 MTP 和 iOS 设备
  • 查看系统中的进程


我们认为值得在此提及的最显著功能是该应用程序执行所有这些操作的速度非常之快。

结论

请记住,终端并不是完全安全的工具。没有经验的用户可能会造成麻烦。在执行任何Mac终端命令之前,请在互联网上向技术人员确认您的知识,不要承担过多的风险。这个建议同样适用于那些想要在没有足够的信息情况下回滚Mac OS更新的勇敢人士。

不过,我们希望这篇文章对您来说相当具有信息价值,您在其中找到了有趣的内容。

常见问题

-sudo更新您的命令为管理员(超级用户)并需要密码。但请小心,因为错误的命令可能会损坏 macOS 并需要重新安装。

基本终端命令如下:

  • cat – 列出文件或文件夹的内容;
  • cd – 类似于 DOS,使用此命令更改目录;
  • cp – 复制文件或文件夹;
  • defaults – 此命令更改未在设置中指定的设置;
  • ls – 此命令列出目录的内容;
  • mkdir – 创建一个目录;
  • mv – 移动文件或文件夹;
  • nano – 打开终端编辑器;
  • ssh – Secure Shell 的缩写,此命令在两个主机之间创建一个安全加密的连接;
  • -sudo – 将您的命令更新为管理员(超级用户)并需要密码。


不过要小心,因为错误的命令可能会破坏 macOS,并需要重新安装。

许多用户对 Mac 内置的终端应用的功能感到满意,而其他用户则希望更多。幸运的是,有很多很棒的替代品。特别是 Commander One 脱颖而出,我们建议您尝试一下。它是一个出色的 Mac 终端替代品,拥有令人印象深刻的功能数组。