zoukankan      html  css  js  c++  java
  • Linux中文件与目录的区别

    普通文件:存储普通数据,一般就是字符串。

    目录文件:存储了一张表,该表就是该目录文件下,所有文件名和索引(inode)的映射关系。

    通常父目录会存储有它目录下文件的索引映射,说白了就是一张对应关系的索引表。(Everything is file)

    想要操作里面的文件,有了索引还不行,还要有权限。

    而且不单单只是看该普通文件的权限,还受到该文件的父目录、父父目录...的权限有关。

    我们知道rwx是权限的标识。

    但rwx对不同的对象来说是不同的意义:

    对于普通文件来说,rwx的意义是:

    r:可以获得这个普通文件的名字和内容。

    w:可以对文件进行增删改的操作。

    x:该文件是否具有被执行的权限。

    对于目录文件来说,rwx的意义是:

    r-x:可以进入cd该目录,可以获得该目录下存储情况,但是不能修改这个目录内部存储的文件(目录)的名字,也不能在该目录下新建文件和目录

    -wx:可以进入cd该目录,但是看不到该目录下的存储情况(ls不可用),可以往该目录下添加、修改、删除文件。可以通过cat来读取该目录下的文件or目录的内容,由于得不到该目录下存储了那些文件,在不知情的情况下只能通过猜,cat + 文件名获得文件内容,所以这样依然不保密。

    --x:可以进入cd该目录,看不到存储情况,也不能往该目录下添加、修改、删除文件。但是依然可以通过cat + xx(猜)来获得该目录下的文件的内容。

    rw-:不能进入cd该目录,用ls仅仅可以获得文件名和目录名,因为获取不到这些文件的inode号,当然也不能获得该目录下的文件的内容。不能往该目录下添加、修改、删除文件。

    其实说到底,他们也是没什么区别的

    本质上他们都是磁盘上的一段01,目录的数据就是当前目录内的版文件结构及权在磁盘中的位置,文件的数据就是文件本身(字符串)
    其实无论是linux还是Windows在删除文件的时候其实文件的内容是没有被删除的,删除的只是文件的引用,就是的文件所在的磁盘中的物理位置的字节标记为删除,数据恢复的原理就是把这个删除标记去掉。

    以上就是我通过百度整理出来的要点,目前也在学习阶段,说的不好的地方请指正。

  • 相关阅读:
    使用Nginx搭建图片服务器(windows)
    Vue中使用百度地图——设置地图标注
    大型网站的 HTTPS 实践(三)——基于协议和配置的优化(转)
    大型网站的 HTTPS 实践(二)——HTTPS 对性能的影响(转)
    大型网站的 HTTPS 实践(一)—— HTTPS 协议和原理(转)
    TCP的状态兼谈Close_Wait和Time_Wait的状态
    SYN Flood攻击及防御方法 (转)
    LINUX下解决netstat查看TIME_WAIT状态过多问题(转)
    IP负载均衡技术
    ubuntu下安装Apache+PHP+Mysql
  • 原文地址:https://www.cnblogs.com/consttree/p/13887143.html
Copyright © 2011-2022 走看看