每个文件的属性信息,比如:文件的大小,时间,类型等,称为文件的元数据(meta data)
node 表中有很多条记录组成,第一条记录对应的存放了一个文 件的元数据信息
第一个node表记录对应的保存了以下信息:
目录是个特殊文件,目录文件的内容保存了此目录中文件的列表及inode number对应关系
分配一个空闲的inode号,在inode表中生成新条目
在目录中创建一个目录项,将名称与inode编号关联
拷贝数据生成新的文件
链接数递减,从而释放的inode号可以被重用
把数据块放在空闲的列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
如果mv命令的目标和源在相同文件系统
用新的文件名创建新的目录项
删除旧目录条目对应的旧文件名
不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动
如果src和dst不在同一个的文件系统上,mv相当于cp和rm
[root@centos7 dir1]# echo abc > a
[root@centos7 dir1]# cat a
abc
[root@centos7 dir1]# cat /dev/null > a
[root@centos7 dir1]# cat a
硬链接本质上就是给一个文件取一个新的名称,实质是同一个文件
ln filename [linkname]
软链接指向另一个文件,类似快捷方式,软链接文件和原文件本质上不是同一个文件
ln -s filename [linkname]
[root@centos7 ~]# touch b
[root@centos7 ~]# ll
总用量 4
-rw-r--r--. 1 root root 0 10月 18 09:26 a
-rw-------. 1 root root 1444 10月 18 08:45 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 10月 18 09:31 b
[root@centos7 ~]# ln a c
[root@centos7 ~]# ll
总用量 4
-rw-r--r--. 2 root root 0 10月 18 09:26 a
-rw-------. 1 root root 1444 10月 18 08:45 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 10月 18 09:31 b
-rw-r--r--. 2 root root 0 10月 18 09:26 c
[root@centos7 ~]# ln -s b d
[root@centos7 ~]# ll
总用量 4
-rw-r--r--. 2 root root 0 10月 18 09:26 a
-rw-------. 1 root root 1444 10月 18 08:45 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 10月 18 09:31 b
-rw-r--r--. 2 root root 0 10月 18 09:26 c
lrwxrwxrwx. 1 root root 1 10月 18 09:31 d -> b
[root@centos7 ~]#
003. Linux基础三 P4 (inode、软硬链接)(待修订)
原文:https://blog.51cto.com/abyssce/2548006