readlink -读符号链接的值
内容简介
#include
ssize_t readlink(const char *path, char *buf, size_tbufsiz);
描述
readlink() places the contents of the symbolic linkpathin the bufferbuf, which has sizebufsiz.readlink() does not append a null byte tobuf. It will truncate the contents (to a length ofbufsizcharacters), in case the buffer is too small to hold all of the contents.
返回值
The call returns the count of characters placed in the buffer if it succeeds, or a -1 if an error occurs, placing the error code inerrno.
错误
标签
描述
EACCES
搜索权限的路径前缀的组成部分将被拒绝. (See also path_resolution(2).)
EFAULT
buf 进程的已分配地址空间之外延伸.
EINVAL
bufsiz is not positive.
EINVAL
The named file is not a symbolic link.
EIO
An I/O error occurred while reading from the file system.
ELOOP
Too many symbolic links were encountered in translating the pathname.
ENAMETOOLONG
路径名,或路径名的组成部分太长。
ENOENT
指定的文件不存在。
ENOMEM
没有足够的内核内存可用。
ENOTDIR
路径前缀的某组成部分不是目录。
遵循于
4.4BSD (thereadlink() function call appeared in 4.2BSD), POSIX.1-2001.
HISTORY
In versions of glibc up to and including glibc 2.4, the return type ofreadlink() was declared asint. Nowadays, the return type is declared asssize_t, as (newly) required in POSIX.1-2001.
另请参阅
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。