由于其复杂性,Mac终端经常被用户忽视。然而,它是一个强大的工具,能够执行标准macOS图形用户界面无法完成的任务。此外,它还提供了更大的灵活性。
当谈到数据恢复时,终端可以帮助您查找和恢复已删除的文件。当macOS由于系统错误拒绝进入其标准GUI,而是进入功能受限的安全模式时,这很有用。下述部分包含了如何使用Mac终端恢复已删除文件和文件夹的分步说明。
使用 Mac Terminal 恢复已删除文件的方法
仅凭终端本身,提供了两种主要的恢复方法——从垃圾箱还原文件和使用Time Machine备份恢复文件。虽然垃圾箱和Time Machine都有GUI对应功能,但在您的Mac以单用户模式(Intel Mac)、恢复模式(Apple Silicon)或安全模式启动时,访问它们会很麻烦(或完全不可能)。
除了本地命令,还有像 TestDisk 这样的开源工具,让你可以使用终端界面恢复永久删除的文件。
这是完全可选的,但您可能在使用Terminal恢复文件时希望在恢复模式下启动您的 Mac。 这有两个主要优点:
- 恢复模式让您能够执行正常环境中无法完成的任务和终端命令。它还可以在GUI卡死或macOS启动有问题时,进行数据恢复。
- 它为您提供了多种故障排除和修复Mac的方法,从而帮助您重新访问文件。
在使用 Terminal 进行数据恢复之前,请确保它在您的 Mac 上具有完整的磁盘访问权限。否则,您将面临在 Terminal 中访问或修改文件时的权限问题。此外,如果您在 Terminal 中执行命令时遇到权限问题,请在命令前添加 sudo 。
这是如何在macOS上授予Terminal完整磁盘访问权限的方法:
- 点击左上角的苹果标志并选择 系统设置 。
- 点击左侧导航栏中的 隐私与安全 。
- 点击 完全磁盘访问权限 。
- 确保终端的滑块设置为开启位置。
现在,让我们看看如何使用Mac终端恢复已删除的文件和文件夹:
方法 1: 使用终端从回收站恢复文件
当您在macOS中删除文件时,它并没有从磁盘中永久删除。相反,它被移动到Mac上的垃圾桶/回收站文件夹中,并在该文件夹中保留直到您恢复它或清空垃圾桶。如果启用,垃圾桶可能也会在定期间隔内自动清空。
您可以使用终端访问回收站的内容,并从中恢复已删除的文件。
操作方法如下:
选项 A: 使用终端从内部存储驱动器恢复已删除的文件
- 打开终端。可以在Finder的 去 > 实用工具 部分中找到它。或者,只需按Command + Space打开Spotlight搜索,然后输入终端,并从搜索结果中点击它。
- 输入 cd ~/.Trash 并按回车键。 cd 命令用于在终端中更改目录。
- 输入 ls 并按回车键以列出回收站中的所有文件和文件夹。记下您希望恢复的文件和文件夹。 ls 命令列出现有终端目录中的文件和文件夹。
- 输入 mv filename ~/目标/文件夹 并按回车键。用实际的文件名(或文件夹名称)和目标路径分别替换filename和/Destination/Folder。在我的案例中,我将名为file_example_MOV_1280_1_4MB.mov 的文件恢复到桌面(~/Desktop/)。对所有您希望恢复的文件/文件夹执行此操作。
选项 B: 使用终端从外部存储驱动器恢复已删除的文件
上述步骤仅适用于您 Mac 上的内部垃圾桶文件夹。如果您使用的是外部驱动器,过程将略有不同:
- 将外部驱动器连接到您的Mac,并打开终端。
- 输入 id -u 并按下回车键以显示您的用户ID(UID)。记下输出结果,因为稍后您会需要它。
- 输入 ls /Volumes/ 并按下回车键以列出连接到您的Mac的所有驱动器。
- 输入 cd “/Volumes/ExternalDrive/.Trashes/UID” 并按下回车键。将ExternalDrive替换为步骤3中列出的外部存储驱动器的名称,并将UID替换为步骤2中得到的输出结果。
- 输入 ls 并按下回车键以查看外部存储驱动器的废纸篓中的文件。
- 输入 mv “filename” ~/Destination/Folder 并按下回车键。将filename和/Destination/Folder替换为实际的文件名(或文件夹名称)以及目标位置。
奖金: 希望恢复内部/外部存储驱动器上回收站文件夹的全部内容吗?只需将 “filename” 替换为 * 。该命令将显示为 mv * ~/Destination/Folder 。
方法二: 使用终端通过Time Machine恢复文件
时间机器 功能允许您恢复已删除的文件,前提是您预先启用了该功能,并且Time Machine备份包含所需的文件。如果您可以访问macOS GUI,最好使用该版本的Time Machine,因为它更简单。
如果你无法使用 macOS GUI,或者只是好奇想知道 Time Machine 在终端内是如何工作的,请按照以下指南:
- 将 Time Machine 备份驱动器连接到您的 Mac,并打开终端。
- 输入 ls /Volumes/ 并按回车键。此命令会显示连接到您 Mac 的所有驱动器——记下 Time Machine 驱动器。在我的例子中,它被命名为Time Machine Backups。
- 输入 cd “/Volumes/YourBackupDrive/” 并按回车键,将 您的备份驱动器 替换为 Time Machine 备份驱动器的名称——在我的例子中是Time Machine Backups。
- 输入 ls 并按回车键。这将列出 Time Machine 驱动器中的所有文件和文件夹。理想情况下,驱动器应仅包含您的 Time Machine 备份和其他相关文件。Time Machine 备份遵循类似的文件名模式:2024-09-27-195546.previous。文件名的第一部分代表备份的日期。在我的例子中是2024-09-27(2024 年 9 月 27 日)。
- 输入 cd “BackupName/Data/Users/YourUsername” 并按回车键。将BackupName替换为包含您要恢复的文件的 Time Machine 备份,将YourUsername替换为您的 Mac 用户名。在我的例子中,我输入了 cd “2024-09-27-195546.previous/Data/Users/manuvirajgodara/” 。
- 输入 ls 并按回车键。这将列出 Time Machine 备份的与您的用户名相关的所有文件和文件夹。记下包含您文件的文件夹。
- 输入 cd “文件夹名/” 并按回车键,将FolderName替换为包含您文件的文件夹。如果您希望进一步导航至子文件夹,请输入 ls ,记下文件夹名称,然后输入 cd “文件夹名/” ,直到到达包含所需文件的文件夹。同时,输入 ls 并确认所需的文件确实在该文件夹中。
- 输入 cp -p “Filename.extension” “/Path/to/Folder” 并按回车键。将Filename.extension替换为文件名和扩展名,将Path/to/Folder替换为恢复目标路径。我想将一个名为Invoice 7 (1).pdf 的文件复制到我的 Mac 桌面上,因此命令如下: cp -p “Invoice 7 (1).pdf” “/Users/manuvirajgodara/Desktop/” 。
方法三: 使用 TestDisk 恢复文件
TestDisk 是一个数据恢复工具,可在终端中恢复已删除的文件、修复损坏的分区等。由于它是开源的、免费使用且有效,许多用户对其高度认可。然而,其陡峭的学习曲线和对APFS驱动的不完整支持可能会阻止一些用户使用它。
虽然您可以使用官方DMG文件下载并安装TestDisk,我建议使用自制软件。这会让流程更简单,并且您不太可能遇到权限相关的问题:
- 打开终端。
- 输入以下命令并按 Enter 键以安装 Homebrew: /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)” 。
- Homebrew 安装完成后,输入 brew install testdisk 并按 Enter 键。此命令将自动下载并安装 TestDisk。
一旦安装了TestDisk,以下是恢复已删除文件的方法:
- 打开终端,输入 sudo testdisk 并按 Enter。
- 输入密码并按 Enter 打开 TestDisk。要在 TestDisk 中导航,使用箭头键高亮选项,然后按 Enter 进行选择。
- 选择是否要创建日志文件。这不会影响数据恢复过程。
- 选择你想要恢复数据的驱动器,并按 Enter。
- 选择分区表类型,并按 Enter。TestDisk 会自动检测分区表,所以最好在此屏幕上直接按 Enter,除非你确定驱动器使用其他分区表。
- 选择 分析 并按 Enter。
- 选择 快速搜索 并按 Enter。
- TestDisk 会列出在驱动器上发现的分区。高亮你想要恢复数据的分区,并在键盘上按 P 键——这将列出分区上的文件,包括已删除的文件。
- 使用箭头键在目录间导航,按 Enter 键确认。你可以通过按左右箭头键在目录间来回切换。通过导航到每个文件并按 :(冒号)选择你想要恢复的文件。选好文件后,按 C(大写),然后导航到恢复位置,再次按 C(大写)复制文件。复制完成后,按 Q 返回。
- 关闭 TestDisk。
注意: 如果驱动器使用FileVault加密,TestDisk 将无法运行,直到您关闭FileVault首先。
如果Terminal无法恢复您删除的文件怎么办?
如果上述方法都无法恢复您的删除文件,您唯一的选择就是使用功能强大的第三方基于GUI的数据恢复工具,或联系专业的数据恢复服务。
网上有无数的数据恢复程序,都声称自己是“最好的”。我的建议——从我们的精心挑选列表中的最好的数据恢复应用程序个选项中选择。这些程序已证明其可靠性和有效性。
在本教程中,我将使用Disk Drill。由于其易于使用,再加上可靠的数据恢复算法,该程序非常适合新手和专家用户。Disk Drill 提供多种文件排序、预览和过滤方式,使数据恢复更加简单。与许多其他数据恢复应用程序不同的是,Disk Drill 甚至可以在 macOS 的恢复模式中工作——您仍需要暂时连接互联网来下载该应用程序。
以下是使用 Disk Drill 恢复 Mac 上已删除文件的方法:
- 下载Disk Drill并安装它。授予程序必要的权限。
- 如果你在macOS的恢复模式中,点击 实用工具 > 终端 并粘贴以下命令: sh <(curl http://www.cleverfiles.com/bootmode/boot.xml ) 。按下Enter键,Disk Drill会自动下载并打开。
- 选择你希望恢复数据的驱动器,然后点击 查找丢失的数据
- Disk Drill完成扫描你的驱动器后,点击 查看找到的项目 。如果只想查看某些文件类型,请点击相应的文件类型图块(图片、视频、音频、文档、压缩包和其他)。
- 展开 删除或丢失 和 重建 部分。
- 选择你希望恢复的文件。Disk Drill会自动显示当前选中文件的预览,但你也可以通过点击文件名旁边的眼睛图标手动预览任何文件。一旦选择了所需的文件,点击 恢复
- 选择一个恢复目的地,然后点击 下一步 。最好选择另一块驱动器,而不是你正在恢复数据的那块。
- Disk Drill将恢复选定的文件。
Disk Drill for macOS 需要付费 一次性许可证费用 进行数据恢复。Windows 版本有一个免费试用版,可以免费恢复最多 500 MB 的数据。
注意: 虽然 Disk Drill 在 macOS 恢复模式下工作,但其功能有所限制——在恢复文件之前不能预览文件,也不能使用超链接和在 Finder 中显示功能。
结论
当传统的基于图形用户界面的恢复方法不可用时,Mac终端可以成为宝贵的数据恢复替代方法。无论是访问垃圾箱、恢复Time Machine备份,还是使用第三方应用程序执行全面的数据恢复——所有这些都可以使用终端完成。然而,当你可以访问Mac的图形用户界面以及基于图形用户界面的第三方数据恢复程序时,很难证明使用终端的合理性。