linux的文件属性
系统的链接文件
元数据 inode
用来形容一个文件的属性,被称之为该文件的`元数据`
例:文件的大小,文件的权限,文件的创建时间.....
文件的元数据占用的磁盘空间
真实数据 block
文件内容大小占用的磁盘空间(默认4k)
链接文件
软链接
软链接相当于windows的快捷方式,软链接文件会将`inode`指向源文件的`block`
软链接的特性
当我们访问这个软链接文件时,其实就是在访问源文件的本身。
1.那么当我们对一个文件创建多个软链接时,其实就是多个inode指向同一个block。
2.那么当我们删除软链接文件时,其实只是删除了一个inode的指向,并不会对源文件造成影响。
3.如果我们删除的是源文件,那么该文件的所有软链接文件都会失效。
4.软链接文件的名字可以和源文件不同,修改软链接文件的内容,源文件也会改
5.软链接文件的inode号与源文件的inode号不同
如何创建软链接
语法
ln [选项] 源文件 快捷方式
举例 :ln -s /root/a.html /tmp/b.xxx
查看inode 号的方法
$ ll -i /tmp/b.xxx
16777633 lrwxrwxrwx. 1 root root 12 Jun 3 10:20 /tmp/b.xxx -> /root/a.html
$ ll -i a.html
33575605 -rw-r--r--. 1 root root 51 Jun 3 10:24 a.html
软链接应用的场景
- 不方便移动的大文件
- 软件升级
- 代码发布
- 数据回滚
- 程序读取
硬链接文件
硬链接
若一个inode号对应多个文件,那我们称这些文件互为硬链接
创建方式
root@aaa[10:41:58]:/opt $ ln /opt/zls.txt /tmp/b.txt
特点
1.硬链接文件之间inode号都相同
2.硬链接不能跨分区创建
3.硬链接文件不受源文件的影响
软链接和硬链接的区别
| 特性 |
硬链接 |
软链接 |
| inode号 |
相同 |
不同 |
| 跨分区创建 |
不可以 |
可以 |
| 删除源文件 |
不受影响 |
受影响 |
| 命令 |
ln |
ln-s |
| 给目录创建链接 |
不可以 |
可以 |
企业级面试题
面试题:当前磁盘空间还剩余500G,但是就无法往里面写入数据,报错,磁盘空间满了。
1T磁盘,用户数据把inode沾满了
df -i
/dev/loop0 1024 1024 0 100% /data
我们创建文件,需要使用inode存放文件的元数据,即便是有block也无法创建新的文件
计算目录的硬链接数
一个新创建的空目录,硬链接数:2
如果在该目录下创建新的空目录,硬链接数:3
因为新创建的子目录有..