08_Linux系统之link(),symlink(),readlink()函数
一.ln 命令软硬链接介绍
在之前的文章我介绍过软硬链接,这里再次回顾一下。
链接它是有两种,一种被称为硬链接(Hard Link),另外一种被称为符号链接(Symbol link),也叫软链接。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接。而对于符号链接,则不存在这个问题。默认情况下,ln 产生硬链接。
首先我们对 hello 文件创建硬链接
[root@ SystemApi]# ls -l hello
-rw-r--r-- 1 root root 1024 Feb 25 09:56 hello
[root@ SystemApi]# ln hello hard_hello
[root@ SystemApi]# ls -l hard_hello
-rw-r--r-- 2 root root 1024 Feb 25 09:56 hard_hello
对于 hello 文件创建软连接(相当于 Windows 系统中的快捷方式)
[root@ SystemApi]# ln -s hello soft_hello
[root@ SystemApi]# ls -l soft_hello
lrwxrwxrwx 1 root root 5 Feb 25 10:57 soft_hello -> hello
二.相关函数
1.link()与 unlink()函数
① 依赖的头文件
#include <unistd.h>
② 函数声明
int link(const char *oldpath, const char *newpath);
int unlink(const char *pathname);
③ 函数的作用
link()函数为一个已经存在的文件创建一个新的链接(也就是硬链接)
unlink()函数是删除软硬链接。
④ 返回值
一旦成功,返回 0,一旦错误,返回-1。并且 erron 被设置了结果
2.symlink()函数
① 依赖头文件
#include <unistd.h>
② 函数声明
int symlink(const char *oldpath, const char *newpath);
③ 函数的作用:创建软链接
④ 返回值
一旦成功,返回 0,一旦错误,返回-1。并且 erron 被设置了结果
3.readlink()函数
① 依赖头文件
#include <unistd.h>
② 函数定义
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
③ 函数作用
读符号链接所指向的文件名字,不读文件内容
④ 返回值
成功返回 buf 填充的大小,失败返回-1
08_Linux系统之link(),symlink(),readlink()函数相关推荐
- linux link/symlink/unlink 硬连接和软连接介绍
文章目录 硬连接和软连接的区别 硬连接 软连接 链接命令`ln` `ln`指令参数含义 例子 硬链接函数`link()` 符号链接函数`symlink()` 解除链接函数`unlink()` link ...
- linux c 函数 link symlink unlink 链接相关功能
硬链接link 1.硬链接命令为ln,函数为link 2.man 2 link 硬链接函数 int link(const char *oldpath, const char *newpath ...
- linux symlink 函数,详解C语言中symlink()函数和readlink()函数的使用
C语言symlink()函数:建立文件符号连接头文件: #include 定义函数: int symlink(const char * oldpath, const char * newpath); ...
- php symlink,php函数symlink详解
php函数symlink详解 建立符号链接 (symbolic link),类似于Windows里头常用的.lnk快捷方式 symlink语法: int symlink(string target, ...
- linux下readlink函数详解
linux下readlink函数详解 相关函数: stat, lstat, symlink 表头文件: #include <unistd.h> 定义函数:int readlink(con ...
- readlink 函数用法
相关函数: stat, lstat, symlink 表头文件: #include <unistd.h> 定义函数:ssize_t readlink(const char *path, c ...
- Linux中assert头文件,linux系统下如何使用assert函数
linux系统下如何使用assert函数 只要看得懂程序的人都知道assert,在Windows下使用VC编写,使用assert之后,只需在IDE中设置为debug版或者是release版,编译器就会 ...
- _Linux系统编程—信号集操作函数
先来回顾一下未决信号集是怎么回事. 信号从产生到抵达目的地,叫作信号递达.而信号从产生到递达的中间状态,叫作信号的未决状态.产生未决状态的原因有可能是信号受到阻塞了,也就是信号屏蔽字(或称阻塞信号集, ...
- SQL Server返回当前实例系统日期和时间的函数
下面列举出SQL Server返回实例系统日期和时间的函数,除了ANSI标准函数CURRENT_TIMESTAMP在应用时无需在函数后多加一对空的小括号"()"外,其余均需. 从返 ...
最新文章
- Oracle编程入门经典 第10章 PLSQL
- Mongodb和redis书籍调研
- 1.7 空间正交分解
- [css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗?
- vue router-link 添加点击事件
- STM32之串口例程
- vue实现页面权限显示_Vue 实现前端权限控制
- 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理][转载]...
- oracle sql 拆分字符串,oracle 拆分字符串
- 【Typecho插件】SakuraLoad
- _stdcall和_cdecl
- vc707 MicroBlaze Helloworld 实验
- java Outlook的日程_使用Outlook进行日程安排的方法
- 如何修改计算机ip 地址子网掩码,如何查看和修改主机的ip地址和子网掩码
- Linux HaProxy安装/启动/简单配置教程
- 2022-BNUZ-IT节程序设计竞赛网络赛题解
- python生产实战 python 闭包之庖丁解牛篇
- win10如何更改计算机用户名,怎么更改账户用户名,教你win10系统更改账户用户名称教程...
- [UNR#5]诡异操作
- HTC Desire HD(DHD G10) 刷机时MIUI卡在htc开机画面的解决方法