关键要点
- Linux 文件属性包括类型、权限、所有者、组、大小和修改时间。
- 使用
ls -l查看属性,chown和chmod可修改所有者和权限。 - 文件类型如目录(d)、普通文件(-)、链接(l)等,权限分读(r)、写(w)、执行(x)。
- 文件名避免特殊字符,长度通常最大 255 字节。
文件属性概述
Linux 是一种多用户系统,文件属性定义了文件的类型、权限、所有者和组等信息,确保系统安全。以下是查看和修改文件属性的基本方法。
查看文件属性
使用 ls -l 命令查看文件详细信息,例如:
drwxr-xr-x 2 root root 4096 Apr 21 2014 mysql
- 文件类型和权限:
drwxr-xr-x表示目录,所有者有读写执行权限,组和其他人有读执行权限。 - 硬链接数:2 表示硬链接数量。
- 所有者:root 是文件所有者。
- 组:root 是文件所属组。
- 大小:4096 字节。
- 修改时间:Apr 21 2014。
- 文件名:mysql。
文件类型
文件类型的第一个字符表示:
d:目录-:普通文件l:符号链接b:块设备c:字符设备s:套接字p:命名管道
权限管理
权限分为三部分:所有者、组、其他用户,每部分有读(r=4)、写(w=2)、执行(x=1)权限。例如,755 表示所有者 rwx(7),组和他人 r-x(5)。
- 修改所有者和组:用
chown和chgrp,如chown newowner file或chown -R newowner directory。 - 修改权限:用
chmod,如chmod 755 file或chmod u=rwx,g=rx,o=r file。
更多信息
用 stat file 查看详细属性,如节点号、访问时间等。文件名避免特殊字符(如 *, ?),长度通常最大 255 字节。
详细报告
Linux 文件基本属性是系统管理的重要组成部分,定义了文件的类型、权限、所有者和组等信息,以下是全面的讲解。
系统背景
Linux 是一种典型的多用户系统,不同用户有不同权限。为保护系统安全,Linux 对用户访问文件的权限有严格规定。文件属性通过命令如 ls -l 查看,修改则用 chown 和 chmod。
查看文件属性
使用 ls -l 命令可以显示文件的详细属性,例如:
drwxr-xr-x 2 root root 4096 Apr 21 2014 mysql
输出字段解析如下:
| 字段 | 说明 |
|---|---|
| drwxr-xr-x | 文件类型和权限 |
| 2 | 硬链接数 |
| root | 文件所有者 |
| root | 文件所属组 |
| 4096 | 文件大小(字节) |
| Apr 21 2014 | 最后修改时间 |
| mysql | 文件名 |
- 文件类型和权限:第一个字符表示类型,
d为目录,-为普通文件,l为符号链接,b为块设备,c为字符设备,s为套接字,p为命名管道。接下来的 9 位分三组(各 3 位),分别表示所有者、组、其他用户的权限: r:可读(4)w:可写(2)x:可执行(1)-:无权限- 例如,
rwxr-xr-x表示所有者有 rwx(7),组和他人有 r-x(5)。 - 硬链接数:表示文件有多少硬链接,目录通常至少为 2(自身和父目录条目)。
- 所有者和组:显示文件归属的用户和组。
- 大小:以字节为单位显示文件大小,用
ls -h可显示人性化格式(如 KB, MB)。 - 时间:显示最后修改时间,格式为月日年或月日时分(若在 6 个月内),用
--full-time可显示完整时间。 - 文件名:文件名称,隐藏文件以
.开头,用ls -a显示。
文件类型详解
文件类型的第一个字符有以下可能:
| 类型 | 说明 |
|---|---|
| d | 目录 |
| – | 普通文件 |
| l | 符号链接 |
| b | 块设备文件(如硬盘分区) |
| c | 字符设备文件(如键盘) |
| s | 套接字 |
| p | 命名管道(FIFO) |
普通文件又分纯文本(ASCII)、二进制(可执行文件)和数据格式文件。
权限管理
权限分为三部分:所有者、组、其他用户,每部分有读(r)、写(w)、执行(x)权限。
- 权限数值:
- r = 4, w = 2, x = 1
- 组合如 rwx = 7, rw- = 6, r-x = 5
- 示例:755 = 所有者 rwx(7),组和他人 r-x(5)
- 执行权限说明:
- 文件:需 x 权限且为二进制或脚本文件才能执行。
- 目录:x 权限允许
cd进入,w 权限允许创建文件。
修改文件所有者和组
- chown:改变文件所有者或组。
- 语法:
chown [-R] owner file或chown [-R] owner:group file - 示例:
chown newowner file改变所有者,-R用于递归目录。 - 示例:
chown newowner:newgroup directory同时改变所有者和组。 - chgrp:改变文件组。
- 语法:
chgrp [-R] groupname file - 示例:
chgrp newgroup file
修改文件权限
- chmod:改变权限。
- 数字法:
chmod [-R] xyz file,如chmod 755 file。 - 符号法:
chmod [u/g/o/a][+/=/-]rwx file,如chmod u=rwx,g=rx,o=r file。- u:所有者,g:组,o:其他,a:所有人
- +:添加权限,-:移除,=:设置为
- 示例:
chmod -R 777 directory递归设置目录权限为 777。
更多属性查看
用 stat 命令查看更详细的文件属性:
| 属性 | 说明 |
|---|---|
| File | 文件名 |
| Size | 文件大小(字节) |
| Blocks | 磁盘块数 |
| IO Block | I/O 块大小 |
| Type | 文件类型 |
| Device | 设备号 |
| Inode | 节点号 |
| Links | 链接数 |
| Access | 权限(如 0644) |
| Uid/Gid | 用户 ID 和组 ID |
| Access Time | 最后访问时间(atime) |
| Modify Time | 最后修改时间(mtime) |
| Change Time | 最后状态改变时间(ctime) |
示例输出:
File: file
Size: 1024 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 123456 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2025-06-27 12:00:00.000000000 +0000
Modify: 2025-06-27 12:00:00.000000000 +0000
Change: 2025-06-27 12:00:00.000000000 +0000
Birth: -
文件名约定
- 文件名长度:通常最大 255 字节,ASCII 约 255 字符,中文字符约 128 字符,依赖文件系统(如 Ext2/3/4, xfs)。
- 避免特殊字符:
*,?,[,],\,^,$,.,=,!,<,>,|,;,&,(,),{,},',",``,~,#,%,以及–或+`(可能被误认为是命令选项)。 - 常见扩展名:
.sh:脚本文件.tar,.tar.gz,.zip,.tgz:压缩文件.html,.php:网页文件- 隐藏文件:以
.开头,用ls -a显示。 - 修改文件时间:用
touch命令,如touch file更新访问和修改时间。
安全与注意事项
- 权限设置影响系统安全,建议避免将权限设置为 777(完全开放)。
- 目录的 x 权限允许进入,w 权限允许创建文件,需谨慎设置。
- 首次查看文件属性时,确认所有者和组,确保符合预期。
总结
Linux 文件基本属性包括类型、权限、所有者、组、大小、时间等。通过 ls -l 查看,chown 和 chmod 修改。文件名避免特殊字符,长度受限,了解这些对系统管理至关重要。