导读:本期聚焦于小伙伴创作的《Linux文件属性详解:权限、类型、特殊标识与修改命令完全指南》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《Linux文件属性详解:权限、类型、特殊标识与修改命令完全指南》有用,将其分享出去将是对创作者最好的鼓励。

Linux文件基本属性知识点总结

一、文件属性的查看方式

在Linux系统中,我们可以通过ls -l命令查看文件的详细属性信息,该命令会列出当前目录下所有文件的权限、所有者、所属组、大小、修改时间等核心属性。执行命令后得到的输出格式如下:

$ ls -l
-rw-r--r-- 1 root root 1024 10月 1 12:00 test.txt
drwxr-xr-x 2 user user 4096 10月 2 14:30 docs

上述输出中,第一列就是文件的基本属性信息,后续列分别对应硬链接数、所有者、所属组、文件大小、最后修改时间、文件名。

二、文件属性字段详解

1. 文件类型标识

属性信息的第一位字符代表文件类型,常见的类型及对应标识如下:

  • -:普通文件,包括文本文件、二进制文件、压缩包等

  • d:目录文件,即文件夹

  • l:符号链接文件,相当于Windows系统中的快捷方式

  • c:字符设备文件,如键盘、鼠标等串行设备

  • b:块设备文件,如硬盘、U盘等存储设备

  • p:管道文件,用于进程间通信

  • s:套接字文件,用于网络进程间通信

2. 权限字段

属性信息的第2到第10位共9个字符,分为3组,每组3位,分别对应文件所有者(u)所属组(g)其他用户(o)的权限。每组权限的3位分别代表:

  • 第一位:读权限(r),对应数值4,有该权限则可以查看文件内容或列出目录下的文件

  • 第二位:写权限(w),对应数值2,有该权限则可以修改文件内容或在目录下创建、删除文件

  • 第三位:执行权限(x),对应数值1,有该权限则可以运行程序文件或进入目录

如果对应位置是-,则表示没有该权限。例如rw-r--r--表示所有者有读写权限,所属组和其他用户只有读权限。

3. 特殊权限标识

除了基础的rwx权限外,Linux文件还有3种特殊权限,会在对应权限位上显示为特殊字符:

  • SUID:出现在所有者的执行权限位,原本的x会变为s(有执行权限)或S(无执行权限),作用是让普通用户执行该文件时临时获得所有者的权限,常见于/usr/bin/passwd这类修改密码的程序

  • SGID:出现在所属组的执行权限位,原本的x会变为s(有执行权限)或S(无执行权限),作用在文件上时让执行者临时获得所属组的权限,作用在目录上时,目录下新建的文件会自动继承该目录的所属组

  • SBIT:出现在其他用户的执行权限位,原本的x会变为t(有执行权限)或T(无执行权限),仅对目录有效,作用是目录下用户只能删除自己创建的文件,无法删除其他用户的文件,常见于/tmp目录

三、修改文件属性的常用命令

1. 修改文件权限:chmod

chmod命令用于修改文件的权限,支持两种设置方式:

一是字符表示法,通过u/g/o/a(all,所有用户)配合+/-/=来添加、删除、设置权限,示例如下:

# 给test.txt的所有者添加执行权限
chmod u+x test.txt
# 移除所有用户的写权限
chmod a-w test.txt
# 设置所属组权限为读写,其他用户无权限
chmod g=rw,o= test.txt

二是数字表示法,将r/w/x分别对应4/2/1,三组权限的数值相加作为设置值,示例如下:

# 设置权限为rwxr-xr-x,对应数值755
chmod 755 test.sh
# 设置权限为rw-r-----,对应数值640
chmod 640 data.conf

2. 修改文件所有者/所属组:chown和chgrp

chown命令可以同时修改文件的所有者和所属组,chgrp仅用于修改所属组,使用示例如下:

# 将test.txt的所有者改为user,所属组改为dev
chown user:dev test.txt
# 递归修改docs目录及目录下所有文件的所有者为user
chown -R user docs/
# 将test.txt的所属组改为test
chgrp test test.txt

3. 修改特殊权限

特殊权限可以通过数字表示法设置,在基础3位权限前加第4位数字:SUID对应4,SGID对应2,SBIT对应1,示例如下:

# 设置SUID权限,最终权限为4755
chmod 4755 /usr/bin/example
# 设置SBIT权限,最终权限为1777,对应/tmp目录的常用权限
chmod 1777 /tmp/testdir

四、属性查看与修改的注意事项

  • 修改文件所有者和所属组通常需要root权限,普通用户无权限修改不属于自己的文件属性

  • 删除文件时,判断的是用户对文件所在目录是否有写权限和执行权限,而非对文件本身的权限

  • 使用ls -l查看目录属性时,目录的默认权限通常是755,普通文件的默认权限通常是644,具体由系统的umask值决定

  • 修改权限时如果使用递归参数-R,要多加确认,避免误修改系统文件或大量无关文件的权限导致程序运行异常

Linux文件属性 权限设置 chmod命令 chown命令 文件类型

免责声明:已尽一切努力确保本网站所含信息的准确性。网站部分内容来源于网络或由用户自行发表,内容观点不代表本站立场。本站是个人网站免费分享,内容仅供个人学习、研究或参考使用,如内容中引用了第三方作品,其版权归原作者所有。若内容触犯了您的权益,请联系我们进行处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。前端、网络、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握网站开发与运维所需的核心技术栈。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端逻辑,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。