У меня был текстовый файл hello.txt
, который содержит около 100 строк. Я случайно удалил все строки, выполнив echo > hello.txt
Теперь я хочу восстановить все 100 строк. Есть ли способ восстановить строки в этом файле, используя команды терминала?
Вы не можете вернуть содержимое. Нет пощады.
Но поиск файлов резервных копий. Если вам повезет, в этом же каталоге будет файл с именем hello.txt~
для hello.txt
. Эти файлы обычно создаются текстовыми редакторами, такими как gedit
или emacs
, когда вы редактируете файл.
Если у вас есть такой файл резервной копии, вы можете получить обратно содержимое (вы можете вернуть только часть). Используйте в терминале следующее:
mv hello.txt~ hello.txt
Лучше иметь хотя бы часть, чем потерять ее полностью.
tl; доктор Skip в конец для рабочего решения.
Я случайно усеченный файл с помощью gedit. Это было усеченным от 1 800 КБ вниз к 25 КБ.
Я хотел совместно использовать несколько методов восстановления, которых я делал попытку. Это не предназначено, чтобы быть категорическим ответом, больше набор ответов на попытку. Это подобно этому сообщению.
sudo mount -o remount,ro /
mount
команда перестала работать. с ошибкой mount: / is busy
.
Я рекомендую решительный шаг просто трудного выключения Вашей машины. Да, решительный! Но я не знаю, какой длины остатки усеченного файла будут вокруг. Они могут быть перезаписаны в любой момент. Загрузитесь в Ubuntu LiveCD.
На комментарий здесь, я работал telinit 1
который раскрытый к init уровню 1. Это только усложнило вещи, таким образом, я не рекомендую делать telinit 1
. Я рекомендую жесткую силу вниз.
После этого сообщения в блоге и этого почтового потока, попытайтесь использовать ext3grep
.
Однако ext3grep
отказавший для меня. Я только смог восстановить усеченный файл.
sleuthkit
прохладный набор инструментов. Необходимо будет, вероятно, установить его. Снова, этот get's, хитрый, если усеченный файл был /
смонтироваться. Снова, я рекомендую трудно выключиться и затем выполнить LiveCD. Используя это сообщение в блоге и это сообщение в блоге, инструкции по существу
apt-get install sleuthkit
stat truncated-file | grep Inode
INODE_NUMBER
)cp -a truncated-file truncated-file.old
rm truncated-file
debugfs /dev/disk-device
stats
BLOCKS_PER_GROUP
)imap <$INODE_NUMBER>
BLOCK_NUMBER
)blkls
скопировать блоки в файлblkls /dev/disk-device $BLOCK_NUMBER-$(echo '$BLOCK_NUMBER+$BLOCKS_PER_GROUP-1' | bc) > recovered-file
Но sleuthkit
не работал на меня. Только усеченный файл был восстановлен.
Из этого сообщения, grep для некоторой известной строки в усеченном файле. Это - единственный метод, который работал на меня.
grep -a -A 1000 -F 'some known string' \
/dev/disk-device > recovered-file
Удивительно простой, а?
Извини, друг, это невозможно ...
Вы можете восстановить удаленные файлы, но не можете восстановить файл с удаленным содержимым ..