区别:1、存储的数据不同,目录中存储了一张表,该表包含了该目录文件下所有文件名和索引的映射关系;而文件中存储了普通数据,一般就是字符串。2、权限不同,文件的权限有r(读)、w(增删改)、x(可执行);而目录的权限有r(读)、w(增删目录中文件)、x(目录可访问)、X(只给目录x权限,不给无执行权限的文件x权限)。

教程操作环境:Linux7.3系统、Dell G3电脑。

linux中目录和文件的区别

区别一:存储的数据不同

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

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

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

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

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

区别二:权限不同

1、对文件的权限:

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

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

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

    可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)

2、对目录的权限:

  • r 可以使用ls查看此目录中文件列表

  • w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关

  • x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

  • X 只给目录x权限,不给无执行权限的文件x权限

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

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

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

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

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

注:

1、用户的最终权限,是从左向右进行顺序匹配,即,所有者,所属组,其他人,一旦匹配权限立即生效,不再向右查看其权限

2、r和w权限对root用户无效,即权限的修改不影响root用户的r和w,但会影响x

3、只要所有者,所属组或other三者之一有x权限,root就可以执行

4、文件能不能删,和所在文件夹的权限有关

相关推荐:《Linux视频教程》

以上就是linux中目录和文件的区别是什么的详细内容,更多请关注其它相关文章!