Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link)

创建命令:
ln -s softlink destfile/directory #建立软连接
ln hardlink destfile #建立硬连接

inode
在Linux系统中,内核为每一个新创建的文件分配一个Inode,每个文件都有一个惟一的inode号,我们可以将inode简单理解成一个指针,它永远指向本文件的具体存储位置。文件属性保存在inode里,在访问文件时,inode被复制到内存在,从而实现文件的快速访问。系统是通过inode来定位每一个文件。

硬链接(hard link)
硬链接实际上是一个指针,指向源文件的inode,系统并不为它重新分配inode。硬连接不会建产新的inode,硬连接不管有多少个,都指向的是同一个inode节点,只是新建一个hard link会把结点连接数增加,只要结点的连接数不是0,文件就一直存在,不管你删除的是源文件还是连接的文件。只要有一个存在,文件就存在(其实就是引用计数的概念)。当你修改源文件或者连接文件任何一个的时候,其他的文件都会做同步的修改。

软链接(soft link)
软链接最直观的解释:相当于Windows系统的快捷方式,是一个独立文件(拥有独立的inode,与源文件inode无关),该文件的内容是源文件的路径指针,通过该链接可以访问到源文件。所以删除软链接文件对源文件无影响,但是删除源文件,软链接文件就会找不到要指向的文件(可以类比Windows上快捷方式,你点击快捷方式可以访问某个文件,但是删除快捷方式,对源文件无任何影响)。

区别
1. 软链接和源文件操作权限不一样 inode不一样;硬链接与源文件操作权限完全一致(同一个INODE 引用计数++)。
2. 软链接可以跨文件系统(分区);由于inode的限制以及文件系统的可卸载性,硬连接不容许跨文件系统。
3. 软连接可以对一个不存在的文件名进行连接;硬链接不可以。
4. 软连接可以对目录进行连接;硬链接不可以。

unix下的softlink和hardlink相关推荐

  1. Linux下的softlink和hardlink(转)

    Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link) 创建命令: ln -s destfile/directory  ...

  2. Linux下的softlink和hardlink

    Linux中包括两种链接:硬链接(hard link)和软链接(soft link),软链接又称为符号链接(symbolic link) 创建命令: ln -s destfile/directory ...

  3. 学习Unix,可从事什么样的工作(1)《精通Unix下C语言与项目实践》读书笔记(3)...

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读 不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的 ...

  4. Unix下设计动态库的方法《精通Unix下C语言编程与项目实践》(一)

    精通Unix下C语言编程与项目实践 之动态库的生成 作者:朱云翔,胡平 3.3 动态库的生成 动态库的生成可分为三个步骤,设计库源码.编译位置无关码(PIC)型.o文件和链接动态库.链接动态库的命令包 ...

  5. 《精通Unix下C语言与项目实践》读书笔记(16)

    <精通Unix下C语言编程与项目实践>读书笔记(new) 文章试读  不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八 ...

  6. Linux/Unix下的任务管理器-top命令

    Linux/Unix下的任务管理器-top命令 Posted on 2012-07-11 09:14 fengyv 阅读(15453) 评论(1) 编辑 收藏 Windows下的任务管理器虽然不好用( ...

  7. 修改linux下全局数据库名,linux/unix下修改oracle数据库实例名的方法

    linux/unix下修改oracle数据库实例名的方法 2018年12月10日 | 萬仟网IT编程 | 我要评论 linux/unix下修改oracle实例名的方法 1.检查原来的数据库实例名 $ ...

  8. 关于unix下使用tar的一些常用技巧

    tar是linux/unix下经常要用,包括备份,打包,传输等,是使用频率较高的命令,下面这些技巧,可以大大提高维护人员的效率,现贴出以备查: 1,解压包中文件至指定文件夹: tar -xzvf fi ...

  9. 文件锁操作《精通Unix下C语言编程与项目实践》之三

    文章试读 不拘一个遍程序系列:编程序不能一个脑袋钻到底,有时要学会变通,即所谓的曲线救国.一.二.三.四 职场规划:一些杂七杂八的职场感悟吧.不值钱的软件人才 精力充沛与事业成功 我的诗歌:都是我的打 ...

  10. 系统安全防护之UNIX下***检测方法

    因为UNIX系统经常承当着关键任务,所以它经常是***者***的首选目标.于是检测***.保护系统安全是管理员的最为重要的任务之一.那么,在没有其它工具帮助的情况下,如何去判断系统当前的安全性?如何去 ...

最新文章

  1. centos7 利用 crontab 执行 定时任务 计划任务
  2. Google Chrome v48.0.2564.
  3. 使用JDK 8流在包装对象的集合和包装对象的集合之间转换
  4. 电脑两边黑边怎么还原_Mac电脑录制的视频有黑边?如何解决
  5. php 5.4日志文件在哪里,我的错误日志文件在哪里?(Where are my error log files?)
  6. web前端开发初学者必看的学习路线图课程内容分享
  7. JAVA常用的工具类
  8. EtherCAT运动控制卡开发教程之Qt(上):开发环境配置与简单运动控制应用
  9. SAP 中文小写金额转大写金额 amount in word(支持负数)
  10. 在本地调试移动设备上的页面——神器weinre介绍
  11. Linux中正则表达式与文件格式化处理命令(awk/grep/sed)
  12. 【转载收藏】针对VNPY的软件bugs的修改总结
  13. Java就业前景如何?
  14. JAVA之模拟注册登录幸运抽奖
  15. python+短信宝实现手机短信发送
  16. 图片文字翻译的软件有哪些?文字翻译软件推荐。
  17. 解决linux下php命令无法使用,配置环境变量
  18. ASIO4ALL是什么
  19. ImageNet数据集应用
  20. 浅析人体检测技术及应用场景

热门文章

  1. RINEX3文件中的toc,toe,IODE区分和了解
  2. 导入(excel)+导出(excel)+国际化(i18n)+
  3. python一个下划线和两个下划线_python 单下划线/双下划线使用总结
  4. 大师级思考者是怎么探索事物本质的?
  5. 果木浪子吉他入门零基础教学(70课时)
  6. mysql数据库建表的作用_浅谈(SQL Server)数据库中系统表的作用
  7. hdu 5144 NPY and shot
  8. RocksDB 笔记
  9. sip 软电话 java源码,完美的 SIP 软电话
  10. word自己新建样式,怎么加入目录?