Linux 文件基本属性

关键要点

  • Linux 文件属性包括类型、权限、所有者、组、大小和修改时间。
  • 使用 ls -l 查看属性,chownchmod 可修改所有者和权限。
  • 文件类型如目录(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)。

  • 修改所有者和组:用 chownchgrp,如 chown newowner filechown -R newowner directory
  • 修改权限:用 chmod,如 chmod 755 filechmod u=rwx,g=rx,o=r file

更多信息

stat file 查看详细属性,如节点号、访问时间等。文件名避免特殊字符(如 *, ?),长度通常最大 255 字节。



详细报告

Linux 文件基本属性是系统管理的重要组成部分,定义了文件的类型、权限、所有者和组等信息,以下是全面的讲解。

系统背景

Linux 是一种典型的多用户系统,不同用户有不同权限。为保护系统安全,Linux 对用户访问文件的权限有严格规定。文件属性通过命令如 ls -l 查看,修改则用 chownchmod

查看文件属性

使用 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 filechown [-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 BlockI/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 查看,chownchmod 修改。文件名避免特殊字符,长度受限,了解这些对系统管理至关重要。


关键引用

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注