0%

软硬链接

软硬链接

一.文件的软硬链接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1.软链接
一个文件,被分为两个部分:
1)用户数据
2)元数据
元数据:用来描述文件的属性
blok:数据块,默认4k
ln -s /root/soft_link /tmp/soft_link
源文件 目标

软链接的应用场景
1)软件升级
2)代码发布
3)不方便移动的目录
4)数据回滚
5)程序读取

2.硬链接
1)具有同一个inode号的文件,互为硬链接文件
2)目录不能创建硬链接

软硬链接总结:

​ 1)创建命令不同
​ 软链接:ln -s
​ 硬链接:ln
​ 2)目录不能创建硬链接,并且硬链接不可以跨越系统的分区,软链接可以
​ 3)硬链接文件与源文件inode相同,软链接文件与源文件inode不同
​ 4)删除软链接文件,对源文件无影响,但是删除软链接源文件对软链接文件有影响
​ 5)删除硬链接文件,对源文件也无影响,并且删除源文件,对硬链接文件也无影响

企业面试题:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
当前磁盘空间还剩余500G,但是就无法往里面写入数据,报错,磁盘空间满了。
[root@db04 ~]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_db01-lv_root 1152816 76391 1076425 7% /
tmpfs 238319 1 238318 1% /dev/shm
/dev/sda1 128016 39 127977 1% /boot

#模拟
[root@db04 ~]# dd if=/dev/zero of=/opt/disk bs=1K count=1024
[root@db04 ~]# mkfs.ext4 -i 1024 /opt/disk
[root@db04 ~]# mkdir /data1
[root@db04 ~]# mount -t ext4 -o loop /opt/disk /data1
[root@db04 data1]# touch file{1..2000}
touch: 无法创建"file1014": 设备上没有空间
touch: 无法创建"file1015": 设备上没有空间
touch: 无法创建"file1016": 设备上没有空间
touch: 无法创建"file1017": 设备上没有空间
touch: 无法创建"file1018": 设备上没有空间
[root@db04 data1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_db01-lv_root 18G 2.0G 15G 12% /
tmpfs 931M 0 931M 0% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/opt/disk 891K 39K 801K 5% /data1

[root@db04 data1]# df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg_db01-lv_root 1152816 76393 1076423 7% /
tmpfs 238319 1 238318 1% /dev/shm
/dev/sda1 128016 39 127977 1% /boot
/opt/disk 1024 1024 0 100% /data1
硬连接数计算

[root@db04 ~]# mkdir hard
[root@db04 ~]# ll hard -d
drwxr-xr-x 2 root root 4096 6月 1 12:50 hard
[root@db04 ~]# cd hard
[root@db04 hard]# mkdir test1
[root@db04 ~]# ll -d hard
drwxr-xr-x 3 root root 4096 6月 1 12:50 hard
[root@db04 ~]# cd hard
[root@db04 hard]# touch test
[root@db04 ~]# ll -d hard
drwxr-xr-x 3 root root 4096 6月 1 12:50 hard