J'ai accidentellement remplacé le fichier / bin / bash par un script stupide que j'avais l'intention de placer dans le dossier / bin.
Comment récupérer le contenu de ce fichier? Existe-t-il un moyen de trouver le contenu sur le Web et de le recopier? Quelles sont mes options ici, étant donné que le terminal donne une erreur en parlant de "Trop de liens symboliques?"
Je suis encore un nouveau venu dans ce genre de choses et j'apprécie toute l'aide que je peux obtenir.
Edit: j'ai oublié de mentionner que je suis sur Kali 2.2 Rolling, qui est à peu près Debian avec quelques fonctionnalités supplémentaires.
Edit 2: J'ai également redémarré la machine, car je n'ai réalisé mon erreur qu'il y a quelques jours. Cela rend cela un peu plus difficile.
linux
bash
kali-linux
data-recovery
GarrukApex
la source
la source
$HOME/.bin
et ajoutez-le à votrePATH
ou utilisez-le/usr/local/bin
si vous en avez besoin pour l'ensemble du système. Ou, mieux encore, créez un package.Réponses:
bash
est un shell, probablement votre shell système, donc maintenant des choses étranges se produisent, tandis que des parties du shell sont toujours en mémoire. Une fois que vous vous déconnectez ou redémarrez, vous aurez de plus gros problèmes.Donc, la première chose devrait être de changer votre shell en quelque chose de sûr. Voir les coques que vous avez installées
Ensuite, changez votre shell pour l'un des autres shells répertoriés ici, par exemple
Mettre à jour, car vous avez déjà redémarré:
Vous avez de la chance qu'aujourd'hui le processus de démarrage ne repose pas sur
bash
, donc votre système démarre, vous ne pouvez tout simplement pas obtenir de ligne de commande. Mais vous pouvez démarrer un éditeur pour éditer/etc/passwd
et changer le shell dans laroot
ligne de/bin/bash
à/bin/dash
. Déconnectez-vous et reconnectez-vous. N'apportez simplement aucune autre modification à ce fichier, sinon vous risquez de gâcher complètement votre système.Essayez ensuite de réinstaller
bash
avecSi tout a réussi, vous pouvez
chsh
revenir àbash
.Enfin: je pense que kali est une distribution hautement spécialisée, probablement pas adaptée aux personnes qui écrasent accidentellement leur shell. Comme cette phrase était qualifiée de grossière et de dure, je dois ajouter que je l'ai écrite à partir de ma propre expérience. Quand j'étais plus jeune, j'ai ruiné mon système parce que personne ne m'a dit d'éviter de déconner en tant que root.
la source
command > /bin/bash ...
contrecommand > (/bin/bash ...)
.N'arrêtez pas votre machine.
Avez-vous toujours un shell en cours d'exécution? C'est bash? Si oui, ça va. (Mais ne recommencez pas.)
Courir:
Voila, tout va bien.
Étant donné que quelqu'un dans les commentaires doute que cela fonctionne:
la source
/bin/sh
ourbash
)root
exécutioncp
. Les liens durs sont un bon point, cependant.Si vous pouvez vous connecter, mais vous ne pouvez pas ouvrir un terminal ou accéder autrement à un shell, mais vous pouvez accéder aux fichiers via l'interface graphique, accédez à
/bin
, recherchez les fichiers dont les noms se terminent parsh
(mais pas.sh
) et exécutez-en un (en double-cliquant sur ou clic droit). Recherchez en particulier les éléments suivants:sh
dash
ash
ksh
(ouksh
suivi d'un nombre; par exemple,ksh93
)zsh
yash
ou, en dernier recours,
tcsh
oucsh
Si vous pouvez faire fonctionner un shell, essayez la réponse de Philippos .
Une autre approche consiste à démarrer en mode mono-utilisateur en suivant ces instructions mais en spécifiant
init=/bin/sh
(ou l'un des autres shells) au lieu deinit=/bin/bash
.la source