如何使用Mac終端恢復刪除的文件:所有選項詳解

核准者
14

recover files using mac terminal由於其複雜性,Mac 終端機常常被用戶忽視。然而,它是一個強大的工具,可以執行標準 macOS 圖形介面無法完成的任務。此外,它還提供了更大的靈活性。

說到資料復原,Terminal 可以幫助您找到並恢復已刪除的檔案。當 macOS 因系統錯誤而拒絕啟動到標準的圖形介面,並改為進入功能有限的安全模式時,這是非常有用的。以下部分包含如何使用 Mac Terminal 恢復已刪除檔案和資料夾的逐步說明。

使用Mac終端機恢復刪除文件的方法

獨立而言,Terminal 提供了兩種主要的恢復方法:從 Trash 還原文件和使用 Time Machine 備份恢復文件。雖然 Trash 和 Time Machine 都有圖形用戶界面對應,但當你的 Mac 啟動到 Single User 模式(Intel Mac)、Recovery 模式(Apple Silicon)或 Safe 模式時,訪問它們是繁瑣的(或者直接不可能)。

除了原生指令之外,還有像 TestDisk 這樣的開源工具,可以讓你使用終端機介面來恢復被永久刪除的文件。

這是完全選擇性的,但在使用終端機恢復檔案時,您可能會想要以復原模式啟動您的 Mac。這有兩個主要優點:

  1. 復原模式讓你執行在一般環境中不可能完成的任務和終端命令。它還可以在圖形界面凍結或macOS無法正常啟動時,幫助你執行數據恢復。
  2. 它提供了幾種方式來故障排除和修復你的Mac,這樣你就可以重新訪問你的文件。

在透過 Terminal 進行資料復原之前,請確保它在您的 Mac 上具有完整磁碟存取權限。若無此權限,在嘗試從 Terminal 存取或修改檔案時將會遇到權限問題。此外,若在 Terminal 執行命令時遇到權限問題,請在命令前加上 sudo

以下是如何在 macOS 上賦予 Terminal 完整磁碟訪問權限:

  1. 點擊左上角的 Apple 標誌並選擇 系統設定
  2. 點擊左側導航欄中的 隱私與安全
  3. 點擊 完整磁碟存取權限
  4. 確保終端滑動條調至開啟位置。Full Disk Access with Terminal enabled in macOS settings.

現在,我們來看看如何使用 Mac 終端機恢復被刪除的文件和文件夾:

方法 1: 使用終端機從垃圾桶中恢復檔案

在 macOS 中刪除檔案時,檔案並未從磁碟中永久刪除。取而代之的是,它會被移動到你的 Mac 的垃圾桶資料夾中,在那裡它會一直保留直到你還原它或清空垃圾桶。如果啟用了自動清空垃圾桶功能,垃圾桶也可能會在固定間隔自動清空。

您可以使用終端機訪問垃圾桶的內容,並從中恢復已刪除的文件。

以下是說明:

選項A: 使用終端恢復從內部存儲驅動器刪除的文件

  1. 打開終端機。它可以在 Finder 的 前往 > 工具程式 部分中找到。或者,只需按 Command + 空格 打開 Spotlight 搜尋,然後輸入 Terminal ,並從搜索結果中點擊它。
  2. 輸入 cd ~/.Trash ,然後按 Enter。命令 cd 用於在終端機內更改目錄。Terminal navigating to the Trash directory.
  3. 輸入 ls 並按 Enter 以列出垃圾桶中的所有檔案和資料夾。記下您希望恢復的檔案和資料夾。命令 ls 會列出當前終端機目錄中的檔案和資料夾。Terminal listing files in the Trash directory.
  4. 輸入 mv filename ~/Destination/Folder ,然後按 Enter。用實際的檔名(或資料夾名稱)和目的地分別替換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 並按下 Enter 鍵來顯示您的使用者 ID (UID)。記下結果,因為稍後還會用到。Terminal displaying user ID number with 'id -u' command.
  3. 輸入 ls /Volumes/ 並按下 Enter 鍵來列出所有連接到您的 Mac 的硬碟。Terminal listing volumes on the system.
  4. 輸入 cd “/Volumes/ExternalDrive/.Trashes/UID” 並按下 Enter 鍵。將 ExternalDrive 替換成在步驟 3 中列出的外部儲存硬碟名稱,將 UID 替換成您在步驟 2 中得到的結果。Terminal navigating to Trash on USB drive.
  5. 輸入 ls 並按下 Enter 鍵來查看外部儲存硬碟的垃圾桶中的文件。Terminal listing files in USB drive Trash directory.
  6. 輸入 mv “filename” ~/目的地/資料夾 並按下 Enter 鍵。將 filename/Destination/Folder 替換成實際的文件名(或資料夾名)以及目的地分別的路徑。Terminal moving PDF from external drive to Desktop.

額外獎勵: 想要恢復內部/外部存儲驅動器上垃圾桶文件夾中的所有內容嗎?只需將 “filename” 替換為 * 。該命令將顯示為 將 * 移動到 ~/Destination/Folder

方法 2: 使用終端機利用 Time Machine 恢復檔案

時間機器 功能可讓你在事先啟用的情況下恢復已刪除的檔案,並且 Time Machine 備份包含所需的檔案。如果你可以使用 macOS 圖形介面,最好使用該版本的 Time Machine,因為它更簡單。

如果您無法使用macOS圖形介面,或只是好奇Time Machine在終端機中如何運作,請按照以下指南操作:

  1. 將 Time Machine 備份磁碟連接到你的 Mac,並打開終端機 (Terminal)。
  2. 輸入 ls /Volumes/ 並按 Enter。這個命令會顯示所有連接到你 Mac 的磁碟—請注意 Time Machine 磁碟。在我的情況下,它被命名為 Time Machine BackupsTerminal listing volumes, including Time Machine backups.
  3. 輸入 cd “/Volumes/YourBackupDrive/” 並按 Enter,將 YourBackupDrive 替換為 Time Machine 備份磁碟的名稱—在我的情況下,名稱是 Time Machine BackupsTerminal navigating to Time Machine backup folder.
  4. 輸入 ls 並按 Enter。這會列出 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” 並按 Enter。將 BackupName 替換為包含你想要恢復的文件的 Time Machine 備份,以及 YourUsername 替換為你的 Mac 使用者名稱。在我的情況下,我輸入了 cd “2024-09-27-195546.previous/Data/Users/manuvirajgodara/”Terminal accessing Time Machine backup data.
  6. 輸入 ls 並按 Enter。這會列出 Time Machine 為你的使用者名稱備份的所有文件夾和文件。記下包含你文件的文件夾。Terminal listing contents of Time Machine backup.
  7. 輸入 cd “資料夾名稱/” 並按 Enter,將 FolderName 替換為包含你文件的那個。現在,如果你希望進一步導航到子文件夾,輸入 ls ,記下文件夾名稱,然後輸入 cd “資料夾名稱/” ,直到到達包含你文件的文件夾。此外,輸入 ls 並確認你需要的文件在該文件夾中。Terminal accessing Desktop folder in Time Machine backup.
  8. 輸入 cp -p “Filename.extension” “/Path/to/Folder” 並按 Enter。將 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之前不會工作。

如果終端機無法恢復你刪除的文件該怎麼辦?

如果上述方法都無法恢復您的刪除檔案,您唯一的選擇就是使用功能強大的第三方 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 中顯示功能。

結論

當傳統的 GUI 介面恢復方法無法使用時,Mac Terminal 可能是一個有價值的數據恢復替代方案。無論是訪問垃圾筒、恢復 Time Machine 備份,還是使用第三方應用程序進行全面的數據恢復,所有這些都可以通過 Terminal 完成。然而,當你可以使用 Mac 的 GUI 和基於 GUI 的第三方數據恢復程序時,很難證明使用它是合理的。

manuviraj
Manuviraj Godara 是一位职业内容作家,拥有超过4年的经验。他对科技的持续增长的迷恋和经验驱使他创作与数据恢复和消费科技相关的内容。
核准者
12年軟锵開發、資料庫管理與硬體修理經驗。