Ich habe versehentlich die Datei / bin / bash mit einem dummen Skript überschrieben, das ich in den Ordner / bin schreiben wollte.
Wie bekomme ich den Inhalt dieser Datei zurück? Gibt es eine Möglichkeit, die Inhalte im Web zu finden und sie einfach wieder zu kopieren? Welche Optionen stehen mir hier zur Verfügung, wenn ich bedenke, dass das Terminal einen Fehler mit der Meldung "Zu viele symbolische Links?" Ausgibt.
Ich bin immer noch ein Neuling in dieser Art von Dingen und ich schätze jede Hilfe, die ich bekommen kann.
Edit: Ich habe vergessen zu erwähnen, dass ich mich auf Kali 2.2 Rolling befinde, einem Debian-System mit einigen zusätzlichen Funktionen.
Edit 2: Ich habe die Maschine auch neu gestartet, da ich meinen Fehler erst vor ein paar Tagen bemerkt habe. Das macht es ein bisschen schwieriger.
quelle
$HOME/.bin
und fügen Sie sie Ihrer hinzu,PATH
oder verwenden/usr/local/bin
Sie sie, wenn Sie möchten, dass sie systemweit sind. Oder, noch besser, baue ein Paket.Antworten:
bash
Ist eine Shell, wahrscheinlich Ihre System-Shell, so passieren jetzt seltsame Dinge, während sich Teile der Shell noch im Speicher befinden. Sobald Sie sich abmelden oder neu starten, haben Sie größere Probleme.Das erste, was Sie tun sollten, ist, Ihre Shell in etwas Sicheres zu verwandeln. Sehen Sie, welche Shells Sie installiert haben
Ändern Sie dann beispielsweise Ihre Shell in eine der anderen dort aufgelisteten Shells
Update, da Sie bereits neu gestartet haben:
Sie können sich glücklich schätzen, dass der Startvorgang heutzutage nicht mehr von
bash
Ihrem System abhängig ist und Sie keine Befehlszeile mehr erhalten. Sie können jedoch einen Editor starten, um/etc/passwd
die Shell in derroot
Zeile von/bin/bash
nach zu bearbeiten und zu ändern/bin/dash
. Melden Sie sich ab und wieder an. Nehmen Sie in dieser Datei nur keine weiteren Änderungen vor, da Sie sonst Ihr System völlig durcheinander bringen können.Dann versuchen Sie es erneut
bash
mitWenn alles geklappt hat kannst du
chsh
zurück zubash
.Schließlich: Ich denke, Kali ist eine hochspezialisierte Distribution, die wahrscheinlich nicht für Leute geeignet ist, die versehentlich ihre Shell überschreiben. Da dieser Satz als unhöflich und hart bezeichnet wurde, sollte ich hinzufügen, dass ich ihn aus eigener Erfahrung geschrieben habe. Als ich jünger war, habe ich mein System ruiniert, weil mir niemand gesagt hat, ich solle es vermeiden, als Root herumzuspielen.
quelle
command > /bin/bash ...
gegencommand > (/bin/bash ...)
.Fahren Sie Ihre Maschine nicht herunter.
Hast du noch eine Running Shell? Ist es bash Wenn ja, geht es dir gut. (Aber mach das nicht nochmal.)
Lauf:
Voila, alles ist gut.
Da jemand in den Kommentaren bezweifelt, dass dies funktioniert:
quelle
/bin/sh
oderrbash
) wiederherzustellenroot
der Ausführungcp
. Harte Links sind jedoch ein guter Punkt.Wenn Sie sich anmelden können, aber kein Terminal öffnen oder auf andere Weise auf eine Shell zugreifen können, aber über die GUI auf Dateien zugreifen können
/bin
, suchen Sie nach Dateien, deren Namen mitsh
(aber nicht.sh
) enden , und führen Sie eine aus (durch Doppelklicken) oder mit der rechten Maustaste). Achten Sie insbesondere auf Folgendes:sh
dash
ash
ksh
(oderksh
gefolgt von einer Nummer; zBksh93
)zsh
yash
oder als letztes Mittel
tcsh
odercsh
Wenn Sie eine Shell zum Laufen bringen können, versuchen Sie es mit Philippos 'Antwort .
Ein anderer Ansatz besteht darin, im Einzelbenutzermodus zu booten, indem Sie diese Anweisungen befolgen und
init=/bin/sh
stattdessen eine der anderen Shells angebeninit=/bin/bash
.quelle