> RedHat >

RedHat 9下创建硬链接和软链接文件

RedHat 9下创建硬链接和软链接文件

 

    1、链接文件分为硬链接和软链接

    硬链接创建一个文件的备份,这两个文件指向同一个物理磁盘空间。这两个文件的内容是一模一样的。修改任意其中一个文件的内容,另一个文件的内容会自动更新到一样。

    软链接则类似Windows下创建快捷方式。

    2、硬链接示例(命令:ln 源文件 链接文件名)

    (1)创建一个硬链接文件

 

 
  1. [root@localhost root]# ls  
  2. anaconda-ks.cfg  install.log  install.log.syslog  test.txt  
  3. [root@localhost root]# cat test.txt  
  4. This is test for linking file.  
  5. [root@localhost root]# ln test.txt /home/yoyo/hard_link_to_test  
  6. [root@localhost root]# cat /home/yoyo/hard_link_to_test  
  7. This is test for linking file.  
    (2)修改源文件,硬链接文件内容也随之变化

 

 
  1. [root@localhost root]# vi test.txt  
  2. [root@localhost root]# cat test.txt  
  3. This is test for hard-linking file.  
  4. [root@localhost root]# cat /home/yoyo/hard_link_to_test  
  5. This is test for hard-linking file.  
  6. [root@localhost root]# ls -l /home/yoyo/hard_link_to_test  
  7. -rw-r--r--    3 root     root           39 Mar  3 13:42 /home/yoyo/hard_link_to_test  

    注:硬链接文件,没有l标志

    (3)修改硬链接文件,源文件的内容也会随之变化

 

 
  1. [root@localhost root]# vi /home/yoyo/hard_link_to_test  
  2. [root@localhost root]# cat /home/yoyo/hard_link_to_test  
  3. This is a test for hard-linking files.  
  4. [root@localhost root]# cat test.txt  
  5. This is a test for hard-linking files.  

    3、软链接示例(命令:ln -s 源文件 链接文件名)

    (1)创建一个软链接文件

 

 
  1. [root@localhost root]# cat test.txt  
  2. This is a test for hard-linking files.  
  3. [root@localhost root]# ln -s test.txt /home/yoyo/soft_link_to_test  
  4. [root@localhost root]# cat /home/yoyo/soft_link_to_test  
  5. cat: /home/yoyo/soft_link_to_test: No such file or directory  
  6. [root@localhost root]# ls -l /home/yoyo/soft_link_to_test  
  7. lrwxrwxrwx    1 root     root            8 Mar  3 13:44 /home/yoyo/soft_link_to_test -> test.txt  

    注:软链接文件,有l标志

    (2)软链接出错的问题

 

 
  1. [root@localhost root]# pwd  
  2. /root  
  3. [root@localhost root]# ln -s test.txt soft_link  
  4. [root@localhost root]# cat soft_link  
  5. This is a test for hard-linking files.  
  6. [root@localhost root]# ln -s test.txt /home/soft_link  
  7. [root@localhost root]# cat /home/soft_link  
  8. cat: /home/soft_link: No such file or directory  
  9. [root@localhost root]# cd /home  
  10. [root@localhost home]# cat soft_link  
  11. cat: soft_link: No such file or directory  
  12. [root@localhost home]# ln -s /root/test.txt /home/new_soft_link  
  13. [root@localhost home]# cat /home/new_soft_link  
  14. This is a test for hard-linking files.  
  15. [root@localhost home]# cd ~  
  16. [root@localhost root]# ln -s ./test.txt /home/new_new_soft_link  
  17. [root@localhost root]# cat /home/new_new_soft_link  
  18. cat: /home/new_new_soft_link: No such file or directory  

    注:源文件需要写绝对路径,如果源文件和软链接文件在同一个目录下,则不需要。

    (3)删除源文件,则软链接文件指向出错

 


 
  1. [root@localhost root]# mv /home/test.txt /root/  
  2. [root@localhost root]# ls test.txt  
  3. test.txt  
  4. [root@localhost root]# cat /home/new_soft_link  
  5. This is a test for hard-linking files.  
    其实,在图形界面很容易看出哪些软链接文件指向出错,红色反显的文件就是软链接出错的文件。

 



(责任编辑:IT)