На этот вопрос есть ответы, в которых перечислены различные способы проверки целостности корневого раздела. Если упомянутая перезагрузка не выполнила проверку целостности, возможно, имеет смысл запустить ее fsck
на корневом разделе. После fsck
завершения (независимо от того, произошло ли это уже во время перезагрузки или вы выполняете это явным образом), ваши метаданные будут согласованы, но нет никакой гарантии, что содержимое файла является правильным. Выходной журнал fsck
может дать некоторое представление о степени ущерба.
Особая проблема с вашим файлом истории bash выглядит так, как будто он ошибочно содержит данные, принадлежащие совершенно другому файлу. Наилучшим случаем для этого может быть то, что блоки были выделены в файл истории, но не записаны до потери питания, и в этом случае текущее содержимое файла может просто соответствовать тому, что было у блокированных блоков содержимого до того, как они были назначены вашему файлу истории bash., Более пессимистическая интерпретация этого содержимого файла заключается в том, что метаданные были повреждены (в этом случае fsck
вероятный ход действий). Возможно, вы захотите следить за любыми другими файлами, которые могли быть затронуты. В лучшем случае проблемными будут только файлы с достаточно недавним временем модификации.
Что касается спасения того, что осталось от вашей истории bash, простой подход может заключаться в том, чтобы передать его strings
команде (которая должна отфильтровывать большую часть того, что выглядит как двоичный контент). Возможно, имеет смысл переопределить значение по умолчанию --bytes
( -n
), если вы это сделаете, на что-то ближе к вероятной минимальной длине команды. В зависимости от того, насколько велик ваш файл истории bash, и основной причины его поддельного содержимого, могут быть или не быть какие-либо фактические команды, хранящиеся там.
Возможно, имеет смысл переименовать файл истории bash, а не сразу удалять его, чтобы вы могли отложить усилия по спасению, а также иметь историю bash, которая не вызовет проблем при обычной работе bash.