zoukankan      html  css  js  c++  java
  • 关于Linux中文件,链接的一些思考

    在Unix系统中,操作系统为磁盘上的文本与图像,鼠标键盘操作,网络交互等IO操作设计了一组通用API。

    使他们被处理的时候可统一用字节流的方式。所以说,除了进程之外,其他的一切均可看做文件

    Linux系统中,不区分文件和目录。所谓的目录,只是记录了其他文件名的文件。

    所以,如果当前目录下有一个文件a,那么使用 mkdir a 创建a目录的时候会出错。

    Linux将设备当做文件来处理,比如,当插入U盘的时候,把U盘看成IO设备,使用read,write,像操作文件一样读写设备。

    在创建硬链接的时候,我们不能跨文件系统创建。原因是:

    Linux挂载多个文件系统后会出现inode号重复的现象。也就是inode不是唯一的。

    比如,/dev与/root使用的文件系统可能不同,inode号可能在这两个目录下会重复

    硬链接不能对目录创建,原因是什么?

    当我们执行 ls -l 命令的时候,会看到 . 与 .. 两个特殊的目录,这两个目录是两个系统生成的硬链接,我们无法修改。

    ok,如果我们在本目录下创建父目录的硬链接,那会出现目录环

    当使用du命令用来查看磁盘占用情况的时候,进入本目录,遍历统计文件目录大小的时候,会造成死循环

    为什么软链接可以指向目录?

    因为软链接文件能进行特殊处理

    而Linux系统不能区分创建硬链接之后,而源文件和硬链接文件的区别(即使通过timestamp也无法判断)

    为什么要使用链接?使用链接有什么好处?

    共享,隐藏文件路径,权限安全,节省存储

    关于权限安全,我们可以对软链接文件设置文件属性和权限,这样他人访问源文件就有了安全保证

    (对于硬链接文件不能这么干,硬链接文件与源文件实时同步,如上文所述,无法区分)

    另外注意,创建软链接文件的时候,使用绝对路径较好。

    因为使用相对路径创建软链接文件之后,如果移动了软链接文件,那么该软链接文件则成了死链接

  • 相关阅读:
    用户自定义异常
    触发异常
    第一阶段冲刺终
    第一阶段冲刺七
    第一阶段冲刺六
    第一阶段冲刺五
    第一阶段冲刺四
    Sufficient Statistic (充分统计量)
    DAG-GNN: DAG Structure Learning with Graph Neural Networks
    Masked Gradient-Based Causal Structure Learning
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8446568.html
Copyright © 2011-2022 走看看