Linux 系統中恢復已刪除檔案的方法
導讀 | 當使用者意外地刪除了一個仍然需要的檔案時,大多數情況下,是沒有簡單的方法可以重新找回或重建這個檔案。不過,幸運的是文件是可以透過一些方法恢復的。當用戶刪除了一個文件,該文件並沒有消失,只是被隱藏了一段時間。 |
Как это работает, объясняется здесь. В файловой системе есть так называемая таблица размещения файлов, которая отслеживает расположение файлов в единицах хранения (таких как жесткие диски, карты MicroSD, флэш-накопители и т. д.). Когда файл удаляется, файловая система выполнит одну из двух задач в таблице размещения файлов: пометит запись файла в таблице размещения файлов как «свободное пространство» или удалит запись файла в таблице размещения файлов и соответствующее пространство. помечается как свободное пространство. Теперь, если новый файл необходимо поместить в место хранения, операционная система поместит файл в место, помеченное как пустое. После того, как новый файл будет записан в это пустое пространство, удаленный файл полностью исчезнет. Когда необходимо восстановить удаленный файл, пользователь никогда не должен снова работать с каким-либо файлом, поскольку, если «пустое пространство», соответствующее файлу, занято, файл невозможно будет восстановить.
Большинство файловых систем просто помечают пространство как пустое (при удалении файлов). В этих файловых системах программа восстановления просматривает таблицу размещения файлов, а затем копирует удаленные файлы в другое хранилище. Если файл скопирован на другие удаленные запоминающие устройства, которые необходимо восстановить, то пользователь может потерять желаемый удаленный файл.
Файловые системы редко стирают записи в таблице размещения файлов. Если файловая система делает это, программа восстановления восстанавливает файлы. Программа восстановления сканирует заголовки файлов в хранилище.Все файлы имеют специальную строку кодировки, расположенную в начале файла, также называемую магическим числом. Например, магическое число скомпилированного файла класса JAVA — «CAFEBABE» в шестнадцатеричном формате. Итак, если вы хотите восстановить файлы этого типа, программа восстановления найдет «CAFEBABE» и скопирует файлы на другое устройство хранения. Некоторые программы восстановления могут искать файлы определенного типа. Если пользователь хочет восстановить PDF-файл, программа восстановления будет искать магическое число «25504446» в шестнадцатеричном формате, которое в кодировке ASCII представляет собой «%PDF». Программное обеспечение для восстановления будет искать все магические числа, а затем пользователь сможет выбрать, какой удаленный файл восстановить.
Если часть файла будет перезаписана, весь файл будет поврежден. Зачастую файл можно восстановить, но его содержимое уже бесполезно. Например, восстановление поврежденного файла JPEG будет бессмысленным, поскольку программа просмотра изображений не сможет создать изображение из поврежденного файла. Следовательно, даже если файл принадлежит пользователю, файл будет бесполезен.
Прежде чем мы продолжим, приведенная ниже информация поможет программе восстановления найти правильное запоминающее устройство. Все устройства монтируются в каталог /dev/. Имя, присвоенное каждому устройству операционной системой (а не имя, данное каждому разделу или устройству администратором), соответствует определенным правилам именования.
Имя второго раздела первого жесткого диска SATA будет sda2. Первая буква имени намекает на тип хранилища, в данном случае SATA, но буква «s» также может относиться к SCSI, FireWire или USB. Вторая буква «d» относится к диску. Третья буква относится к номеру устройства, т. е. буква «а» относится к первому SATA, а «b» — ко второму. Последнее число представляет раздел. Имя устройства без номера раздела представляет все разделы для этой установки. В приведенном выше примере соответствующее имя — sda. Первой буквой имени также может быть «h», что соответствует жесткому диску PATA (IDE).
Ниже приведены примеры правил именования. Если у пользователя есть жесткий диск SATA (sda), устройство имеет 4 раздела — sda1, sda2, sda3 и sda4. Пользователь удаляет третий раздел, но имя четвертого раздела, sda4, останется неизменным до тех пор, пока четвертый раздел не будет отформатирован. Затем пользователь вставил карту памяти USB (sdb) с разделом - sdb1-, добавил жесткий диск IDE с разделом - hda1-, а затем добавил жесткий диск SCSI - sdc1. Затем пользователь извлек карту памяти USB (sdb). Теперь жесткий диск SCSI по-прежнему называется sdc, но если SCSI вынуть, а затем вставить, его имя изменится на sdb. Хотя присутствуют и другие устройства хранения данных, в названии этого диска IDE все равно будет буква «а», поскольку это первый диск IDE, а имена устройств IDE учитываются отдельно от устройств SCSI, SATA, FireWire и USB.
Восстановление с помощью TestDisk:Каждое программное обеспечение для восстановления имеет свои собственные функции, возможности и поддерживаемые файловые системы. Вот несколько рекомендаций по использованию TestDisk для восстановления файлов в различных файловых системах.
FAT16, FAT32, exFAT (FAT64), NTFS и ext2/3/4:
TestDisk — это бесплатное программное обеспечение с открытым исходным кодом, работающее под такими операционными системами, как Linux, *BSD, SunOS, Mac OS X, DOS и Windows. TestDisk также можно установить, набрав sudo apt-get install testdisk. TestDisk имеет множество функций, но эта статья будет посвящена только восстановлению файлов.
Используйте права root, чтобы открыть TestDisk из терминала, введя команду sudo testdisk.
Теперь приложение командной строки TestDisk будет выполнено. Дисплей терминала изменится. TestDisk спрашивает пользователя, может ли он сохранять журналы, это полностью зависит от пользователя. Если пользователь восстанавливает файлы из системного хранилища, вести логи нет необходимости. Доступные параметры: «Создать», «Добавить» и «Без журнала». Если пользователь хочет вести журналы, они будут храниться в домашнем каталоге пользователя.
На следующем экране устройства хранения перечислены в формате /dev/*. В моей системе хранилищем является /dev/sda, что означает, что моим хранилищем является жесткий диск SATA (sd), и это первый жесткий диск (a). Емкость каждой единицы хранения указана в гигабайтах. Используйте клавиши «вверх» и «вниз», чтобы выбрать устройство хранения, и нажмите, чтобы войти.
На следующем экране отображается список таблиц разделов (также называемых таблицами сопоставления разделов). Точно так же, как файлы имеют таблицы конфигурации файлов, разделы имеют таблицы разделов. Раздел — это сегментация на устройстве хранения. Например, почти во всех системах Linux существует как минимум два типа разделов — EXT3/4 и Swap. Каждая таблица разделов будет кратко описана ниже. TestDisk поддерживает не все типы секционированных таблиц, поэтому это не полный список.
- Intel — Этот тип таблицы разделов очень распространен в системах Windows и многих системах Linux.Его также часто называют таблицей разделов MBR.
- EFI GPT — этот тип таблицы разделов обычно используется в системах Linux. Для систем Linux эта таблица разделов является наиболее рекомендуемой, поскольку концепции логических разделов или расширенных разделов не применимы к таблицам разделов GPT (таблица разделов GUID). Это означает, что пользователь Linux может выполнять мультизагрузку с нескольких типов систем Linux, если в каждом разделе есть одна система Linux. Конечно, есть и другие преимущества использования таблицы разделов GPT, но они выходят за рамки этой статьи.
- Humax - Карта разделов Humax предназначена для устройств корейской компании Humax.
- Mac — Карта разделов Apple (APM) для устройств Apple.
- Нет - Некоторые устройства не имеют таблиц разделов. Например, многие игровые консоли Subor не используют карту разделов. Если пользователь попытается восстановить файлы с такого устройства с другими типами таблиц разделов, он будет сбит с толку, почему TestDisk не может найти какие-либо файловые системы или файлы.
- Sun — Таблицы разделов Sun доступны для систем Sun.
- Xbox -Xbox предназначен для устройств хранения данных, использующих карту разделов Xbox.
Если пользователь выберет «Xbox», даже если его система использует таблицу разделов GPT, TestDisk не сможет найти какие-либо разделы или файловые системы. Если бы TestDisk выполнялся на основе выбора пользователя, он мог бы угадать неправильно. (На рисунке ниже показаны выходные данные, когда тип таблицы разделов неправильный)
Когда пользователь выбрал правильный параметр для своего устройства, на следующем экране выберите параметр «Дополнительно».
Теперь пользователь увидит список всех файловых систем или разделов на своем устройстве хранения данных. Если пользователь выберет неправильную карту разделов, на этом этапе он узнает, что сделал неправильный выбор. Если ошибок нет, выделите раздел, содержащий удаленные файлы, перемещая текстовый курсор. Используйте клавиши со стрелками влево и вправо, чтобы выделить список, расположенный в нижней части терминала. Затем нажмите Enter для подтверждения.
Появится новый экран со списком файлов и каталогов. Эти белые имена файлов — это файлы, которые не были удалены, а красные имена файлов — это файлы, которые были удалены. Самый правый столбец — это имя файла, следующий столбец справа налево — дата создания файла, а левый столбец — это размер файла (в байтах/битах), с «-» в крайнем левом углу. , " Столбцы "d", "r", "w" и "x" обозначают права доступа к файлу. «d» означает, что файл является каталогом, а другие условия разрешений не имеют особого отношения к этой статье. Элемент, представленный «.» в верхней части списка, представляет текущий каталог, а элемент, представленный «..» во второй строке, представляет каталог, расположенный выше текущего каталога, поэтому пользователь может перейти к каталогу, выбрав строка, в которой находится каталог.
Например, я хочу зайти в каталог «Xaiml_Dataset», который в основном состоит из удаленных файлов. Нажав клавишу «c» на клавиатуре, я восстановлю файл «computers.xaiml», после чего мне будет предложено выбрать каталог назначения, естественно, я должен поместить файл в другой раздел. Теперь, когда я нахожусь в своем домашнем каталоге, я нажимаю клавишу «c». (При выборе целевого каталога) Не имеет значения, какой каталог выделен. Текущий каталог является целевым каталогом, и в верхней части экрана отобразится сообщение «Копирование завершено». В моем домашнем каталоге будет каталог с именем «Xaiml_Dataset», содержащий файл Xaiml. Если я нажму «c» для большего количества удаленных файлов, файлы будут помещены в новые папки без запроса каталога назначения.
После выполнения этих шагов несколько раз нажимайте клавишу «q», пока не увидите нормальный вид терминала. Доступ к каталогу «Xaiml_Dataset» может получить только пользователь root. Чтобы решить эту проблему, используйте права root для изменения разрешений этого каталога и его подкаталогов. После этого файлы восстанавливаются и пользователь может получить к ним доступ.
Специальный ReiserFS:Чтобы восстановить файл из файловой системы ReiserFS, сначала необходимо сделать резервную копию всех файлов раздела. Потому что этот метод может привести к потере файла в случае возникновения определенных ошибок. Затем выполните следующую команду, где DEVICE относится к устройствам, названным в формате sda2. Некоторые файлы будут помещены в потерянный каталог, а другие будут сохранены в том месте, где они были первоначально удалены.
рррее Восстановить удаленные файлы, открытые программой:Предположим, пользователь случайно удалил файл, и файл открыт программой. Хотя файл был удален с жесткого диска, программа использует копию файла, расположенную в оперативной памяти. К счастью, у нас есть два простых решения для восстановления файла.
Если это программное обеспечение имеет функцию сохранения, например текстовый редактор, пользователь может повторно сохранить файл, чтобы текстовый редактор мог записать файл на жесткий диск.
Предположим, в музыкальном проигрывателе есть файл MP3, и музыкальный проигрыватель не может сохранить файл MP3. В этом случае восстановление файла займет больше времени, чем раньше. К сожалению, не гарантируется, что этот подход будет работать на всех системах и приложениях. Сначала введите следующую команду.
рррееПриведенная выше команда выведет список всех файлов, используемых smplayer. Этот список ищется в формате mp3 через конвейер с помощью команды grep. Ввод команды аналогичен следующему:
рррееТеперь введите следующую команду, чтобы восстановить файл непосредственно из ОЗУ (/proc/ отображается в ОЗУ в системах Linux) и скопируйте файл в выбранную папку. Среди них cp относится к команде копирования, число 10037 в выводе соответствует количеству процессов, число 169 в выводе относится к дескриптору файла, «~/Music/» — это целевой каталог, а последний « music.mp3» — желаемый каталог пользователя. Имя восстановленного файла.
рррее Реальное удаление:Чтобы гарантировать невозможность восстановления файла, вы можете использовать команду «стирания» жесткого диска. Стирание жесткого диска фактически записывает на жесткий диск бессмысленные данные. Например, многие программы стирания записывают на жесткий диск нули, случайные буквы или случайные данные. Никакое пространство не занято и не потеряно, ластик просто перезаписывает пустые биты. Если накопитель заполнен файлами и нет свободного места, все ранее удаленные файлы исчезнут и не подлежат восстановлению.
Цель очистки жесткого диска — гарантировать, что личные данные не будут видны другим. Например, компания может заказать несколько новых компьютеров, а генеральный директор решает продать старые компьютеры. Однако новый владелец компьютера может видеть некоторую конфиденциальную информацию компании или информацию о клиентах, такую как номера кредитных карт, адреса и т. д. К счастью, компьютерные специалисты компании смогли очистить жесткие диски перед продажей старых компьютеров.
Чтобы установить программу удаления secure-delete, введите sudo apt-get install secure-delete. Эта команда установит сборку, содержащую 4 программы, чтобы гарантировать невозможность восстановления удаленных файлов.
- srm — Удаление файла без возможности восстановления. Использование: srm -f ./secret_file.txt
- sfill — стирает пустое пространство. Использование: sfill -f /mount/point/of/partition
- sswap — Очистить пространство подкачки. Использование: sswap -f /dev/SWAP_DEVICE
Если компьютер действительно очистит эти удаленные файлы, выполнение задачи удаления займет больше времени. Пометить определенные места как пустые можно быстро и легко, но чтобы файлы исчезли навсегда, требуется некоторое время. Например, стирание накопителя может занять несколько часов (в зависимости от размера диска). В целом, текущая система работает довольно хорошо, потому что даже если пользователь очистит корзину, у него все равно будет еще один шанс изменить свое первоначальное мнение (или ошибку).
以上是Linux 系統中恢復已刪除檔案的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

Sublime Text 提供了提高开发效率的快捷键,包括常用的(保存、复制、剪切等)、编辑(缩进、格式化等)、导航(项目面板、文件浏览等)以及查找和替换快捷键。熟练使用这些快捷键可显著提升 Sublime 的使用效率。
