使用 Mac 终端恢复已删除文件的方法:详解所有选项

manuviraj
作者:
经批准
16

recover files using mac terminal由于其复杂性,Mac终端经常被用户忽视。然而,它是一个强大的工具,能够执行标准macOS图形用户界面无法完成的任务。此外,它还提供了更大的灵活性。

当谈到数据恢复时,终端可以帮助您查找和恢复已删除的文件。当macOS由于系统错误拒绝进入其标准GUI,而是进入功能受限的安全模式时,这很有用。下述部分包含了如何使用Mac终端恢复已删除文件和文件夹的分步说明。

使用 Mac Terminal 恢复已删除文件的方法

仅凭终端本身,提供了两种主要的恢复方法——从垃圾箱还原文件和使用Time Machine备份恢复文件。虽然垃圾箱和Time Machine都有GUI对应功能,但在您的Mac以单用户模式(Intel Mac)、恢复模式(Apple Silicon)或安全模式启动时,访问它们会很麻烦(或完全不可能)。

除了本地命令,还有像 TestDisk 这样的开源工具,让你可以使用终端界面恢复永久删除的文件。

这是完全可选的,但您可能在使用Terminal恢复文件时希望在恢复模式下启动您的 Mac。 这有两个主要优点:

  1. 恢复模式让您能够执行正常环境中无法完成的任务和终端命令。它还可以在GUI卡死或macOS启动有问题时,进行数据恢复。
  2. 它为您提供了多种故障排除和修复Mac的方法,从而帮助您重新访问文件。

在使用 Terminal 进行数据恢复之前,请确保它在您的 Mac 上具有完整的磁盘访问权限。否则,您将面临在 Terminal 中访问或修改文件时的权限问题。此外,如果您在 Terminal 中执行命令时遇到权限问题,请在命令前添加 sudo

这是如何在macOS上授予Terminal完整磁盘访问权限的方法:

  1. 点击左上角的苹果标志并选择 系统设置
  2. 点击左侧导航栏中的 隐私与安全
  3. 点击 完全磁盘访问权限
  4. 确保终端的滑块设置为开启位置。Full Disk Access with Terminal enabled in macOS settings.

现在,让我们看看如何使用Mac终端恢复已删除的文件和文件夹:

方法 1: 使用终端从回收站恢复文件

当您在macOS中删除文件时,它并没有从磁盘中永久删除。相反,它被移动到Mac上的垃圾桶/回收站文件夹中,并在该文件夹中保留直到您恢复它或清空垃圾桶。如果启用,垃圾桶可能也会在定期间隔内自动清空。

您可以使用终端访问回收站的内容,并从中恢复已删除的文件。

操作方法如下:

选项 A: 使用终端从内部存储驱动器恢复已删除的文件

  1. 打开终端。可以在Finder的 去 > 实用工具 部分中找到它。或者,只需按Command + Space打开Spotlight搜索,然后输入终端,并从搜索结果中点击它。
  2. 输入 cd ~/.Trash 并按回车键。 cd 命令用于在终端中更改目录。Terminal navigating to the Trash directory.
  3. 输入 ls 并按回车键以列出回收站中的所有文件和文件夹。记下您希望恢复的文件和文件夹。 ls 命令列出现有终端目录中的文件和文件夹。Terminal listing files in the Trash directory.
  4. 输入 mv filename ~/目标/文件夹 并按回车键。用实际的文件名(或文件夹名称)和目标路径分别替换filename/Destination/Folder。在我的案例中,我将名为file_example_MOV_1280_1_4MB.mov 的文件恢复到桌面(~/Desktop/)。对所有您希望恢复的文件/文件夹执行此操作。Terminal moving file from Trash to Desktop.

选项 B: 使用终端从外部存储驱动器恢复已删除的文件

上述步骤仅适用于您 Mac 上的内部垃圾桶文件夹。如果您使用的是外部驱动器,过程将略有不同:

  1. 将外部驱动器连接到您的Mac,并打开终端。
  2. 输入 id -u 并按下回车键以显示您的用户ID(UID)。记下输出结果,因为稍后您会需要它。Terminal displaying user ID number with 'id -u' command.
  3. 输入 ls /Volumes/ 并按下回车键以列出连接到您的Mac的所有驱动器。Terminal listing volumes on the system.
  4. 输入 cd “/Volumes/ExternalDrive/.Trashes/UID” 并按下回车键。将ExternalDrive替换为步骤3中列出的外部存储驱动器的名称,并将UID替换为步骤2中得到的输出结果。Terminal navigating to Trash on USB drive.
  5. 输入 ls 并按下回车键以查看外部存储驱动器的废纸篓中的文件。Terminal listing files in USB drive Trash directory.
  6. 输入 mv “filename” ~/Destination/Folder 并按下回车键。将filename/Destination/Folder替换为实际的文件名(或文件夹名称)以及目标位置。Terminal moving PDF from external drive to Desktop.

奖金: 希望恢复内部/外部存储驱动器上回收站文件夹的全部内容吗?只需将 “filename” 替换为 * 。该命令将显示为 mv * ~/Destination/Folder

方法二: 使用终端通过Time Machine恢复文件

时间机器 功能允许您恢复已删除的文件,前提是您预先启用了该功能,并且Time Machine备份包含所需的文件。如果您可以访问macOS GUI,最好使用该版本的Time Machine,因为它更简单。

如果你无法使用 macOS GUI,或者只是好奇想知道 Time Machine 在终端内是如何工作的,请按照以下指南:

  1. 将 Time Machine 备份驱动器连接到您的 Mac,并打开终端。
  2. 输入 ls /Volumes/ 并按回车键。此命令会显示连接到您 Mac 的所有驱动器——记下 Time Machine 驱动器。在我的例子中,它被命名为Time Machine BackupsTerminal listing volumes, including Time Machine backups.
  3. 输入 cd “/Volumes/YourBackupDrive/” 并按回车键,将 您的备份驱动器 替换为 Time Machine 备份驱动器的名称——在我的例子中是Time Machine BackupsTerminal navigating to Time Machine backup folder.
  4. 输入 ls 并按回车键。这将列出 Time Machine 驱动器中的所有文件和文件夹。理想情况下,驱动器应仅包含您的 Time Machine 备份和其他相关文件。Time Machine 备份遵循类似的文件名模式:2024-09-27-195546.previous。文件名的第一部分代表备份的日期。在我的例子中是2024-09-27(2024 年 9 月 27 日)。Terminal listing Time Machine backup manifest.
  5. 输入 cd “BackupName/Data/Users/YourUsername” 并按回车键。将BackupName替换为包含您要恢复的文件的 Time Machine 备份,将YourUsername替换为您的 Mac 用户名。在我的例子中,我输入了 cd “2024-09-27-195546.previous/Data/Users/manuvirajgodara/”Terminal accessing Time Machine backup data.
  6. 输入 ls 并按回车键。这将列出 Time Machine 备份的与您的用户名相关的所有文件和文件夹。记下包含您文件的文件夹。Terminal listing contents of Time Machine backup.
  7. 输入 cd “文件夹名/” 并按回车键,将FolderName替换为包含您文件的文件夹。如果您希望进一步导航至子文件夹,请输入 ls ,记下文件夹名称,然后输入 cd “文件夹名/” ,直到到达包含所需文件的文件夹。同时,输入 ls 并确认所需的文件确实在该文件夹中。Terminal accessing Desktop folder in Time Machine backup.
  8. 输入 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/”Terminal copying file from Time Machine backup to Desktop.

方法三: 使用 TestDisk 恢复文件

TestDisk 是一个数据恢复工具,可在终端中恢复已删除的文件、修复损坏的分区等。由于它是开源的、免费使用且有效,许多用户对其高度认可。然而,其陡峭的学习曲线和对APFS驱动的不完整支持可能会阻止一些用户使用它。

虽然您可以使用官方DMG文件下载并安装TestDisk,我建议使用自制软件。这会让流程更简单,并且您不太可能遇到权限相关的问题:

  1. 打开终端。
  2. 输入以下命令并按 Enter 键以安装 Homebrew: /bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
  3. Homebrew 安装完成后,输入 brew install testdisk 并按 Enter 键。此命令将自动下载并安装 TestDisk。

一旦安装了TestDisk,以下是恢复已删除文件的方法:

  1. 打开终端,输入 sudo testdisk 并按 Enter。Terminal running TestDisk with sudo command.
  2. 输入密码并按 Enter 打开 TestDisk。要在 TestDisk 中导航,使用箭头键高亮选项,然后按 Enter 进行选择。
  3. 选择是否要创建日志文件。这不会影响数据恢复过程。TestDisk create log file option.
  4. 选择你想要恢复数据的驱动器,并按 Enter。TestDisk showing drive selection for recovery.
  5. 选择分区表类型,并按 Enter。TestDisk 会自动检测分区表,所以最好在此屏幕上直接按 Enter,除非你确定驱动器使用其他分区表。TestDisk partition table type selection for recovery.
  6. 选择 分析 并按 Enter。TestDisk analyse option to search for lost partitions.
  7. 选择 快速搜索 并按 Enter。TestDisk quick search option for locating partition.
  8. TestDisk 会列出在驱动器上发现的分区。高亮你想要恢复数据的分区,并在键盘上按 P 键——这将列出分区上的文件,包括已删除的文件。TestDisk showing list files option during recovery.
  9. 使用箭头键在目录间导航,按 Enter 键确认。你可以通过按左右箭头键在目录间来回切换。通过导航到每个文件并按 :(冒号)选择你想要恢复的文件。选好文件后,按 C(大写),然后导航到恢复位置,再次按 C(大写)复制文件。复制完成后,按 Q 返回。TestDisk listing files available for recovery.
  10. 关闭 TestDisk。

注意: 如果驱动器使用FileVault加密,TestDisk 将无法运行,直到您关闭FileVault首先。

如果Terminal无法恢复您删除的文件怎么办?

如果上述方法都无法恢复您的删除文件,您唯一的选择就是使用功能强大的第三方基于GUI的数据恢复工具,或联系专业的数据恢复服务。

网上有无数的数据恢复程序,都声称自己是“最好的”。我的建议——从我们的精心挑选列表中的最好的数据恢复应用程序个选项中选择。这些程序已证明其可靠性和有效性。

在本教程中,我将使用Disk Drill。由于其易于使用,再加上可靠的数据恢复算法,该程序非常适合新手和专家用户。Disk Drill 提供多种文件排序、预览和过滤方式,使数据恢复更加简单。与许多其他数据恢复应用程序不同的是,Disk Drill 甚至可以在 macOS 的恢复模式中工作——您仍需要暂时连接互联网来下载该应用程序。

以下是使用 Disk Drill 恢复 Mac 上已删除文件的方法:

  1. 下载Disk Drill并安装它。授予程序必要的权限。
  2. 如果你在macOS的恢复模式中,点击 实用工具 > 终端 并粘贴以下命令: sh <(curl http://www.cleverfiles.com/bootmode/boot.xml ) 。按下Enter键,Disk Drill会自动下载并打开。
  3. 选择你希望恢复数据的驱动器,然后点击 查找丢失的数据 Disk Drill search for lost data screen.
  4. Disk Drill完成扫描你的驱动器后,点击 查看找到的项目 。如果只想查看某些文件类型,请点击相应的文件类型图块(图片、视频、音频、文档、压缩包和其他)。Recovered items categorized in Disk Drill.
  5. 展开 删除或丢失重建 部分。Data recovery sections in Disk Drill.
  6. 选择你希望恢复的文件。Disk Drill会自动显示当前选中文件的预览,但你也可以通过点击文件名旁边的眼睛图标手动预览任何文件。一旦选择了所需的文件,点击 恢复 List of recoverable files in Disk Drill.
  7. 选择一个恢复目的地,然后点击 下一步 。最好选择另一块驱动器,而不是你正在恢复数据的那块。Select recovery destination dialog.
  8. Disk Drill将恢复选定的文件。Data recovery complete message.

Disk Drill for macOS 需要付费 一次性许可证费用 进行数据恢复。Windows 版本有一个免费试用版,可以免费恢复最多 500 MB 的数据。

注意: 虽然 Disk Drill 在 macOS 恢复模式下工作,但其功能有所限制——在恢复文件之前不能预览文件,也不能使用超链接和在 Finder 中显示功能。

结论

当传统的基于图形用户界面的恢复方法不可用时,Mac终端可以成为宝贵的数据恢复替代方法。无论是访问垃圾箱、恢复Time Machine备份,还是使用第三方应用程序执行全面的数据恢复——所有这些都可以使用终端完成。然而,当你可以访问Mac的图形用户界面以及基于图形用户界面的第三方数据恢复程序时,很难证明使用终端的合理性。

manuviraj
Manuviraj Godara 是一位拥有超过4年经验的专业内容撰写师。他对技术的不断增长的迷恋和经验驱使他创作有关数据恢复和消费技术的内容。
经批准
12年软件开发、数据库管理和硬件修理经验。