perl - 在 perl 中用文件副本覆盖符号链接(symbolic link)

标签 perl symlink

我以为我以前见过这个问题的答案,但在这里搜索和谷歌后我找不到它。

如何用它指向的文件的副本替换现有的符号链接(symbolic link)? IE 通过链接复制源文件。

从这里开始

/path/to/file.txt
/link/path/file.txt -> /path/to/file.txt

然后调用类似 copy('/path/to/file.txt', '/link/path/file.txt'); 并得到:

/path/to/file.txt
/link/path/file.txt

我不能只使用 copy() 的原因是它似乎不支持用其源文件覆盖符号链接(symbolic link),因为它认为它们是相同的东西并给出错误“XXXXX 和 YYYYY 相同(未复制)”

是否有像 copy 这样的方法可以用源文件的副本覆盖符号链接(symbolic link)?

最佳答案

我认为仅用一个命令是不可能的。这是一个不涉及重命名的解决方案(您可能应该添加错误检查):

$linkLoc = readlink('/link/path/file.txt');
unlink('/link/path/file.txt');
copy($linkLoc, '/link/path/file.txt');

如果您发现自己经常这样做,您可能会发现将其包装在一个方便的函数中是值得的。

关于perl - 在 perl 中用文件副本覆盖符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7070632/

相关文章:

linux - 符号链接(symbolic link)会发生什么?原始二进制文件和符号二进制文件的行为不同

linux - virtualbox debian 中的共享文件夹中的 create-react-app 无法正常工作 - 符号链接(symbolic link)错误

perl - 在 IO::Socket::SOCKS 代理上使用 IO::Socket::SSL

perl - 500 SSL 协商失败

php - 为什么 PHP 在启用 SELinux 的情况下不遵循符号链接(symbolic link)?

symlink - vxworks 支持符号链接(symbolic link)吗?

c++ - 如何在 C++ 中实现与嵌套 Perl 散列等效的功能?

python - Perl 代码序列化和反序列化变量,如 python pickle

perl - 从 Perl 子例程返回整个数组效率低下吗?

git - 从 git 分支创建符号链接(symbolic link)文件层次结构