Ich habe einen Terminal, das auf einem Ordner ein geöffnet:Aktuelles Verzeichnis nach wurde von einem anderen Benutzer bewegt
hostname:/path/to> mkdir a
hostname:/path/to> cd a
hostname:/path/to/a> cat > b.txt
Ein anderen Benutzer die Ordner an einem anderen Ort
hostname:/path/to> mv a /another/hidden/path/i/dont/know
bewegt hat, würde Ich mag an wissen wo er es bewegt hat.
Das alte Terminal funktioniert immer noch, aber pwd zeigt den alten Pfad, weil das Linux-Dateisystem funktioniert. Old absoluter Pfad existiert nicht natürlich:
hostname:/path/to/a> ls
b.txt
hostname:/path/to/a> pwd
/path/to/a
hostname:/path/to/a> ls /path/to/a
ls: cannot access /path/to/a: No such file or directory
Ich dachte an die obere Hierarchie durchlaufen und in jeder Ebene für die richtigen Ordner aussehen:
hostname:/path/to/a> ls ../
...
hostname:/path/to/a> ls ../../
...
hostname:/path/to/a> ls ../../../
...
Jedoch kann diese Lösung sehr schwierig sein, wenn man von der Ebenen enthalten viele Unterverzeichnisse. In meinem speziellen Fall ist das nicht möglich, da ich keine Berechtigungen in einer der oberen Ebenen habe.
Ich denke, es kann unmöglich sein, den genauen Pfad zu finden, aufgrund der Art, wie Linux fs funktioniert (z. B. kann es eine Menge fester Links für das gleiche Verzeichnis geben). Es ist mir egal, ob ich Kandidaten für den Pfad finde. Gibt es eine Möglichkeit, einen absoluten Pfad zu finden, der es mir ermöglicht, das Verzeichnis aufzurufen?
'finde/-d -name" a "'? Oder basierend auf 'Ein anderer Benutzer hat den Ordner an einen anderen Ort verschoben' vielleicht überprüfen Sie ihren Verlauf? – 123
Ich weiß nicht, wer der Benutzer ist (eigentlich war es ein IT-Benutzer). Außerdem, wenn ich einen sehr speziellen Verzeichnisnamen hätte (z. B. a ...), wird es nicht funktionieren. Außerdem könnte er das Verzeichnis umbenennen (im obigen Beispiel hat er es in "wissen" umbenannt, wenn es vorher kein "wissen" -Verzeichnis gab.) – MaMazav