🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Linux文件和目录的属性及权限 [TOC] ## 文件属性概述   Linux系统中文件和目录的属性主要包括:文件或目录的索引节点(inode)、类型、权限属性、链接数、所归属的用户和用户组、最近修改时间等内容。 ~~~ # ls -lhi 总用量 4.0K 317015 drwxr-xr-x 2 root root 4.0K 10月 20 17:17 test ~~~ **详解如下:** | 列数 | 值 | 解释 | | -- | -- | -- | | 第一列 | 317015 | inode索引节点 | | 第二列 | drwxr-xr-x | 文件类型及权限 | | 第三列 | 2 | 硬链接个数 | | 第四列 | root | 文件或目录的属主 | | 第五列 | root | 文件或者目录所属的用户所归属组 | | 第六列 | 4.0K | 文件或者目录的大小 | | 第七、八、九列 | 10月 20 17:17 | 文件或目录的修改时间 | | 第九列 | test | 实际的文件名或目录名 | ### 文件属性举例说明 `317015 -rw-r--r-- 1 root root 0 10月 20 17:42 test` **inode索引节点编号**:317015 **文件类型**:文件类型-表示普通文件 **文件权限**:文件权限是`rw-r--r--`,表示文件属主可读、可写、可执行,文件所归属的用户组可读可执行,其他用户可读可执行。 **硬链接个数**:表示test这个文件没有其他的硬链接,因为链接数为1,就是它本身。 **文件属主**:这个文件所属的用户,即test文件被root用户拥有,是第一个root **文件属组**:这个文件所属的用户组, 上述文件为root,是第二个root; **文件大小**:文件大小为0字节; **文件修改时间**:这里的时间是该文件最后被更新(包括文件创建、内容更新、文件名等),可使用如下命令查看文件的修改、访问以及创建时间: ~~~ # stat test File: "test" Size: 0 Blocks: 0 IO Block: 4096 普通空文件 Device: 803h/2051d Inode: 317015 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2015-10-20 17:42:15.000000000 +0800 Modify: 2015-10-20 17:42:15.000000000 +0800 Change: 2015-10-20 17:42:15.000000000 +0800 ~~~ ## 索引节点inode   inode中文意思是索引节点,每个存储设备或存储设备的分区(存储设备可以是硬盘、软盘、U盘...)被格式化为文件系统后,都应该有两部分:一部分是inode,另一部分是Block。Block是用来存储数据用的,而inode就是用来存储这些数据信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。   inode为每个文件进行信息索引,所以就有了inode的数值。错左系统根据指令能通过inode值最快的找到相对应的文件。    ### inode值相同的文件是硬链接文件   在Linux文件系统中,inode值相同的文件是硬链接文件。也就是说不同的文件名,inode的值可能是相同的,一个inode值可以对应多个文件,在Linux中,链接文件是通过ln命令来创建的。 # Linux中文件的权限   每个文件或目录都有一组共9个权限位,每三位被分为一组,他们分别是属主权限为(占三个字符)、用户组权限位(占三个字符)、其他用户权限位(占三个字符)。比如`rwxr-xr-x`,在linux中正式这9个权限位来控制文件属主、用户组以及其他用户的权限。 ## 权限位说明  Linux文件或目录的权限位是由9个权限位来控制,每三位为一组,他们分别是文件属主(ower)的读、写和执行,用户所属主(group)的读、写和执行,以及其他用户(other)的读、写和执行。 ~~~ 文件属主 : 读r 写w 执行x 文件属组 : 读r 写w 执行x 其他用户 : 读r 写w 执行x 如果权限位不可读、不可写、不可执行,则用-表示 ~~~ ### Linux普通文件的读、写、执行权限 ~~~ 可读r:表示具有读取阅读文件内容的权限; 可写w:表示具有新增、修改文件内容的权限(温馨提示:删除、修改和移动的权限受父目录的权限控制) 可执行x:表示具有执行文件的权限 ~~~ ### Linux目录的读、写、执行权限 ~~~ 进入目录的权限 x 浏览目录的权限 r 修改目录内文件的权限 w ~~~ ### Linux文件与目录权限对比说明: 1. **r(read,读取权限)** 对文件而言,表示具有读取阅读文件内容的权限; 对目录而言,表示具有浏览目录的权限(*注意:与进入目录的权限不同*) 2. **w(write,写入权限)** 对文件而言,表示具有新增、修改文件内容的权限(*注意:删除和移动文件和文件本身属性无关*) 对目录而言。表示具有删除、移动目录内的文件的权限。 3. **x(exectue,执行权限)** 对于文件而言,表示具有执行文件的权限; 对与目录而言,表示具有进入目录的权限。 4. **-(无任何权限)** 若对应位置权限位为字符"-",表示对应用户没有读、写、执行的任何权限。 >[danger] 当删除或移动一个文件或目录,仅与该文件和目录所在的上一层目录权限有关,与该文件本身属性无任何关系; 对于文件来说,写文件是修改文件,而不是删除文件,因此写文件是与该文件的本身属性有关。