Пум-пурум, сегодня ещё один неочевидный способ восстановить удалённые файлы в Linux. Я знаю, ты такое любишь. Первый способ описывал тут, второй — тут.
Валяется у меня скриптик ~/fs.sh, приходит жопарукий Петя и удаляет его через rm -rf ~/fs.sh. Козлина! Ни о какой корзине речь и идти не может.
Но я примерно помню, что было внутри. А было там нечто подобное:
#!/bin/bash
echo "Fucking"
exit 1
Что делать? Ну, во-первых, прописываем прицельную двоечку в безмозглую кабину Пете. Ну а если ты на удалёнке, то просто пишем в корпоративную аську — Пётр, вы 3.14дарасина.
Во-вторых, запускаем команду:
grep -a -C 200 -F 'Fucking' /dev/sda1
Оно там подумает какое-то время и начнёт вываливать на экран всякий мусор. Ну а среди этого мусора будет удалённый исходник скрипта. Копипастим/вставляем и снова радуемся своим скиллам.
Теперь по ключам:
-a— осуществляем поиск в бинарных файлах;-C— сколько строк выводить ДО и ПОСЛЕ каждого совпадения строки.
То есть у меня совпала строка Fucking. Если я не укажу -C 200, то увижу в выводе только echo "Fucking". А нам-то нужно восстановить весь скрипт полностью. Поэтому и нужно сказать грепу: давай ещё выведи 200 строк до и 200 после.
-F — строка, по которой будем искать.
Естественно, указываем свой раздел диска: у меня это /dev/sda1, у тебя может быть что-то совсем другое. Учти этот момент.
Такие дела. Чётко и полезно, забирай в копилку знаний. Вечерком ещё что-нибудь интересное напишу, пока, правда, не знаю про что. На связи!








Комментарии