目录
一、indo和block块
1、概述
2、inode的内容
3、用户通过文件名打开文件时,系统内部的过程
4、查询文件名对应的inode号码和剩余inode的方式
查询文件名对应的inode号码命令
查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令
用删除inode的方式删除文件
二、日志文件
1、简述(作用、功能、分类)
2、常见的一些日志文件
3、Linux系统内核日志消息的优先级别
一、indo和block块
1、概述
文件数据包括元信息与实际数据
文件存储在硬盘上,硬盘最小存储单位是”扇区“,每个扇区存储512字节
block(块)
-
连续的八个扇区组成一个block
-
是文件存取的最小单位
inode(索引节点)
-
中文译名为”索引节点“,也叫 i 节点
-
用于存储文件元信息
2、inode的内容
inode包含文件的元信息
-
文件的字节数
-
文件拥有者的User ID
-
文件的Group ID
-
文件的读、写、执行权限
-
文件的时间戳
用stat命令可以查看某个文件的inode信息
3、用户通过文件名打开文件时,系统内部的过程
- 系统找到这个文件名对应的inode号码
- 通过inode号码,获取inode信息
- 根据inode信息,找到文件数据所在的block,读出数据
4、查询文件名对应的inode号码和剩余inode的方式
查询文件名对应的inode号码命令
1、ls -i
2、stat [文件名]


文件的时间戳:
-
Access Time: 简写为atime,表示文件的访问时间。当文件内容被访问时,更新这个时间
-
Modify Time: 简写为mtime,表示文件内容的修改时间,当文件的数据内容被修改时,更新这个时间。
-
ChangeTime: 简写为ctime,表示文件的状态时间,当文件的状态被修改时,更新这个时间,例如文件的链接数,大小,权限,Blocks数例如执行chmod, chown等命令;
inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据:另一个是inode区,存放inode所包含的信息。每个inode的大小,一般是128字节或256字节。 通常情况下不需要关注单个inode的大小,而是需要重点关注inode.总数。inode的总数在格式化时就给定了,执行"df-i"命令即可查看每个硬盘分区对应的的inode总数和已经使用的inode数量。
每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定了,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘12.8%
查看每个硬盘分区的inode总数和已经使用的数量,可以使用df命令
df -i
df -ihT

由于每个文件都必须有一个inode,因此有可能发生inode已经用光,但是硬盘还未存满的情况。这时,就无法在硬盘上创建新文件
由于inode号码与文件名分离,导致Linux系统具备以下几种特有的现象:
1、文件名包含特殊字符,可能无法正常删除。这时直接删除inode,能够起到删除文件的作用;
2、移动文件或重命名文件,只是改变文件名,不影响inode 号码;
3、打开一个文件以后,系统就以inode 号码来识别这个文件,不再考虑文件名。
用删除inode的方式删除文件
find ./ -inum 52305140 -exec rm -i {} \;
find ./ -inum 50464299 -delete

二、日志文件
1、简述(作用、功能、分类)
日志的作用
日志的功能
-
用于记录系统、程序运行发生的各种事件
-
通过阅读日志,有助于诊断和解决系统故障
日志文件的分类
内核及系统日志:这种日志数据由系统服务rsyslog统一管理,根据其主配置文件 /etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置。系统中有相当一部分程序会把自己的日志文件交由 rsyslog 管理,因而这些程序使用的日志记录也具有相似的格式
用户日志:这种日志数据用于记录Linux操作系统用户登录及退出系统的相关信息,包括用户名、登录的终端、登录时间、来源主机、正在使用的进程操作等。
程序日志:有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog 服务管理),用于记录本程序运行过程中的各种事件信息。由于这些程序只负责管理自己的日志文件,因此不同程序所使用的日志记录格式可能会存在较大的差异。
2、常见的一些日志文件
#内核及公共消息日志: /var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。 对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
#计划任务日志: /var/log/cron: 记录crond计划任务产生的事件信息。
#系统引导日志: /var/log/dmesg: 记录Linux系统在引导过程中的各种事件信息。
#邮件系统日志: /var/log/maillog: 记录进入或发出系统的电子邮件活动。
#用户登录日志:
/var/log/secure: 记录用户认证相关的安全事件信息。
/var/log/lastlog: 记录每个用户最近的登录事件。二进制格式
/var/1og/wtmp: 记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式
3、Linux系统内核日志消息的优先级别
(数字等级越小,优先级越高,消息越重要) :
0 EMERG(紧急): 会导致主机系统不可用的情况。
1 ALERT(警告): 必须马上采取措施解决的问题。
2 CRIT(严重): 比较严重的情况。
3 ERR (错误) : 运行出现错误。
4 WARNING(提醒): 可能影响系统功能,需要提醒用户的重要事件。
5 NOTICE (注意) : 不会影响正常功能,但是需要注意的事件。
6 INFO(信息): 一般信息。
7 DEBUG(调试): 程序或系统调试信息等。