gpt4 book ai didi

bash - ln -s 覆盖物理目录

转载 作者:行者123 更新时间:2023-12-01 23:30:37 27 4
gpt4 key购买 nike

所以我基本上有一个目录 A 那总是存在的。我想用符号链接(symbolic link)替换这个目录(这将在我的部署脚本中完成)。

我试过ln -sf app/cache A但它不起作用,它在 内部创建它一个 而不是覆盖它。

$ tree 
.
├── A
│   └── cache -> app/cache
└── app
└── cache

3 directories, 1 file

是否可以仅使用 ln还是我必须事先删除 A?

最佳答案

ln如果目标已存在,则可能会要求实用程序通过添加 -f 来删除它。选项。但是,POSIX 标准说这是通过调用 C 库例程 unlink() 来完成的。 ,关于那个功能,标准说

The path argument shall not name a directory unless the process has appropriate privileges and the implementation supports using unlink() on directories.



我无法访问 unlink() 的系统记录删除目录,或其中 -f标记为 ln记录删除目录。

因此,您的解决方案是
$ rm -rf /path/to/A

或者,哪个更安全,
$ mv -f /path/to/A /path/to/A.orig

在创建符号链接(symbolic link)之前。

关于bash - ln -s 覆盖物理目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38094453/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com