Ich habe versehentlich verwendet mv mymods /* *
. Jetzt kann ich es nicht mehr rückgängig machen oder einen anderen Befehl verwenden. Wie kann ich das beheben?
Ich war im Verzeichnisname/home/nginx/crap
[root@somehost /home/nginx/crap]# mv mymods /* *
Centos 6.3-Benutzer – Root
Verzeichnisstruktur von/home/nginx/crap
Antwort1
Sie haben die Dateien höchstwahrscheinlich unter verschoben /*
, was im Wesentlichen alles ist, da es /
sich um das Verzeichnis der obersten Ebene handelt und Sie alles *
darunter verschieben. Meine Frage wäre wohl, wohin Sie es verschoben haben?
Sie können möglicherweise alles zurückverschieben, wenn Sie herausfinden, wohin Sie es verschoben haben. Sie müssen den mv
Befehl direkt aufrufen (d. h. /accident/dir/mv
), da er sich jetzt an einem anderen Ort befindet, und es gibt keine Garantie, dass Sie ihn überhaupt ausführen können, da alle möglicherweise benötigten Bibliotheken auch nicht dort sind, wo sie sein sollten.
Ich würde vorschlagen, das System mit der Rettungs-CD zu booten, die mit der CentOS-CD/DVD mitgeliefert wird, und es zuzulassen, dass Ihre Festplatte gemountet wird. Von dort aus sollten Sie in der Lage sein, den mv
Befehl der Live-CD zu verwenden, um die Linux-Installation Ihrer Festplatte zu reparieren.
Antwort2
Dieser Befehl hätte Folgendes bewirkt:
- Datei oder Ordner
/home/nginx/crap/mymods
- Alle Verzeichnisse unter
/
(in der Theorie) - Alle Dateien und Verzeichnisse in
/home/nginx/crap/
*
in das letzte von in angegebene Verzeichnis verschoben /home/nginx/crap/
. Wie in:
ls -d /home/nginx/crap/*
afile1 afile2 dir1 dir2
Dann würde alles in eingefügt dir2
.
Wenn der letzte Eintrag *
eine Datei gewesen wäre, wäre der Befehl fehlgeschlagen, da Sie Dateien und Ordner nicht in eine Datei verschieben können.
Da es sich bei der letzten Datei in Ihrem gist
Beitrag um eine Datei handelt, tree.txt
haben Sie höchstwahrscheinlich keine Dateien verschoben – und etwas anderes ist passiert.
Prüfen Sie, ob Ihnen der env
Befehl zur Verfügung steht.