⑴如果修改档案的内容,源文件和hard link文件对应的block区域内容都会被修改,从而保持一致性。
⑵# touch /tmp/file
⑶# echo “hard link test” 》 /tmp/file
⑷# cat /tmp/file
⑸hard link test
⑹# ln /tmp/file /tmp/hard_link
⑺# ls -lhi /tmp/file
⑻ -rw-r--r-- root root Jan : /tmp/file
⑼# ls -lhi /tmp/hard_link
⑽ -rw-r--r-- root root Jan : /tmp/hard_link
⑾# cat /tmp/hard_link
⑿hard link test
⒀# echo “hard link test ” 》 /tmp/file
⒁# cat /tmp/file
⒂hard link test
⒃# cat /tmp/hard_link
⒄hard link test
⒅# echo “hard link test ” 》 /tmp/hard_link
⒆# cat /tmp/file
⒇hard link test
⒈# cat /tmp/hard_link
⒉hard link test
⒊. 删除hard link或者删除源文件,实际上只是删除其中其中一份block区域。
⒋可以看到,虽然源文件被删除(实际上只是删除了源文件对应的block区,但是
⒌inode仍然还在,所以仍然可以透过hard link档案来访问源文件的内容。
⒍到了这里,就可以理解为什么inode信息中不包含文件名了;
⒎因为如果文件名信息包含在inode中,并且创建了hard link,此时为何还需要两块不同的block区域
⒏来储存文件信息呢?进而hard link还有什么意义呢?
⒐# rm /tmp/file
⒑# cat /tmp/file
⒒cat: can’t open ‘/tmp/file’: No such file or directory
⒓# cat /tmp/hard_link
⒔hard link test
⒕# ls -hli /tmp/hard_link
⒖ -rw-r--r-- root root Jan : /tmp/hard_link
⒗. 为目录创建symbolic link?
⒘因为新建的symbolic link目录与源目录是同一个inode,所以对这两个目录的访问具有完全相同的表现。
⒙# mkdir /tmp/directory
⒚# ln -fs /tmp/directory/ /tmp/dir_sym_link
⒛# ls -hdi /tmp/directory/
① /tmp/directory/
②# ls -hdi /tmp/dir_sym_link/
③ /tmp/dir_sym_link/
④# touch /tmp/directory/file
⑤# ls -hil /tmp/directory/file
⑥ -rw-r--r-- root root Jan : /tmp/directory/file
⑦# ls -hil /tmp/dir_sym_link/file
⑧ -rw-r--r-- root root Jan : /tmp/dir_sym_link/file
⑨# echo “directory symbolic test” 》 /tmp/dir_sym_link/file
⑩# cat /tmp/dir_sym_link/file
Ⅰdirectory symbolic test
Ⅱ# cat /tmp/directory/file
Ⅲdirectory symbolic test
Ⅳ. 为目录创建hard link?
Ⅴ从结果看,为目录创建hard link失败了。
Ⅵ# ln /tmp/directory/ /tmp/dir_hard_link
Ⅶln: /tmp/dir_hard_link: Operation not permitted
Ⅷ上面就是Linux使用ln命令的方法介绍了,本文一共介绍了ln命令的六个实例,可以知道ln命令可以创建hard link,为目录创建symbolic link等。