为了账号安全,请及时绑定邮箱和手机立即绑定

求解释,关于link的linux中link函数的含义?

求解释,关于link的linux中link函数的含义?

繁华开满天机 2021-05-14 11:11:31
link的linux中link函数
查看完整描述

1 回答

?
蝴蝶不菲

TA贡献1810条经验 获得超4个赞

头文件
#include <unistd.h>
函数原型
int link (const char * oldpath,const char * newpath);
说明
link()以参数newpath指定的名称来建立一个新的连接(硬连接)到参数oldpath所指定的已存在文件。如果参数newpath指定的名称为一已存在的文件则不会建立连接。函数在执行成功时则返回0,失败时则返回-1,错误原因存于errno。 link()所建立的硬连接无法跨越不同文件系统,如果需要请改用symlink()。
errno错误代码:
EXDEV 参数oldpath与newpath不是建立在同一文件系统。
EPERM 参数oldpath与newpath所指的文件系统不支持硬连接
EROFS 文件存在于只读文件系统内
EFAULT 参数oldpath或newpath 指针超出可存取内存空间。
ENAMETOLLONG 参数oldpath或newpath太长
ENOMEM 核心内存不足
EEXIST 参数newpath所指的文件名已存在。
EMLINK 参数oldpath所指的文件已达最大连接数目。
ELOOP 参数pathname有过多符号连接问题
ENOSPC 文件系统的剩余空间不足。
EIO I/O 存取错误。
范例
/* 建立/etc/passwd 的硬连接为pass */ #include<unistd.h>main(){link(/etc/passwd,pass);}



查看完整回答
反对 回复 2021-05-16
  • 1 回答
  • 0 关注
  • 359 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信