Was passiert, wenn ich versehentlich einen Softlink verschiebe, dem ein "/" folgt?

Was passiert, wenn ich versehentlich einen Softlink verschiebe, dem ein "/" folgt?

Ich habe einen Softlink zum aktuellen Verzeichnis erstellt,

$ ln -s "$PWD" math

Ich wollte es dann in ein anderes Verzeichnis verschieben.

$ mv math/ ~/dirlinks/maths/

Dann wurde mir klar, dass ich

$ mv math ~/dirlinks/maths/

Daher breche ich den Vorgang mit Strg+C ab, bevor er abgeschlossen ist.

Ich habe festgestellt, dass sich ein Verzeichnis mathunter befindet ~/dirlinks/maths/, und es scheint, dass die Dateien unter .nach kopiert werden ~/dirlinks/maths/math, da ich gesehen habe, dass die Dateien unter ~/dirlinks/maths/mathauch unter erscheinen .. Aber ich verstehe das nicht, weil das mvnicht der Fall ist cp. Was ist passiert, als ich ausgeführt habe mv math/ ~/dirlinks/maths/?

Danke.

Antwort1

Schauen wir uns an, was Ihr erster Befehl bewirkt hat: Er hat einen symbolischen Link mathin Ihrem aktuellen Verzeichnis erstellt, der auf den absoluten Pfad des aktuellen Verzeichnisses zeigt. Sehen wir uns das etwas genauer an:

user@host:/free$ ls -al /free
total 4
drwxrwxrwt  2 root root   40 Oct 14 10:29 .
drwxr-xr-x 24 root root 4096 Oct  1 22:28 ..
user@host:/free$ ln -vs /free math
‘math’ -> ‘/free’
user@host:/free$ ls -al /free
total 4
drwxrwxrwt  2 root root    60 Oct 14 10:29 .
drwxr-xr-x 24 root root  4096 Oct  1 22:28 ..
lrwxrwxrwx  1 user users    5 Oct 14 10:29 math -> /free

Wenn Sie nun einige Dateien hinzufügen $PWDund den Verschiebevorgang durchführen:

user@host:/free$ touch a b
user@host:/free$ mv -vi math/ /tmp/Q
‘math/’ -> ‘/tmp/Q’
‘math/math’ -> ‘/tmp/Q/math’
‘math/b’ -> ‘/tmp/Q/b’
‘math/a’ -> ‘/tmp/Q/a’
removed ‘math/math’
removed ‘math/b’
removed ‘math/a’
mv: cannot remove ‘math/’: No such file or directory

Im Grunde verschiebt es das gesamte Verzeichnis, auf das verwiesen wird, mathzum Ziel. Da es auf das aktuelle Verzeichnis verweist, wird es vollständig dorthin verschoben, wo Sie es angegeben haben. Wenn Sie sich zufällig irgendwo direkt über dem Ziel befunden hätten, hätte dies zu einem interessanten Schleifenproblem führen können.

verwandte Informationen