测试一下
实验环境:ubuntu 14.04 kernel:3.13.0-24-generic
1. 新建一个测试文件
touch test
使用stat或者ls -i选项去查看test的inode值
```
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ stat test
文件:"test"
大小:0 块:0 IO 块:4096 普通空文件
设备:801h/2049d Inode:4208823 硬链接:1
权限:(0664/-rw-rw-r--) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)
最近访问:2018-03-06 15:51:01.689080893 +0800
最近更改:2018-03-06 15:51:01.689080893 +0800
最近改动:2018-03-06 15:51:01.689080893 +0800
创建时间:-
```
inode 值是 Inode:4208823
2. 创建硬链接
```
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ ln test hard_test
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ stat hard_test
文件:"hard_test"
大小:0 块:0 IO 块:4096 普通空文件
设备:801h/2049d Inode:4208823 硬链接:2
权限:(0664/-rw-rw-r--) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)
最近访问:2018-03-06 15:51:01.689080893 +0800
最近更改:2018-03-06 15:51:01.689080893 +0800
最近改动:2018-03-06 15:53:54.857425605 +0800
创建时间:-
```
可以看出inode 相同
3. 创建软连接
```
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ ln -s test soft_test
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ stat soft_test
文件:"soft_test" -> "test"
大小:4 块:0 IO 块:4096 符号链接
设备:801h/2049d Inode:4208824 硬链接:1
权限:(0777/lrwxrwxrwx) Uid:( 1000/ ubuntu) Gid:( 1000/ ubuntu)
最近访问:2018-03-06 15:56:35.129543502 +0800
最近更改:2018-03-06 15:55:04.201563628 +0800
最近改动:2018-03-06 15:55:04.201563628 +0800
创建时间:-
```
可以看出,inode不同,软连接和源文件是两个不同的文件,只是它其中保存的是源文件的路径
现在在源文件中写入内容,观察三个的文件的变化
```
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ echo "123" >test
ubuntu@ubuntu-virtual-machine:~/work/shell/file$
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat test
123
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test
123
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test
123
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ echo "456" >>hard_test
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test
123
456
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat test
123
456
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_testtest
cat: soft_testtest: 没有那个文件或目录
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test
123
456
```
4. 删除源文件观察
```
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ rm test
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ ll
总用量 12
drwxrwxr-x 2 ubuntu ubuntu 4096 3月 6 16:01 ./
drwxrwxr-x 3 ubuntu ubuntu 4096 3月 6 15:25 ../
-rw-rw-r-- 1 ubuntu ubuntu 12 3月 6 16:00 hard_test
lrwxrwxrwx 1 ubuntu ubuntu 4 3月 6 15:55 soft_test -> test
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat soft_test
cat: soft_test: 没有那个文件或目录
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ cat hard_test
123
456
789
```
可以看出软连接失效,但是硬链接不受影响
ubuntu@ubuntu-virtual-machine:~/work/shell/file$ readlink soft_test
test
原文地址:http://blog.51cto.com/6306331/2083477