0

0

每周学点测试小知识-Linux文件属性

雪夜

雪夜

发布时间:2025-07-16 09:34:02

|

676人浏览过

|

来源于php中文网

原创

在课堂上,芒果曾向大家介绍过linux系统是一种典型的多用户操作系统,其中不同用户拥有不同的权限和地位。

Linux的文件或目录属性包括节点、类型、权限、链接数量、所有者和所属组、最近访问或修改的时间等。我们可以使用ls -ali命令来查看这些文件属性:

每周学点测试小知识-Linux文件属性这些属性分别表示:iNode号、文件类型、文件权限、链接数目(硬链接数目)、文件所有者、文件所属组、文件大小、文件修改时间、文件名。

iNode

  1. 什么是iNode?

要理解iNode,我们需要从文件存储开始说起。文件存储在硬盘上,硬盘的最小存储单位是“扇区”(sector),每个扇区存储512字节(即0.5KB)。操作系统读取硬盘时,不会逐个读取扇区,这样效率太低,而是会一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”是文件存取的最小单位,常见的“块”大小是4KB,即连续八个扇区组成一个块。

文件数据存储在“块”中,因此需要一个地方存储文件的元信息,比如文件的创建者、创建日期、大小等,这些元信息的存储区域称为iNode,即“索引节点”。iNode为每个文件进行信息索引,因此有了iNode的数值,操作系统可以通过iNode值快速找到相应的文件。

  1. iNode的内容

我们可以通过stat b命令查看文件b的iNode详细信息:

每周学点测试小知识-Linux文件属性从中可以看出,iNode包含以下信息:

文件名、文件大小(以字节为单位)、文件数据使用的总块数、IO块大小、文件类型、设备编号、iNode号、硬链接数、属主id、用户组id、文件访问时间(当文件被访问时更新)、文件修改时间(当文件数据内容被修改时更新)、文件状态时间(当文件的状态如链接数大小权限等被修改时更新)

  1. iNode号

每个iNode都有一个号码,Linux系统内部不使用文件名,而是使用iNode号来识别文件。对于系统来说,文件名只是iNode号码的别称。用户通过文件名打开文件,实际上系统内部这个过程分三步:首先,系统找到这个文件名对应的iNode号码;其次,通过iNode号码获取iNode信息;最后,根据iNode信息,找到文件数据所在的块,读出数据。

文件类型

在Linux中,文件属性的第一个字符表示文件类型:

当为[ d ]时表示目录;

当为[ - ]时表示普通文件;

当为[ l ]时表示链接文件;

当为[ b ]时表示可供存储的接口设备(可随机存取装置);

当为[ c ]时表示串行端口设备(一次性读取装置),如键盘、鼠标;

当为[ s ]时表示套接接口文件;

当为[ p ]时表示管道文件。

与Windows不同,Linux文件类型和文件名所代表的意义是两个不同的概念。Linux文件通常没有“扩展名”,文件能否执行与其属性有关,与文件名无关。例如,属性中有x的文件,如[-rwx-r-xr-x],表示该文件可以执行。

文件权限

Linux文件的权限分为可读(r)、可写(w)、可执行(x)三种。

以文件夹a为例,其文件权限为rwxr-xr-x,共9位,分为3组,每组3位,分别属于属主、用户组、其他用户。对于用户所拥有的权限,用其对应的权限表示,没有该权限则用-表示。目录a的权限如下图所示:

Unscreen
Unscreen

AI智能视频背景移除工具

下载

每周学点测试小知识-Linux文件属性对于某一分组而言,可读权限占据最高位,二进制表示为100,即4;可写权限占据第二位,二进制表示为010,即2;可执行权限占据最低位,二进制表示为001,即1。因此,目录a的属主权限可表示为4+2+1=7,用户组权限为4+1=5,其他用户权限为4+1=5,其文件权限也可以用755表示。

更改文件权限:

可以使用chmod命令更改文件权限:chmod xxx文件名

例如:chmod 775 a #为目录a的属主、用户组赋予可读可写可执行权限,其他用户赋予可读可执行权限

也可以对单独的用户:属主(u)、用户组(g)、其他用户(o)进行权限的修改(增加+、减少-、赋值=)。

例如1:chmod g+w a #为用户组添加目录a的可写权限

例如2:chmod o-x a #为其他用户减去目录a的可执行权限

链接数目

链接数目指的是硬链接数。我们首先需要理解什么是硬链接。

在介绍iNode时我们知道,文件在Linux上被分为两个部分:用户数据和元数据。用户数据存储在块中,而元数据(如文件大小、创建时间、所有者等信息)存储在iNode中。每个文件都有一个唯一的iNode与之对应,但一个iNode可以对应不同的文件名,因此在磁盘上的同一个文件可以通过不同的路径访问。

为了解决文件的共享使用,Linux系统引入了链接文件,这是一个常用且重要的概念。链接分为两类:

硬链接:若一个iNode号对应多个文件名,则这些文件称为硬链接,即同一个文件使用了多个别名。硬链接相当于为本文件开设了一个或多个新的文件,但这些文件执行同一个iNode,改变一个文件的内容,其他随之改变;这些文件是平等的,一个删除其他照样可用。

软链接:若文件用户数据块中存储的内容是另一文件的路径名的指向,则该文件就是软连接。软链接是一个普通文件,只是数据块内容特殊。软链接有自己的iNode号以及用户数据块。

文件所有者

即文件的属主,通常为文件的创建者,在用户创建文件后,系统会为其创建默认属性。

文件用户组

即文件的所属组,一般指的是其所有者所在用户组。

文件大小

很好理解,文件大小即文件所占字节数。

文件名称

同样很好理解,这里只需要注意文件名前有.表示这是一个隐藏文件。

当然,我们的课程内容不仅包括Linux文件属性介绍,还有目录操作、一些常用命令等。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

1923

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

656

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2392

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

47

2026.01.19

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1496

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1170

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

835

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

463

2023.08.02

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.5万人学习

swoole入门物联网开发与实战
swoole入门物联网开发与实战

共15课时 | 1.3万人学习

swoole项目实战(第二季)
swoole项目实战(第二季)

共15课时 | 1.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号