linux cpu占用率如何看
244
2022-11-02
Linux文件系统与日志分析
inode与block
硬链接与软链接
恢复误删除的文件
分析日志文件
1.inode和block概述
■文件数据包括元信息与实际数据
■文件存储在硬盘.上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
■block (块)
●连续的八个扇区组成一个block数据.block
●是文件存取的最小单位
■inode (索引节点)
●中文译名为“索引节点”,也叫i节点
●用于存储文件元信息
1-1■inode包含文件的元信息
●文件的字节数
●文件拥有者的User ID(不包含文件名)
●文件的Group ID
●文件的读、写、执行权限
●文件的时间戳
■用stat命令可以查看某个文件的inode信息
●示例: stat aa.txt
查看文件,调用inode号
1-2■Linux系统文件三个主要的时间属性
●ctime(change time)
◆最后一次改变文件或目录(属性)的时间
●atime(access time)
◆最后一次访问文件或目录的时间
●mtime(modify time)
◆最后一次修改文件或目录(内容)的时间
占大小的都会变,更改属主,属组
1-3inode的内容
■目录文件的结构
●目录也是一种文件
●目录文件的结构
■每个inode都有一一个号码,操作系统用inode号码来识别不同的文件
■Linux系统内部不使用文件名,而使用inode号码来识别文件
■对于用户,文件名只是inode号码便于识别的别称.
复制相当于两个文件,inode号会变
2.inode的号码
■用户通过文件名打开文件时,系统内部的过程
1.系统找到这个文件名对应的inode号码
2.通过inode号码,获取inode信息
3.根据inode信息,找到文件数据所在的block,读出数据
■查看inode号码的方法
●ls -i命令:查看文件名对应的inode号码
Is -i aa.txt
●stat命令:查看文件inode信息中的inode号码
stat aa.txt
2-1inode的大小
■inode也会消耗硬盘空间
●每个inode的大小
●一般是128字节或256字节
■格式化文件系统时确定inode的总数
■使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量
2-2inode的特殊作用
■由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象
当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
●移动或重命名文件时,只改变文件名,不影响inode号码
●打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名
查找inode 号进行删除
3.链接文件
为文件或目录建立链接文件
链接文件分类
硬链接 ln 源文件 目标位置
软链接 ln -s 源文件或目录
软链接 | 硬链接 | |
删除原始文件后 | 失效 | 仍旧可用 |
使用范围 | 适用于文件或目录 | 只用于文件 |
保存位置 | 与原始文件可以位于不同的文件系统中 | 必须与原始文件在同一个文件系统内(如一个Linux分区) |
4.恢复xfs/ext文件
实验:
创建一块硬盘分区
模拟节点占满
节点占用满后要删除,就可以正常创建
第二种方法
4.ext文件恢复
1.安装依赖包
2.把包拖进去
3.解压压缩包
4.切换到当前目录,查看
5.进行配置
两个inodes恢复了
5.日志
内核及系统日志服务rsyslog统一管理,主配置文件为/etc/rsyslog.conf
Linux操作系统本身和大部分服务器程序的日志文件都默认放在/var/log/下
常见的一些日志文件
/var/log/messages 记录 Linux 内核消息及各种应用程序的公共日志信息,包括启动、IO错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
(2) 计划任务日志
/var/log/cron 记录 crond 计划任务产生的事件信息。
(3) 系统引导日志
/var/log/dmesg 记录 Linux 系统在引导过程中的各种事件信息。
(4) 邮件系统日志
/var/log/maillog 记录进入或发出系统的电子邮件活动。
(5) 用户登录日志
/var/log/secure 记录用户认证相关的安全事件信息。
/var/log/lastlog 记录每个用户最近的登录事件。二进制格式
/var/log/wtm 记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/run/btmp 记录失败的、错误的登录尝试及验证事件。二进制格式
日志分析工具
user
命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。
who
命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用户名、终端类型、登录日期及远程主机。
w
命令用于显示当前系统中的每个用户及其所运行的进程信息,比 users、who 命令的输出内容要丰富一些。
last
命令用于查询成功登录到系统的用户记录,最近的登录情况将显示在最前面。通过last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前主机可能已被入侵。
lastb
命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除了使用 lastb 命令查看以外,也可以直接从安全日志文件 /var/log/secure 中获得相关信息。
journalctl
工具是 centos7 才有的工具。Systemd 统一管理所有 Unit 的启动日志带来的好处就是可以只用 journalctl 一个命令查看所有日志。日志的配置文件是 /etc/systemd/journald.conf
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~