Я случайно переписал файл / bin / bash тупым скриптом, который я намеревался поместить в папку / bin.
Как мне вернуть содержимое этого файла? Есть ли способ найти содержимое в Интернете и просто скопировать его обратно? Какие у меня есть варианты, учитывая, что терминал выдает ошибку, говоря о «слишком много символических ссылок»?
Я все еще новичок в подобных вещах, и я ценю всю помощь, которую я могу получить.
Изменить: я забыл упомянуть, что я на Кали 2.2 Rolling, который в значительной степени Debian с некоторыми дополнительными функциями.
Редактировать 2: Я также перезапустил машину, так как я не осознал свою ошибку несколько дней назад. Это делает это немного сложнее.
linux
bash
kali-linux
data-recovery
GarrukApex
источник
источник
$HOME/.bin
и добавьте его в свой каталог,PATH
либо используйте,/usr/local/bin
если он вам нужен для всей системы. Или, что еще лучше, создайте пакет.Ответы:
bash
это оболочка, вероятно, ваша системная оболочка, так что теперь происходят странные вещи, пока части оболочки все еще находятся в памяти. После того, как вы выйдете из системы или перезагрузитесь, у вас будут более серьезные проблемы.Поэтому первым делом следует изменить оболочку на что-нибудь безопасное. Посмотрите, какие оболочки вы установили
Затем измените вашу оболочку на одну из других оболочек, перечисленных там, например
Обновите, потому что вы уже перезагрузили:
Вам повезло, что в настоящее время процесс загрузки не зависит
bash
, поэтому ваша система загружается, вы просто не можете получить командную строку. Но вы можете запустить редактор для редактирования/etc/passwd
и изменения оболочки вroot
строке с/bin/bash
на/bin/dash
. Выйдите и войдите снова. Просто не вносите никаких изменений в этот файл, иначе вы можете полностью испортить вашу систему.Затем попробуйте переустановить
bash
сЕсли все удалось, вы можете
chsh
вернуться кbash
.Наконец: я думаю, что kali - это узкоспециализированный дистрибутив, вероятно, не подходящий для людей, которые случайно перезаписывают свою оболочку. Поскольку это предложение называлось грубым и грубым, я должен добавить, что я написал это на собственном опыте. Когда я был моложе, я разрушил свою систему, потому что никто не сказал мне избегать возиться как root.
источник
command > /bin/bash ...
противcommand > (/bin/bash ...)
.Не выключайте свою машину.
У вас все еще есть работающая оболочка? Это Баш? Если так, ты в порядке. (Но не делайте этого снова.)
Бег:
Вуаля, все хорошо.
Так как кто-то в комментариях сомневается, что это работает:
источник
/bin/sh
илиrbash
)root
запускеcp
. Жесткие ссылки - это хороший момент.Если вы можете войти в систему, но не можете открыть терминал или иным образом получить доступ к оболочке, но вы можете получить доступ к файлам через графический интерфейс пользователя, перейдите к
/bin
поиску файлов, имена которых заканчиваютсяsh
(но не.sh
), и запустите один (двойным щелчком мыши). или щелкнув правой кнопкой мыши). В частности, обратите внимание на следующее:sh
dash
ash
ksh
(илиksh
после номера; например,ksh93
)zsh
yash
или, в крайнем случае,
tcsh
илиcsh
Если вы можете запустить оболочку, попробуйте ответ Филиппоса .
Другой подход заключается в загрузке в однопользовательском режиме, следуя этим инструкциям, но
init=/bin/sh
вместо него укажите (или одну из других оболочек)init=/bin/bash
.источник