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下C语言编程与项目实践》从实用的角度出发,深入浅出地对UNIX环境下C语言编程进行全面分析和介绍。《精通UNIX下C语言编程与项目实践》共分为6个部分,详尽而细致地介绍了UNIX环境下的编程概念、文件系统...
《精通UNIX下C语言编程》 书源代码 精通UNIX下C语言精通UNIX下C语言精通UNIX下C语言
unix下配置jdk和tomcatunix下配置jdk和tomcatunix下配置jdk和tomcatunix下配置jdk和tomcatunix下配置jdk和tomcatunix下配置jdk和tomcat
unix下oracle命令,能帮助你解决一些在UNIX下操作数据库的问题
unix下C编程源码,unix下C编程源码,欢迎下载!
讲解Unix和Linux下的Oracle数据库管理
直接在windows下使用unix的程序。直接安装使用!附带说明书。
很受用 可以看看 主要详细介绍sco unix 下的vi的各种命令
对Unix系统的简单介绍,本章为UNIX下的C语言开发环境,主要介绍了GCC,GDB和MAKE命令。
Laravel开发-laravel-soft-deletes-unix Laravel的带有Unix时间戳的软删除
Unix 下 C语言开发,方便以后的学习与发展。大概介绍。请多指教
linux和unix下常用解压和压缩命令 .txtlinux和unix下常用解压和压缩命令 .txt
精通UNIX下C语言编程及项目实践,精通UNIX下C语言编程及项目实践
UNIX下常用命令-英文版的.
unix下常用解压和压缩命令 解包: tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ......
unix下的weblogic安装和使用WebLogic Server cannot start: config.xml not found
linux编程资深专家michael kerrisk在书中详细描述了linux/unix系统编程所涉及的系统调用和库函数,并辅之以全面而清晰的代码示例。《linux/unix系统编程手册(上、下册)》涵盖了逾500个系统调用及库函数,并给出逾200...
在Unix 下安装Oracle的笔记 在Unix 下安装Oracle的笔记 在Unix 下安装Oracle的笔记
学习linux之前首先得掌握其前身,unix是linux发展的原型,学好编写linux应用程序才可以更加深入地学习驱动,了解linux内核
unix2dos 操作环境:Microsoft桌面操作系统/dos下操作 使用方法:拖放要转换的文本文件至输入窗口中,选择要转换的方式(DOS2UNIX或UNIX2DOS),点转换即可直接转换 注:支持命令提示符下参数操作 功能: unix...