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。而软连接则没此项。

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

  • 相关阅读:
    android的左右滑动效果实现-ViewFlipper
    ios学习之UISwipeGestureRecognizer手势识别
    iOS使用AVFoundation实现二维码扫描
    IOS开发之Core Location
    iOS中如何创建一个滑出式导航面板(1)
    消息推送之百度云推送Android集成与使用方法
    IOS开发之Storyboard应用
    用CocoaPods做iOS程序的依赖管理
    RelativeLayout 布局参数
    Android中获取应用程序(包)的信息-----PackageManager的使用
  • 原文地址:https://www.cnblogs.com/cfinder010/p/3504521.html
Copyright © 2011-2022 走看看