我在一個目錄中有一堆文件,並連結到另一個目錄中的每個文件。所以ls -l
看起來像這樣:
lrwxrwxrwx 1 rembol rembol 89 Jan 25 10:00 copyright.txt -> /home/rembol/solr/target/deploy/data/core/copyright.txt
lrwxrwxrwx 1 rembol rembol 92 Jan 25 10:00 jar-versions.xml -> /home/rembol/solr/target/deploy/data/core/jar-versions.xml
lrwxrwxrwx 1 rembol rembol 85 Jan 25 10:00 lgpl.html -> /home/rembol/solr/target/deploy/data/core/lgpl.html
lrwxrwxrwx 1 rembol rembol 79 Jan 25 10:00 lib -> /home/rembol/solr/target/deploy/data/core/lib
lrwxrwxrwx 1 rembol rembol 87 Jan 25 10:00 readme.html -> /home/rembol/solr/target/deploy/data/core/readme.html
drwxr-xr-x 3 rembol rembol 4096 Jan 25 10:00 server
drwxr-xr-x 2 rembol rembol 4096 Jan 25 10:00 startup
現在我想將這些連結的檔案從 移動/home/rembol/solr/target/deploy
到/home/rembol/output/
.如果我只是簡單地調用mv
,連結就會中斷。我不想單獨重新連結每個文件,因為有數百個文件(它們是自動生成的)。
是否有一些聰明的方法來移動連結的文件,而不是編寫一個腳本來為每個子目錄中的每個文件遞歸地取消連結、移動和重新連結?
答案1
簡短的版本是mv
不能這樣做。您需要自行重新定位連結。我本想就如何做到這一點提供建議,但已經有一個非常好的答案類似的問題發佈在 Unix/Linux 網站。