Linux 文件基本属性
关键要点
- 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
修改。文件名避免特殊字符,长度受限,了解这些对系统管理至关重要。