大佬:看日志去!看日志啊!你TM不会查日志吗!——Linux文件系统与日志分析

Inode与Block介绍 阅读详情


inode与block

inode和block概述

  • 文件数据包括元信息与实际数据
  • 文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
  • block(块)
    连续的八个扇区组成一个block(4k)
    是文件存储的最小单位
  • inode(索引节点)
    中文译名为“索引节点”,也叫i节点
    用于存储文件元信息

inode的内容

inode包含文件的元信息

  • 文件的字节数
  • 文件拥有者的User ID
  • 文件的Group ID
  • 文件的读、写、执行权限
  • 文件的时间戳
  • …

用stat命令可以查看某个文件的inode信息

  • 示例:srat aa.txt

Linux系统文件三个主要的时间属性

  • ctime(change time)
    最后一次改变文件或目录(属性)的时间
  • atime(access time)
    最后一次访问文件或目录的时间
  • mtime(modify time)
    最后一次修改文件或目录(内容)的时间

目录文件的结构

  • 目录也是一种文件
  • 目录文件的结构
文件名inode号码1
文件名2inode号码2
……

每一项称为一个目录项

每个inode都有一个号码,操作系统用inode号码来识别不同的文件

Linux系统内部不使用文件名,而使用inode号码来识别文件

对于用户,文件名只是inode号码便于识别的别称

inode的号码

用户通过文件名打开文件时,系统内部的过程

  1. 系统找到这个文件名对应的inode号码
  2. 通过inode号码,获取inode信息
  3. 根据inode信息,找到文件数据库所在的biock,读出数据

查看inode号码的方法

  • ls -i命令:查看文件名对应的inode号码
    示例
ls -i aa.txt
  • stat命令:查看文件inode信息中的inode号码
    示例
stat aa.txt

文件储存小结

硬盘分区后的结构

文件名→目录项目录块
元信息→inodeinode表区块
数据→blockblock数据区

访问文件的简单流程

用户访问文件时,系统会查找对应的inode,根据inode判断用户是否具备访问权限,若具备,则指向对应的数据block,若用户不具备访问权限,则返回Permission denied

inode的大小

  • inode也会消耗硬盘空间
    每个inode的大小一般是128字节或256字节
  • 格式化文件系统时确定inode的总数
  • 使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量

inode的特殊作用

由于inode号码与文件分离,导致一些Unix/Linux系统具有以下的现象

  • 当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
  • 移动或重命名时,只改变文件名,不影响inode号码
  • 打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

硬链接与软链接

链接文件

  • 为文件或目录建立链接文件
  • 链接文件分类
软连接硬链接
删除原始文件后失效仍旧可用
使用范围适用于文件或目录只可用于文件
保存位置与原始文件可以位于不同的文件系统中必须与原始文件在同一个文件系统中(如一个Linux分区)内
与源文件的关系相当于快捷方式相当于给文件起个别名
inode号码inode号码不同inode号码相同

当一个文件拥有多个硬链接时,对文件内容修改,会影响到所有文件名;但是删除一个文件名,不影响别的文件名的访问。删除一个文件名,只会使得“硬链接数”减1.

需要注意的是不能对目录做硬链接。在日常工作中几乎不会建立文件的硬链接

恢复误删除的日志

日志文件

日志的功能

  • 用于记录系统、程序运行中发生的各种事件
  • 通过阅读日志,有助于诊断和解决系统故障

日志文件的分类

  • 内核及系统日志
    由系统服务rsyslog统一进行管理,日志格式基本相似
    主配置文件为/etc/rsysiog.conf
  • 用户日志
    记录系统用户登录及退出系统的相关信息
  • 程序日志
    由各种应用程序独立管理的日志文件,记录格式不统一

日志保存位置

Linux 操作系统本身和大部分服务器程序的日志文件都默认放在目录/var/log/下

主要日志文件介绍

常见的一些日志文件:

#内核及公共消息日志:
/var/log/messages: 记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I0错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。
#计划任务日志:
/var/log/cron: 记录crond计划任务产生的事件信息。
#系统引导日志:
/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。
#邮件系统日志:
/var/log/maillog:记录进入或发出系统的电子邮件活动。
#用户登录日志:
/var/log/secure: 记录用户认证相关的安全事件信息。
/var/log/lastlog: 记录每个用户最近的登录事件。二进制格式
/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。二进制格式
/var/ run/btmp: 记录失败的、错误的登录尝试及验证事件。二进制格式

vim /etc/rsyslog.conf          #查看rsyslog.conf配置文件
*.info;mail.none;authpriv.none;cron.none          /var/log/messages

内核及系统日志

由系统服务 rsyslog 统一管理

  • 软件包:rsyslog-7.4.7-16,
  • 主要程序:/sbin/rsyslogd
  • 配置文件:/etc/rsyslog.conf

日志消息的级别

级号消息级别说明
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决的问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能会影响系统功能的事件
5NOTICE注意不会影响系统但值得注意
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

日志记录的一般格式

时间标签 主机名 子系统名 消息字段

分析日志文件

用户日志分析

保存了用户登录、退出等相关信息

  • /var/log/lastlog:最近的用户登录事件
  • /var/log/wtmp:用户登录、注销及系统开、关机事件
  • /var/run/utmp:当前登录的每个用户的详细信息
  • /var/log/secure:与用户验证相关的安全性事件

分析工具

  • users、who、w、last、lastb
  • last 命令用于查询成功登录到系统的用户记录
  • lastb 命令用于查询登陆失败的用户记录

程序日志分析

由相应的应用程序独立进行管理

  • Web服务:/var/log/httpd/
access_log         //记录客户访问事件
error_log          //记录错误事件
  • 代理服务:/var/log/squid/
    access.log、cache.log
  • FTP服务:/var/log/xferlog

分析工具

  • 文本查看、grep过滤检索、Webmin管理套件中查看
  • awk、sed等文本过滤、格式化编辑工具
  • Webalizer、Awstats等专用日志分析工具

日志管理策略

  • 及时做好备份和归档
  • 延长日志保存期限
  • 控制日志访问权限
    日志中可能会包含各类敏感信息,如账户、口令等
  • 集中管理日志
    将服务器的日志文件发到统一的日志文件服务器
    便于日志信息的统一收集、整理和分析
    杜绝日志信息的意外丢失、恶意篡改或删除

在Linux操作系统中,还有相当一部分应用程序没有使用rsyslog服务来管理日志,而是由程序自己维护日志记录。例如,htpd网站服务程序使用两个日志文件access_log和error_log分别记录客户访问事件和错误事件。不同应用程序的日志记录格式差别较大,且没有严格使用同统一的格式,这里不再详细介绍。总的来说,在对系统管理维护时,应该提高警惕,随时注意各种可以状况,定期并随机检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志及用户。

在登录日志记录等检查这些日志的时候,要注意是否有不合常理的时间或操作记录。比如出现以下现象就要多加注意。
·用户在非常规的时间登录,或者用户登录系统的IP地址和以往的不一样。
·用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录。

  • 非法使用或不正常使用超级用户权限的记录。
  • 无故或非法重新启动各项网络服务的记录。
  • 不正常的日志记录,如日志残缺不全,或者是诸如wtmp这样的日志文件无故缺少了中间的记录文件。

另外,有一点要注意的是,日志并不是完全可靠的,高明的黑客在入侵系统后经常会打扫现场,所以管理者需要综合运用以上的系统命令,全面、综合地进行审查和检测,切忌断章取义,否则将可能做出错误的判断。

关于42步进电机驱动——基于STM32 HAL库实现 我找了好多资料,好多关于42步进电机的都是文档,这么文档都需要积分,需要积分就算了内容还非常差,浪费时间和电脑的内存。关于大部分是基于Arduino和51去驱动的 42步进电机驱动硬件如下: 首先你要了解步进电机的驱动原理,我也不啰嗦了,请看这边博客: 二相四线,四相五线,四相六线步进电机接线及驱动方法 , 看完这篇你就知道驱动和接线的原理了。 起初我也为如何接线烦恼,因为有些博客在讲述这些问题的时候没有讲的很透彻。 方法如下: ①用万用表调到欧姆档,用其中一个表笔搭在一个引脚上,依次测其它. 阅读详情

相关推荐

Unity手游优化实战:用GPU Instancing把草地渲染的DrawCall从8000降到20(附完整Shader)

本文详细介绍了Unity手游中利用GPU Instancing技术优化草地渲染的实战方法,将DrawCall从8000降至20。通过Shader改造和性能优化技巧,开发者可以在移动端实现高效渲染,显著提升游戏性能。文章包含完整的Shader代码和优化策略,适合Unity开发者学习应用。

weixin_33691817的博客 489

理解linux中inode与block、硬链接与软链接

摘要: 介绍inode 与block,以及硬链接与软链接。

m0_53741670的博客 993

人工智能入门系列之一: 鸢尾花(Iris)多分类的神经网络详解及代码实现

这是最好的时代,我们一起来打造属于自动驾驶汽车上路、无人机飞天、智能机器人管工厂的AI未来 人工智能领域分化为两个阵营:其一是规则式(rule-based)方法,在人工智能早期占主峰;其二是神经网络(neural network)方法,后起之秀。随着硬件水平的提高,算力的指数式增长;人工智能的重心已经从规则式的专家时代转移到神经网络的数据时代。 “神经网络”不选择把人脑熟稔的逻辑规则传授给计算机...

NLP家的码奴小荷的博客 2万+

理论题·深入理解Linux文件系统与日志分析

深入理解Linux文件系统与日志分析 文章目录深入理解Linux文件系统与日志分析inode和block概述文件数据包括元信息与实际数据文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节block(块)inode(索引节点)inode的内容inode包含文件的元信息---不包含文件名用stat命令可以查看某个文件inode信息每个inode都有一个号码,操作系统用inode号码来识别不同的文件Linux系统内部不使用文件名,而使用inode号码来识别文件对于用户,文件名只是inode号码便

weixin_47153668的博客 1766

NHANES数据库实战:数据合并与加权分析技巧

本文详细解析了NHANES数据库实战中的核心技巧,重点阐述了数据合并与加权分析的正确方法。通过两个具体案例,手把手指导如何从数据下载、合并、权重计算到使用R语言survey包进行加权统计分析,避免因忽略复杂抽样设计而导致的研究偏倚,确保分析结果的准确性与可发表性。

weixin_29057065的博客 585

当勒索软件盯上虚拟化层:从CVE-2025-22225漏洞看ESXi安全加固要点

本文深度剖析了针对VMware ESXi虚拟化层的CVE-2025-22225等漏洞链的攻击原理,揭示了攻击者如何利用VMCI、HGFS组件从虚拟机逃逸至宿主机。文章从实战角度出发,系统性地提出了ESXi安全加固的核心策略,包括禁用非必要服务、强化主机配置、实施网络分段、建立实时监控与自动化补丁管理体系,为企业构建纵深防御体系提供了具体可行的操作指南。

terraform7cloud的博客 858

inode和block

这里写目录标题一、inode 和block概述二、模拟inode号节点耗尽三、将xfs类型文件恢复 一、inode 和block概述 1、文件、扇区 文件是存储在硬盘上的,硬盘最小存储单位是扇区,每个扇区存储512字节 2、块(block) 一般8个扇区组成一个块,一个块是4K大小,是文件存取的最小单位,文件数据存储在块中 3、文件数据 文件数据包括实际数据与元信息 文件数据存储在块中 4、inode(索引节点) inode不包含文件名,文件名是存放在目录中的,目录也是一种文件 inode是存储文件元信息,

weixin_55609817的博客 718

【深度学习新浪潮】Score Matching(分数匹配):原理、推导与PyTorch实战

在概率模型训练中,配分函数(归一化常数)是绕不开的难题——尤其是能量模型(EBM)、扩散模型等未归一化模型,直接计算配分函数几乎不可能。Score Matching(分数匹配)作为一种无归一化的参数估计方法,通过拟合概率密度的对数梯度(分数函数),彻底避开了配分函数的计算,成为生成建模、密度估计的核心技术之一。本文将从基础概念出发,逐步推导Score Matching的核心公式,并结合PyTorch实现一个可直接运行的实战案例,帮你彻底理解这一关键技术。Score Matching的核心是。

专注:太空算力、AI infra、异构调度、大模型成本工程 252

inode与block

inode概述 硬盘要分区,然后格式化,创建文件系统。 inode,index node索引节点。在每个linux存储设备或存储设备的分区(存储设备可以是硬盘、软盘、U盘…)被格式化为ext4文件系统后,一般有两部分: 第一部分是inode(很多个) 第二部分是block(很多个) block是用来存储实际数据用的,例如:照片、视频等普通文件数据。 而inode就是用来存储这些数据属性信息的(也就...

热气球 1455

YOLOv8 骨骼结构识别详细说明

YOLOv8骨骼结构识别是一种基于深度学习技术的医学影像分析方法,主要用于X光、CT等影像中的骨骼定位与识别。该系统具有多骨骼同步识别能力,可应用于手部、脊柱、骨盆等不同部位,并能精确定位骨骼关键点。技术实现包括数据预处理、模型训练、推理检测、关键点分析和批量处理五个核心模块,支持骨折检测、骨龄评估等临床应用。该系统需注意医学合规性,要求高质量标注数据,并针对骨骼影像特点进行特征工程优化,同时考虑不同设备的部署需求。

u010117029的博客 333

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part6基于图谱的问答实现

前序文章:本部分则是整个项目的核心内容——基于图谱的问答。需要实现的是对于“简单问题”进行解析,然后从图谱数据库中查询与该人员及其相关人员信息,返回到前端并显示该人员的基本信息。除此之外,用户可以点击返回的结果人员节点,页面能够显示该用户的个人基本信息。那么现在就开始吧。根据源码实现问答形式,其实是比较简单的。原代码中使用ltp对问题进行分词,选取具有名次词性的关键词进行处理。 ltp配置稍许麻烦,我使用jieba分词工具对问题进行分词,然后再按照原文提取问句中人物及关系,然后构建cypher neo4j查

让算法融入生活,改变生活! 2939

linux jvm gc日志分析,JVM GC 日志详解

本文采用的JDK版本:java version "1.8.0_144"Java(TM) SE Runtime Environment (build 1.8.0_144-b01)Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)一、GC 日志参数设置JVM GC格式日志的主要参数包括如下8个:-XX:+PrintGC 输出...

weixin_29711471的博客 1382

基于STM32、HAL库的ICP-20100气压传感器 驱动程序设计

它具有低功耗、高精度、快速响应等特点,非常适合物联网、可穿戴设备和无人机等应用。#define ICP20100_FIFO_CTRL 0x09 // FIFO控制寄存器。#define ICP20100_FIFO_DATA 0x0A // FIFO数据寄存器。#define ICP20100_FIFO_STS 0x0B // FIFO状态寄存器。#define ICP20100_FIFO_WTM 0x15 // FIFO水印设置。

corlin6688的博客 601

Linux ——ELK 企业内部日志分析系统

企业内部日志分析系统 ELK:日志搜集平台 ELK由ElasticSearch、Logstash和Kibana三个开源工具组成: 1、组件介绍 1、Elasticsearch: ElasticSearch是一个基于Lucene的开源分布式搜索服务。负责搜索和分析日志 特点:分布式,零配置,自动发现,索引自动分片,索引副本机制,多数据源等。它提供了一个分布式多用户能力的全文搜索引擎。Elasticsearch是用Java开发。 在elasticsearch中,所有节点的数据是均等的。 索引: 索引(库)

weixin_55985097的博客 734

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

小而美的Nginx日志分析利器GoAccess

一般会把Nginx的日志导入日志系统进行实时或者准实时的分析,不过不是每个公司都有这样的环境,还有有时候临时就是想分析监控下Nginx,那么GoAccess就很适合你,这块工具小而美,功能很强大。 GoAccess是一个开源的实时网络日志分析器和交互式查看器,可以在Linux/Unix系统中的终端或通过浏览器运行。 它为需要动态可视化服务器报告的系统管理员提供快速且有价值的HTTP统计信息。 ...

深度Java 9525

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Linux搭建开源实时日志分析ELK平台

ELK 由 ElasticSearch、Logstash 和 Kiabana 三个开源工具组成。 1. elasticsearch(es):它是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。 2. logstash:简单说是一个日志收集工具, 可以定义从哪里获取数据, 并且可以简单处理数据, 最后可以定

jackghq的博客 3400

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

python日志分析_nginx 日志分析,python 实现

环境:OS:Linux:Linuxversion2.6.32-431.el6.x86_64(mockbuild@c6b8.bsys.dev.centos.org)xBuild:(gccversion4.4.720120313(RedHat4.4.7-4)(GCC))...

weixin_39613208的博客 161

ELK 日志分析系统(一)

1.背景 日志介绍  软件中的日志主要包括:系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。  通常,日志被分散的储存在不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急

苏叶的专栏 1755

elk日志分析系统_快速搭建ELK日志分析平台

日志主要包括系统日志、应用程序日志和安全日志等。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理。开源实时日志分...

weixin_39924573的博客 190

开源实时日志分析ELK平台部署

开源实时日志分析ELK平台部署日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化

梦想成真那天 532

快速搭建ELK日志分析系统

一、ELK搭建篇 官网地址:https://www.elastic.co/cn/ 官网权威指南:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html 安装指南:https://www.elastic.co/guide/en/elasticsearch/reference/5.x/rpm.htm...

*** 棋了个怪_Rachel *** 358

ELK+Filebeat+Kafka+ZooKeeper构建大数据日志分析平台

配置elasticsearch集群,除此处配置外,其他Elasticsearch节点均相同。配置logstash作为转发节点,获取kafka中日志,存储至elasticsearch中。验证数据是否发送至Elasticsearch,需要安装Kibana,安装后验证。配置kafka,除此项外,其他配置各节点均相同。启动Logstash服务,验证数据传递效果。解压Elasticsearch安装包。修改输入插件配置,从文件中读取信息。解压ZooKeeper安装包。解压Filebeat安装包。配置Filebeat。

m0_50978391的博客 1294

Linux下ELK6.2.3日志分析平台搭建

官网下载地址:https://www.elastic.co/downloads ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。 Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库...

lanyue1的博客 564

GC日志分析

Java HotSpot(TM) 64-Bit Server VM (25.191-b12) for linux-amd64 JRE (1.8.0_191-b12), built on Oct 6 2018 05:43:09 by "java_re" with gcc 7.3.0 Memory: 4k page, physical 2097152k(2090444k free), swap 0k(0k free) CommandLine flags: -XX:+HeapDumpOnOutOfMemory.

yangguoqi的专栏 722
上一篇: 今天的早饭真难吃——系统安全及应用
下一篇: 一段网络引发的血案(Linux网络设置)
Alterego_
博客等级 码龄6年 14粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值