gpt4 book ai didi

linux - 如何在 Linux 上将普通文件变成符号链接(symbolic link)

转载 作者:IT王子 更新时间:2023-10-29 00:31:25 24 4
gpt4 key购买 nike

我正在编写一个(非)归档工具,它的设计方式是首先从归档中创建一个常规文件,然后再检查特殊属性并可能决定该项目是一个符号链接(symbolic link),事实上。

注意:在更多人误解我想创建一个文件的符号链接(symbolic link)之前。。不,我将符号链接(symbolic link)数据(即它的路径)写入文件,然后我想告诉文件系统这是一个符号链接(symbolic link)

我一直在 OS X 上开发它,只需相应地设置其类型和创建者代码,就可以将常规文件转换为符号链接(symbolic link)。

现在我想让这段代码也能在 Linux 上运行。所以我想在那里找到类似的方法。

我知道创建符号链接(symbolic link)的正常方法是调用 symlink() 函数,但我想知道是否还有一种方法可以将常规文件更改为符号链接(symbolic link),就像在 OSX 的 BSD 系统中一样,这样我就不必过多地重构我的工作代码?

有lstat(),它在st_mode 的最高位返回文件类型。现在我想知道这个模式字段是否也有一个类似的 setter 函数。

最佳答案

我不相信 Linux 中有一种方法可以像您描述的那样执行此操作。 IIRC,文件系统将符号链接(symbolic link)信息存储在 inode 表中而不是常规文件中,因此没有直接的方法将文件转换为链接。

如果符号链接(symbolic link)的路径存储在文件中,为什么不读出路径、删除文件并在其位置创建一个符号链接(symbolic link)?

关于linux - 如何在 Linux 上将普通文件变成符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330543/

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