inode与block
文件存储在硬盘上 硬盘的最小存储单位叫做扇区 每个扇区存储512字节
操作系统读取硬盘的时候 不会一个个扇区地读取 而是一次性连续读取多个扇区,即一次性读取一个"块" ( block ) 这种由多个扇区组成的"块"是文件存取的最小单位 "块"的大小 最常见的是4KB 即连续八个扇区组成一个块
文件数据存储在"块”中 那么还必须找到一个地方存储文件的元信息 比如文件的创建者、文件的创建日期、文件的大小等等 这种存储文件元信息的区域就叫做inode(索引节点)也叫i节点
一个文件必须占用一个inode ,至少占用一个block
inode和block的关系
元信息包括:
文件的字节数
文件拥有者的User ID
文件的Group ID
文件的读、 写、执行权限
文件的时间戳
文件类型
链接数
有关文件的其他数据
stat命令查看某个文件的inode信息
inode不包含文件名 文件名是存放在目录当中的 Linux系统中一切皆文件 因此目录也是一种文件
每个inode都有一个号码 操作系统用inode号码来识别不同的文件 linux系统内部使用不同文件名 而使用inode来识别文件 对于系统来说 文件名只是inode号码便于识别的别称 文件名和inode号码是一 一对应关系 每个inode号码对应一个文件名
用户通过文件名打开文件 系统内部分为三个步骤
系统找到这个文件名对应的inode号码
通过inode号码 ,获取inode信息
根据inode信息,找到文件数据所在的block
硬盘分区后的结构
访问文件的流程
mv命令与inode
移动文件或重命名文件,只是改变文件名,不影响inode 号
cp命令与inode
分配一个空闲的inode号
在inode表中生成新条目在目录中创建一个目录项
将名称与inode编号关联拷贝数据生成新的文件
rm命令与inode
链接数递减,从而释放的inode号可以被重用把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
日志文件
日志保存位置默认位于:/var/log目录下
日志文件的分类
系统日志:
由系统服务rsyslog统一管理,根据主配置文件/etc/rsyslog.conf中的设置决定将内核消息及各种系统程序消息记录到什么位置
用户日志:
用于记录Linux系统用户登录及退出系统的相关信息,包括用户名、登 录的终端、登录时间、来源主机、正在使用的进程操作等
程序日志:
有些应用程序会选择由自己独立管理一份日志文件(而不是交给rsyslog服务管理),用于记录本程序运行过程中的各种事件信息