软连接与硬连接
2.1问题
本例要求理解软连接与硬连接的基本差异,完成下列操作:
新建文件file1,内容为AAAA
为file1建立软连接file1-s,对比两文件内容
为file1建立硬连接file1-h,对比两文件内容
对比上述3个文件的i节点编号
删除文件file1,再查看文件file1-s、file1-h内容
2.2方案
软连接与硬连接:
软连接:指向原始文件的路径,若原始文件被删除,连接文件将失效;原始文件可以是目录;原始文件与连接文件可以在不同的分区/文件系统
硬连接:指向原始文件的i节点档案,若原始文件被删除,连接文件仍然有效;原始文件不能是目录;原始文件与连接文件必须在同一个分区/文件系统
2.3步骤
实现此案例需要按照如下步骤进行。
步骤一:使用ln命令为文档/目录建立连接
1)新建一个测试文件
[root@svr7~]#vim file1
AAAA
2)为文件file1建立软连接file1-s并测试
[root@svr7~]#ln-s file1 file1-s
[root@svr7~]#cat file1-s
linux.tedu.cn
3)为文件file1建立硬连接file1-h并测试
[root@svr7~]#ln file1 file1-h
[root@svr7~]#cat file1-h
linux.tedu.cn
4)对比原始文件、软连接、硬连接的属性
可以发现软连接只是一个快捷方式,而硬连接与原始文件的i节点编号相同,其实对应同一块磁盘存储:
[root@svr7~]#ls -li /root/f0*.txt
204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1-h
201628464 lrwxrwxrwx.1 root root 12 Jan 6 12:16 file1-s->file1
204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1
步骤二:原始文件删除测试
1)当原始文件被删除时,软连接将会失效,而硬连接仍然可访问文件数据
[root@svr7~]#rm -rf file1
[root@svr7~]#cat file1 -s
cat:file1-s:No such file or directory
[root@svr7~]#cat file1 -h
linux.tedu.cn
2)如果已知原始文件和硬连接的路径,当原始文件丢失时,可以快速重建
[root@svr7~]#ln file1 -h file1
[root@svr7~]#ls -li /root/f0*.txt
204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1-h
201628464 lrwxrwxrwx.1 root root 12 Jan 6 12:16 file1-s->file1
204645793-rw-r--r--.2 root root 14 Jan 6 12:14 file1
3)不支持为目录创建硬连接,但可以为目录建立软连接
[root@svr7~]#ln /etc/sysconfig/network-scripts/ /etc/network
ln:'/etc/sysconfig/network-scripts/':hard link not allowed for directory
[root@svr7~]#ln -s /etc/sysconfig/network-scripts/ /etc/interface
[root@svr7~]#ls -l /etc/interface
lrwxrwxrwx.1 root root 31 Jan 6 12:28/etc/interface->/etc/sysconfig/network-scripts/