linux/mac系统的软链接文件与硬链接文件

摘要:
文件前面的硬链接编号的含义如下:表示文件夹下有n-2个子文件和文件夹的总和;L表示文件是链接文件,因为它只是符号链接5。生成的软链接文件的命名规则,/etc/issue箭头指向原始文件6。软链接记录文件路径硬链接文件;原始文件2。我们可以通过ls-i“获取文件ID,以区分硬链接。硬链接不能用于目录。如果原始文件被删除。

1、硬连接只能使用在文件上,不可以使用在文件夹上。至于文件前面的硬链接数字的含义如下:

如图标注区,为硬连接的数量,文件前的数字1表示没有硬链接。文件夹前面的数字至少是2,含义是这个文件夹是空文件夹,当数字大于2时,比如为n>2,则表示这个文件夹下面有个n-2个子文件和文件夹的和;因此从文件夹前面的这个数字可以知道文件夹下面到底有多少文件和文件夹(一个文件夹算做1,一个文件算作1)。至于文件夹的硬连接数为什么最小是2,有个解释是,每个文件夹下面都有两个默认的路径'.'和'..' ----- 其中一个点表示当前路径,两个点表示上个目录

linux/mac系统的软链接文件与硬链接文件第1张

  • 软链接文件:

特征:
1.其只是一个符号链接,相当于Windows的快捷方式
2.软链接的权限不决定原文件的权限
3.其文件的所有者,所属组,其他人的权限全部为rwx,即“lrwxrwxrwx”,l表示该文件为链接文件,以此来区分软链接 -- 这一条在mac下是lrwxr-xr-x
4.文件大小很小,因为其只是一个符号链接
5.生成的软链接文件的命名规则:/tmp/issue.soft -> /etc/issue 箭头指向原文件

6.软链接记录的是一个文件路径

  • 硬链接文件:

特征:
1.硬链接的来源相当于“拷贝cp -p+同步更新”原文件
2.我们可以通过ls -i来获取文件的ID,硬链接文件与原文件的ID是一样的,以此来区分硬链接
3.硬链接不能针对目录使用

如果把原文件删除,关于读文件,软链接文件就无法正常打开,但硬链接文件可正常访问。关于写文件,硬连接当然可以写,软链接文件也可以写,但是会新建一个文件,文件名字和原来的相同,但是inode值和原来的不同

ls 结果的最左边一列,是文件的 inode 值,你可以简单把它想成 C 语言中的指针。它指向了物理硬盘的一个区块,事实上文件系统会维护一个引用计数,只要有文件指向这个区块,它就不会从硬盘上消失

硬链接文件显示跟原来文件一样大小1.6G,软链接文件才27个字节;

找出一个文件的所有硬链接
ls -i查找文件的inode值
 
find <开始路径> -inum inode值
 
 
1)在同一文件系统下,可以创建软链接或硬链接(同文件系统不同目录下也可以);
2)硬链接的文件显示大小跟原文件一样;软链接的文件很小,只有几十个字节;
3)硬链接的文件的inode跟原文件一样;软连接的文件有自己的inode,跟原文件不一样;
4)创建软链接或硬链接文件不会明显占用文件系统磁盘空间;只是多了个链接的大小而已
 
参考:http://forrest420.iteye.com/blog/1291032
http://blog.chinaunix.net/uid-105044-id-2952059.html

免责声明:文章转载自《linux/mac系统的软链接文件与硬链接文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转+】以C++为核心语言的高频交易系统的讨论Linux路径名和文件名最大长度限制下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

按回车Enter键后自动隐藏软键盘

在布局文件中EditText控件中加入属性: android:imeOptions="actionDone"         imeOptions还有很多其他参数,比如搜索,前往...等等,依据需要选择。 一般在xml文件加入了这个属性就可以达到键盘隐藏的效果的,但有些第三方输入法问题,并不一定有效果,这时候可以再试下以下方法。 在代码中: edtiTex...

sublime配置java环境

今天突然不想用eclipse编写java了,觉得sublime挺好用,就想用sublime配置java环境,以下是过程以及出现的问题。 一、配置Java环境 1、打开我的电脑–属性–高级–环境变量   2、新建两个环境变量: 1 JAVA_HOME=D:Program FilesJavajdk1.7.0_51 2 3 CLASSPATH= .;%JAVA...

hadoop HDFS扩容

1.纵向扩容(添加硬盘) 1.1 添加硬盘 确定完成添加,运行 lsblk 查看硬盘使用情况 1.2 硬盘分区 fdisk /dev/sdb #对新硬盘sdb进行分区 m 帮助 n 添加一个分区 p 选择主分区 q 不保存退出 w 保存并退出 centerOS7的默认文件系统是xfs,centerOS6默认的文件系统是ext4 mk...

Android文件下载(实现断点续传)

本文将介绍在android平台下如何实现多线程下载,大家都知道,android平台使用java做为开发语言,所以java中支持的多线程下载方式在android平台下都支持,其中主要有两种方式可以实现多线程下载。 一种方式是使用很多个线程分别下载文件的不同部分,最后把所有下载完的文件合并成一个文件。另一种方式是使用java为我们提供的RandomAcces...

CAD启动找不到AC1ST16.DLL

今天在安装Win7 x64上CAD2006启动报错:找不到ac1st16.dll文件。 一查,是系统变量的问题。在系统变量Path中cad的路径为: C:Program Files (x86)Common FilesAutodesk Shared 然后将其他修改为如下即可: C:Program Files (x86)Common FilesAuto...

VSTO+WinForm+WebService+WCF+WPF示例

前段时间去图书馆借书,无意中发现这样一本书,书名是”新一代 .NET Office开发 Excel篇”,书名比较有意思,就借出来看看.看完以后,发现确实不错.它挖掘了Office产品中我们经常忽略的部分.比如图表,透视表等.下面根据我对这本书的笔记来看看VSTO这个被微软偷偷发布,而被我们遗弃的东东到底是什么样子?由于这本书只针对Excel部分做操作,所以...