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