如何在Linux上将常规文件转换为符号链接

我正在编写一个(un)归档工具及其设计方式,它首先在检查特殊属性之前从归档文件中创建一个常规文件,并且可能确定此项目是符号链接.

注意:在更多人误解我想要制作文件的符号链接之前.不,我将符号链接数据(即其路径)写入文件,然后我想告诉文件系统这是一个符号链接

我一直在OS X上开发它,可以通过简单地设置其Type和Creator代码将常规文件转换为符号链接.

现在我想让这段代码也在Linux上运行.所以我喜欢在那里找到类似的方式.

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

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

解决方法

我不相信Linux中有一种方法可以像你描述的那样去做. IIRC,文件系统将符号链接信息存储在inode表中而不是常规文件中,因此没有直接的方法文件转换为链接.

如果符号链接的路径存储在文件中,为什么不读出路径,删除文件,并在其位置创建符号链接

相关文章

文件查找(find) 1 find 简单的说,就是实时查找指定的内容或条件。特点:最新、最快、最准确。 用法:...
非交互式添加分区 方法一 添加/deb/sdb 下的分区,其实位置为1到1000M,第二个分区位置为1001至3000M,...
编译安装httpd 1 去官网下载源码包 为避免非法软件,一定要去官网下载http://www.apache.org httpd-2.4...
gdisk用法 gdisk - InteractiveGUIDpartitiontable (GPT) manipulator GPTfdisk (akagdisk) isatext-mo...
1 一定用快捷键 这里简单的说下几个常用的快捷按键。 1.1 移动光标快捷键 Crtl + a 光标回到命令行...
bash shell中测试命令 test命令提供了if-than语句中测试不同条件的途径。如果test命令中列出的条件成立...