一、inode
文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”。每个扇区储存512字节。
操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block。
文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。
每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
每一个inode表记录对应的保存了以下信息:
inode number 节点号,文件类型,权限,UID,GID,链接数(指向这个文件名路径名称个数),该文件的大小和不同的时间戳,指向磁盘上文件的数据块指针,有关文件的其他数据
二、时间戳
有3个时间:
最近访问atime:查看文件的时间
最近更改mtime:最近更改文件内容的时间,注意:更改完内容之后,ctime也会改变
最近改动ctime:最近更改文件元信息的时间,比如改变权限等
最近访问时间
修改文件内容后三个时间都修改
使用echo输入文件内容最近访问时间不改
三、查看inode号
查看inode号有两种方式
1.ls -i 文件名
2.stat 文件名
四、Linux命令和inode
cp 和 inode
cp 命令:
分配一个空闲的inode号,在inode表中生成新条目
在目录中创建一个目录项,将名称与inode编号关联
拷贝数据生成新的文件
rm 命令:
硬链接数递减,从而释放的inode号可以被重用
把数据块放在空闲列表中
删除目录项
数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖
mv和inode:
如果mv命令的目标和源在同一设备,
不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
删除旧的目录对应关系新建目录对应关系
五、日志文件
日志的功能
1.用于记录系统、程序运行中发生的各种事件
2.通过阅读日志,有助于诊断和解决系统故障
Linux系统内核日志消息的优先级别
0 EMRG(紧急) :会导致主机系统不可用的情况,如系统崩溃
1 ALERT(警告) :必须马上采取措施解决的问题。如数据库被破坏
2 CRIT(严重) :比较严重的情况。如硬盘错误,可能会阻碍程序的部分功能
3 ERR(错误) :运行出现错误。不是非常紧急,尽快修复的
4 WARNING(提醒):可能运行系统功能,需要提醒用户的重要时间。不是错误。如硬 盘用了85%等
5 NOTICE(注意) :不会运行正常功能,但是需要注意的事件。无需处理
6 INFO(信息) :一般信息。正常的信息系统。
7 DEBUG(调试) :程序或系统调试信息等。包括详细开发的信息,调试程序时使用
六、用户日志
查询当前用户登录状态
users
users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数
who
who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用户名、终端类型、登录日期及远程主机
w
w 命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的 输出内容要丰富一些。
查询用户历史登录记录
last
last 命令用于查询成功登录到系统的用户记录
lastb
lastb 命令用于查询登录失败的用户记录