文章目录

  • 硬连接和软连接的区别
    • 硬连接
    • 软连接
  • 链接命令`ln`
    • `ln`指令参数含义
    • 例子
  • 硬链接函数`link()`
  • 符号链接函数`symlink()`
  • 解除链接函数`unlink()`
  • link/symlink/unlink函数头文件为#include <unistd.h>

硬连接和软连接的区别

硬连接

硬连接指通过索引节点来进行连接。

在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。

在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。

硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。

其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接

另外一种连接称之为符号连接(Symbolic Link),也叫软连接。软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

链接命令ln

  • 当我们需要在不同的目录,用到相同的文件时,用ln命令链接(link)它就可以,不必重复的占用磁盘空间。
  • ln -s 源文件 目标文件。为某一个文件在另外一个位置建立一个同步的链接,这个命令最常用的参数是-s,表示软连接(symbolic link)
  • ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;
  • ln的链接有软链接 和硬链接两种,软链接就是ln -s 源文件 目标文件 ,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln 源文件 目标文件,没有参数-s,它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
  • 不论是硬连结或软链结都不会将原本的档案复制一份,只会占用非常少量的磁盘空间。

ln指令参数含义

  -f : 链结时先将与 dist 同档名的档案删除-d : 允许系统管理者硬链结自己的目录-i : 在删除与 dist 同档名的档案时先进行询问-n : 在进行软连结时,将 dist 视为一般的档案-s : 进行软链结(symbolic link)-v : 在连结之前显示其档名-b : 将在链结时会被覆写或删除的档案进行备份-S SUFFIX : 将备份的档案都加上 SUFFIX 的字尾-V METHOD : 指定备份的方式--help : 显示辅助说明--version : 显示版本

例子

创建了快捷方式S99QuecOpen_sarapp 指向了文件../init.d/QuecOpen_startapp

硬链接函数link()

  • 硬链接命令为ln,函数为link

int link(const char *oldpath, const char *newpath);

–参数*oldpath:已有的文件路径。

–参数*newpath:新建的硬链接文件路径。

–返回值:成功返回0,错误返回-1。

符号链接函数symlink()

  • 符号链接也叫软链接,symlink

int symlink(const char *oldpath, const char *newpath);

–参数*oldpath:已有的文件路径

–参数*newpath:新建的符号链接文件路径

–返回值:成功返回0,错误返回-1

解除链接函数unlink()

int unlink(const char *pathname);

–参数*pathname:链接文件的路径

–返回值:成功返回0,错误返回-1

– unlink指向软链接,删除软链接;指向最后一个硬链接,相当于删除文件

linux link/symlink/unlink 硬连接和软连接介绍相关推荐

  1. linux 硬连接和软连接

    系统如何通过文件名访问磁盘数据 每个文件都对应了一个inode对象 , inode对象指出该文件在物理磁盘上的位置, 访问文件时,操作系统通过文件找到一个文件的 inode 索引 ,找到对应的inod ...

  2. Linux硬连接、软连接的原理 兼述磁盘组成文件系统类型

    引子 目前,UNIX的文件系统有很多种实现,例如UFS(基于BSD的UNIX文件系统).ext3.ext4.ZFS和Reiserfs等等. 不论哪一种文件系统,总是需要存储数据.硬盘的最小存储单位是扇 ...

  3. linux文件-link函数(文件硬链接和软连接)

    创建硬链接的函数: 相关函数:symlink, unlink头文件:#include <unistd.h>定义函数:int link (const char * oldpath, cons ...

  4. 【Linux入门学习之】Linux连接文件:硬连接和软连接

    Linux下面的连接文件有2种:一种是类似与Windows的快捷方式功能的文件,可以让我们快速连接到目标文件,称为符号连接(symbolic link):另一种则是通过文件系统的inode连接产生新文 ...

  5. linux c 函数 link symlink unlink 链接相关功能

    硬链接link 1.硬链接命令为ln,函数为link 2.man 2 link      硬链接函数 int link(const char *oldpath, const char *newpath ...

  6. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)...

    在这节将要学习linux的连接档,在之前用"ls -l" 查看文件属性的命令时, 其中第二个属性是连接数.那么这个连接数是干什么的?这就要理解inode. 先说一下文件是怎么存储的 ...

  7. 智能车学习(二十)——浅谈C车硬连接与软连接

    一.为何要追求软连接? 车子进行软连接之后,可以达到一种效果,就是在高速过程中,车子如果快要发生侧翻的时候,只会跳一个后轮,且只是轻微,而前轮如果进行的内倾,就可以让前轮最大面积接触,增大摩擦力,在这 ...

  8. linux链接文件:硬链接和软连接

     linux系统中链接文件分为硬链接和软链接(软链接也叫符号链接). 硬链接和软链接都是指向文件的一种方式,但两者有不同的地方,主要有以下不同: 硬链接:伪备份   软连接:快捷方式    1.硬 ...

  9. Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包...

    一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------    2> 将记录 ...

最新文章

  1. 3.4.3 嵌套查询
  2. ngnix mysql 缓存清除_利用Proxy Cache使Nginx对静态资源进行缓存
  3. 使用 wxImage 为 OpenGL 加载纹理
  4. Davinci DM6446 Codec Engine双核通信环境的搭建
  5. MySql 一条更新语句是如何执行的? MySql杂谈、MySql WAL 技术
  6. python百分号转义_python 转义字符、运算符、列表。。。。
  7. Oracle开发艺术
  8. linux下rar-unrar命令使用
  9. EasyUI配置当点击一个datagrid的checkbox选中或取消选中记录的时候刷新另一个datagrid数据的方法
  10. 基于HTML5 WebGL 与 GIS 的智慧机场大数据可视化分析
  11. 时间敏感网络TSN及其标准
  12. CTOR是否有助于BCH分片技术?
  13. 智能机器人 迪姆人工_艾美迪迪姆智能故事机
  14. 最安全的微信群管理工具推荐
  15. 同时删除多个 PDF 文档最后几页
  16. 二、springBoot 整合 mybatis 项目实战
  17. 三、Linux命令之cp
  18. 【程序】STM32F407VE单片机通过FSMC驱动Ilitek ILI9325液晶屏以及XPT2046触控芯片
  19. k8s中java内存泄漏,Kubernetes 案例分享:如何避免 JVM 应用内存耗尽
  20. android9无法连接wifi,安卓9手机连上wifi却上不了网怎么办

热门文章

  1. 中式英语如何产生?该怎么办?
  2. 学Python爬虫,就得从爬高清美图开始!
  3. 升级到JUnit5的7个理由
  4. 马斯克指定接班人?传特斯拉大中华区CEO朱晓彤接任全球CEO,官方疑否认
  5. 计算机实训报告心得怎么写,计算机实训报告心得体会范文_计算机实训总结怎么写...
  6. 服务器上的文件都变成只读了,[求助]Excel 文档都变成只读了,请问怎么恢复?/excle变成只读文件怎么办...
  7. Fedora 20 的 r8168 与 rtl8723be 驱动
  8. linux用c语言模拟抢票系统,C语言可以编写抢票软件吗
  9. 如何识别哭泣csdn_【jji技术】语音识别工程实战:聊聊语音芯片选型
  10. 尼克尔镜头上边的字表示什么?