免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5781 | 回复: 22
打印 上一主题 下一主题

关于符号连接 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-11 17:50 |只看该作者 |倒序浏览
关于符号连接

现在想获得符号连接锁指向的文件的名字,目前有没有系统函数或者库函数可以直接调用啊??
谢谢!

论坛徽章:
0
2 [报告]
发表于 2007-09-11 18:07 |只看该作者
原帖由 huaxue 于 2007-9-11 17:50 发表
关于符号连接

现在想获得符号连接锁指向的文件的名字,目前有没有系统函数或者库函数可以直接调用啊??
谢谢!


stat fstat

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2007-09-11 19:07 |只看该作者
原帖由 huaxue 于 2007-9-11 17:50 发表
关于符号连接

现在想获得符号连接锁指向的文件的名字,目前有没有系统函数或者库函数可以直接调用啊??
谢谢!

直接读取符号连接的内容即可.

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2007-09-12 08:14 |只看该作者
原帖由 MMMIX 于 2007-9-11 19:07 发表

直接读取符号连接的内容即可.


正解。符号链接的内容就是所指向链接的路径名,包括文件名

论坛徽章:
0
5 [报告]
发表于 2007-09-12 11:00 |只看该作者
man readlink
man 2 readlink

论坛徽章:
0
6 [报告]
发表于 2007-09-12 11:11 |只看该作者
怎么直接读取符号连接的内容啊,先用open打开符号连接文件,然后在用read读么??
我试了好像不行的。
^_^可不可以说的具体点

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2007-09-12 19:19 |只看该作者
原帖由 huaxue 于 2007-9-12 11:11 发表
怎么直接读取符号连接的内容啊,先用open打开符号连接文件,然后在用read读么??
我试了好像不行的。
^_^可不可以说的具体点

没看到 haplo 的回贴么? 那我再重复一遍: 参考 readlink(2) 的手册.

论坛徽章:
0
8 [报告]
发表于 2007-09-13 10:10 |只看该作者
恩 看到haplo的回帖了,我试了一下readlink是可以的?
不过我还想知道通过读取符号链接的内容,咋实现?
^_^谢谢了

论坛徽章:
0
9 [报告]
发表于 2007-09-13 15:01 |只看该作者
LZ是不是要这样?

打开文件
if ((fd = open(filename,O_RDONLY,S_IRUSR)) == -1)
{
        perror("open:");
        exit(-1);
}

从文件读取size个字节到buffer里面
read(fd, buffer,size);

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
10 [报告]
发表于 2007-09-13 20:05 |只看该作者
原帖由 kenduest 于 2007-9-13 12:45 发表


直接 fopen() 或者是 open() 開啟後即可用一般函數 (ex: fread(), read() ) 讀取內容。

--

Linux 下的 open(2) 是会跟随 symbolic link 的, 虽然也有 O_NOFOLLOW, 但对其的描述是
If pathname is a symbolic link, then the open fails.

也即在 Linux 下用 open(2) 是无法直接打开 symbolic link 的, 要读取 symbolic 的内容只有直接用 readlink(2).
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP