Linux C -> symlink 和 readlink -> 符号链接

---------------------------------------------------------------------------------------------

  symlink() 函数创建符号连接。

  概要 POSIX

  #include <unistd.h>

  int symlink(const char *path1, const char *path2);

symlink("/root/b.out","/root/c.out");

  如果成功, symlink返回0.。否则返回-1并设置errno。

---------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------

查看链接所指向的文件的名字

---------------------------------------------------------------------------------------------

int main()
{
  char buf[100];
  readlink("/root/c.out",buf,sizeof(buf));
  printf("%s",buf);
  return 0;
}
---------------------------------------------------------------------------------------------

  相关函数: stat, lstat, symlink

  表头文件: #include <unistd.h>

  定义函数:ssize_t readlink(const char *path, char *buf, size_t bufsiz);

  函数说明:readlink()会将参数path的符号链接内容存储到参数buf所指的内存空间,返回的内容不是以\000作字符串结尾,但会将字符串的字符数返回,这使得添加\000变得简单。若参数bufsiz小于符号连接的内容长度,过长的内容会被截断,如果 readlink 第一个参数指向一个文件而不是符号链接时,readlink 设 置errno 为 EINVAL 并返回 -1。 readlink()函数组合了open()、read()和close()的所有操作。

  返回值 :执行成功则返回字符串的字符数,失败返回-1, 错误代码存于errno

  执行成功则返回ssize_t

  错误代码:

  EACCESS 取文件时被拒绝,权限不够

  EINVAL 参数bufsiz为负数

  EIO O存取错误

  ELOOP 欲打开的文件有过多符号连接问题

  ENAMETOOLONG 参数path的路径名称太长

  ENOENT 参数path所指定的文件不存在

  ENOMEM 核心内存不足

  ENOTDIR 参数path路径中的目录存在但却非真正的目录

转载于:https://www.cnblogs.com/wangjian8888/p/7800938.html

Linux C - symlink 和 readlink - 符号链接相关推荐

  1. 符号链接symlink_什么是符号链接或符号链接? 如何为Windows和Linux创建Symlink?

    符号链接symlink Symbolic Links are also known as Symlinks. Symlinks are used to create a shortcut for a ...

  2. link、symlink、readlink、unlink函数的使用

    #include <unistd.h> int link(const char *oldpath, const char *newpath); 作用:创建一个硬链接      0成功   ...

  3. linux link/symlink/unlink 硬连接和软连接介绍

    文章目录 硬连接和软连接的区别 硬连接 软连接 链接命令`ln` `ln`指令参数含义 例子 硬链接函数`link()` 符号链接函数`symlink()` 解除链接函数`unlink()` link ...

  4. linux添加启动脚本文件夹,linux – 将脚本中的符号链接添加到rc.d文件夹中以在系统启动期间启动进程...

    我正在使用fedora 15. 我试图添加MYSql守护进程在系统strtup期间启动. 我已经明白我必须将它添加到rc5.d,因为它是默认目标&是graphical.target. 来自in ...

  5. linux笔记-硬链接和符号链接

    硬链接:指多个路径名(不同目录下的不同文件名)指向同一个硬盘数据,用其中的随便哪个文件打开修改数据,都会在其他文件打开中更新, 原因就是硬链接和"原"文件inode相同,每增加或者 ...

  6. linux中符号链接啥意思,linux – 为什么我不能在符号链接中使用“...

    我有以下目录结构: misha@misha-lmd:~/tmp$ls -l total 4.0K -rw-r--r-- 1 misha lmd 21 Feb 18 21:00 hello.py lrw ...

  7. 【Linux】硬链接和符号链接(软连接)都可以修改原文件吗?--相同点与不同点

    答案是都可以修改 测试 测试命令如下 $ cd /tmp # 所有人都有rwx权限 $ touch test.txt $ vim test.txt #写入: this is the test file ...

  8. Linux磁盘管理——XFS文件系统符号链接硬链接

    九.xfs文件系统 XFS文件系统的配置 基本上XFS就是一个日志式文件系统,之所以现在把它当预设的文件系统 是因为它原本就是被开发用于高容量磁盘以及高性能文件系统之用的,相当适合于现在的环境.此外, ...

  9. Linux的readlink与dirname $0和readlink用法以及sed的使用,Linux系统盘和数据盘的查看等整理汇总

    Linux与Shell相关命令整理 dirname $0和readlink用法 获取当前脚本路径 path.sh dirname $0 只是获取的当前脚本的相对路径. #!/bin/bash path ...

  10. centos7删除符号链接_技术|在 Linux 中怎样移除(删除)符号链接

    你可能有时需要在 Linux 上创建或者删除符号链接.如果有,你知道该怎样做吗?之前你做过吗?你踩坑没有?如果你踩过坑,那没什么问题.如果还没有,别担心,我们将在这里帮助你. 使用 rm 和 unli ...

最新文章

  1. 拒绝+启示+TED+被拒的100天+What I learned from 100 days of rejection
  2. linux gdb 格式化结构体输出
  3. 【Visual C++】游戏开发笔记十四 游戏画面绘图(四) 华丽的CImage类
  4. ML_Multiple Linear Regression
  5. LDA-math-神奇的Gamma函数
  6. ITK:在图像中线性插值位置
  7. 智能计算机的功能是什么问题,人工智能在电脑系统的作用
  8. 【BZOJ】2289: 【POJ Challenge】圆,圆,圆
  9. 784. 字母大小写全排列
  10. 记录一次游戏服务器的压测调优记录(Golang语言)
  11. R中数据结构与数据的输入
  12. 递归函数python有什么特点_递的笔顺 笔画数:10 拼音:dì 部首:辶 - 智慧山
  13. 浏览器打开标签页的几种方式
  14. 开源API文档管理系统
  15. 图解正则表达式,这一篇就够了
  16. 04【Verilog实战】SPI协议底层硬件接口设计(附源码RTL/TB)
  17. VirtualBox无法安装增强工具-共享复制粘贴功能
  18. Js 日期转化大写中文 实现代码
  19. 汉语拼音标注,汉字加拼音
  20. 睿智的法杖v8.28ti

热门文章

  1. 计算机二级C常考题型归纳
  2. 深度学习之Ubuntu下安装caffe和TensorFlow的cpu版本
  3. 对抗生成网络(Generative Adversarial Net)
  4. 使用Scikit-Learn,XGBoost,LightGBM和CatBoost进行梯度增强
  5. java桥牌发牌算法
  6. 基于局部自适应阈值的图像二值化
  7. 安装Ubuntu最后重启出错Write through
  8. 机器学习中的正则化(Regularization)
  9. android a20 i2c 通信,Android程序运行分析——中等复杂程度的NTAG I2C Demo为例(二)...
  10. 机器人码垛搬运编程程序_一条指令搞定机器人搬运程序