zoukankan      html  css  js  c++  java
  • Linux 硬链接和软链接

    硬链接:ln 源文件 新建名

    指向同一个文件,并独立存在。当源文件删除不会影响硬链接文件的读取。不能跨文件系统和目录建连接。

    例:新建一个文件吧!名字test 硬链接为t1。

    查看文件,发现2个文件最前的数字是一样的,而这一窜数字称之为inode。

     Indoe包含了里面存储了此文件的属性,包括文件大小、所有者、以及访问权限等等。

    所以2个inode相同很明显是一个文件(区别于软连接)。还有权限后的数字,就代表了硬链接的份数。每次对t1或test文件添加一个硬链接,数值在原有的基础上加1。

     可以认为是备份数,但与备份区别的是,硬链接的每份都是有关联的,在任何一份硬链接上文件做修改,就会对每份硬链接做相同的改动。

    软连接:In –s 源文件 新建名

     相当于windows中的快捷方式依赖源文件。如源文件删除,软连接则无法执行。可以跨文件系统和目录建连接。

     例:当我们挂在光驱时,常常会打入 #mount /dev/cdrom /mnt/cdrom.但只要#mount,就会发现,其实挂载的并不是/dev/cdrom,而是/dev/hdc;

    这时你就可以想到了,可能是软连接的缘故,文件指向的是hdc

    注意权限,虽然软连接指向源文件,但并不会和源文件的权限相同。一定会出现这问题,或许你会将软连接的权限改为700时。并不代表只有文件所有者能访问。一切还是要以源文件的权限为准。(如果真要问我软连接的权限是干嘛用的,这个嘛。。再议。。。。。。。。)。

     注意inode,并不是相同的,所以这就是和硬链接的本质区别。

    总结

     硬链接不能跨文件系统和不能对目录创建,而软连接可以。

     硬链接的inode是相同的,而软连接是不同的。

     硬链接每新建一次,值就会在原有基础上加1。而软连接则没此项。

     不要被软连接的权限迷惑,最终还是要以源文件的权限为准。

  • 相关阅读:
    10大在线编程网站
    Markdown使用简介 及 学习资源整理
    [Python]网络爬虫( 连载:大牛汪海 )
    Markdown指南
    并查集 (Union-Find Sets)及其应用
    C++ map<key , value> key值为指针
    【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)
    tornado 异步非阻塞
    NAT+穿洞基础知识梳理
    Appium入门
  • 原文地址:https://www.cnblogs.com/cfinder010/p/3504521.html
Copyright © 2011-2022 走看看