[bash]$for file in `find . -name "*gsf*"`; do `mv $file ${file/gsf/msf}`; done
这会将匹配gsf的文件名中的“gsf”的所有实例重命名为“msf”,但软链接继续指向包含“gsf”的现在不存在的文件.
例如,这是重命名后发生的情况:
lrwxrwxrwx 1 trusktr users 20 Apr 25 14:39 libmsf-1.so -> libgsf-1.so.114.0.23
lrwxrwxrwx 1 trusktr users 20 Apr 25 14:39 libmsf-1.so.114 -> libgsf-1.so.114.0.23
-rwxr-xr-x 1 trusktr users 265584 Apr 21 04:41 libmsf-1.so.114.0.23
如您所见,软链接指向libgsf-1.so.114.0.23,它不再存在,因为它已重命名为libmsf-1.so.114.0.23.
解决方法:
没有;这就是使它们成为象征性链接的原因,你需要自己处理它们.硬链接引用文件系统中的实际索引节点(“inode”),因此将保持有效;这就是为什么在这种情况下你会使用硬链接而不是符号链接.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。