首页 > 系统相关 >linux 文件系统 与 日志分析

linux 文件系统 与 日志分析

时间:2023-07-31 16:14:41浏览次数:37  
标签:文件 log 文件系统 用户 linux var 日志 inode

一.inode 表

1)indoe 表中 保存的信息

inode number 节点号

文件类型

权限

UID

GID

链接数 (指向这个文件名路径名称个数)

该文件的大小和不同时间戳

指向磁盘上文件的数据块指针

有关文件的其他数据

 

2)查看 indoe 号

ls -i

stat

stat [选项] 文件

最近访问:atime

最近更改文件:ctime

最近改动权限:mtime

3)TIPS

 1.文件是存储在硬盘上的,硬盘的最小存储单位叫做“扇区”(sector),每个扇区存储512字节。

2.一般连续八个扇区组成一个"块”(block),一个块是4K大小,是文件存取的最小单位。操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一个块一个块的读取的。4k一读,8个扇区一读

3.文件数据包括实际数据与元信息(类似文件属性)。文件数据存储在“块"中,存储文件元信息(比如文件的创建者、创建日期、文件大小、文件权限等)的区域就叫做inode表。 因此,一个文件必须占用一个inode,并且至少占用一个block。du 显示

4.inode不包含文件名。文件名是存放在目录文件夹当中的。Linux 系统中一切皆文件,因此目录也是一种文件。

5.每个inode都有一个号码,操作系统用inode号码来识别不同的文件。Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称,文件名和inode号码是一一对应关系,每个inode号码对应一个或多个文件名。

唯一 同一文件系统() 不同的文件

6.所以,当用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它对应的inode号码:通过inode号码,获取inode信息;根据inode信息,看该用户是否具有访问这个文件的权限;如果有,就指向相对应的数据block,并读取数据。

4)改变文件状态 和 indoe 的关系

cp 命令

分配一个空闲的inode号,在inode表中生成新条目

在目录中创建一个目录项,将名称与inode编号关联

拷贝数据生成新的文件

rm 命令

硬链接数递减,从而释放的inode号可以被重用

把数据块放在空闲列表中

删除目录项

数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

 

删除文件时空间不释放,除非覆盖

可以使用echo " " > 文件 来清空彻底删除

mv 命令

如果 mv 命令的目标和源在同一个设备,不影响inode表 (除时间戳)或磁盘上的数据位置:没有数据被移动!

删除旧的目录对应关系新建目录对应关系

 二.日志

日志默认放在 /var/log 中

1)常见 日志文件

/var/log/message      内核 和 公共日志

/var/log/cron             计划任务日志         记录与系统定时任务相关日志

/var/log/maillog         邮件日志                记录邮件信息的日志

/var/log/lastlog          记录系统中所有用户最后一次登录时间  使用 lastlog 命令查看

/var/log/secure          记录验证和授权方面的倍息     系统,ssh的登录  su切换 sudo授权

 

2)日志文件的格式

1.事件产生时间

2.产生事件的服务器的主机名

3.产生事件的服务名或者程序名

4.事件的具体信息

 3)内核和公共日志

日志的配置文件在 /etc/rsyslog.conf

信息的优先级

0 EMERG(紧急) :会导致主机系统不可用的情况

1 ALERT(警告):必须马上采取措施解决的问题。

2 CRIT(严重):比较严重的情况。

3 ERR(错误):运行出现错误。

4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

6 INFO(信息):一般信息。

7 DEBUG(调试):程序或系统调试信息等

内核和公共消息日志存储位置

/var/log/message 

一条消息包括四个字段:

时间标签:消息发出的日期和时间

主机名:生成消息的计算机的名称

子系统名称:发出消息的应用程序的名称

消息:消息的具体内容

 

三.用户日志

wtmp 、 btmp 、 lastlog 等日志文件中保存系统用户登录 、 退出等相关的事件消息

不能用tail等文本查看工具浏览,要使用who 、 w 、users 、last和lastb

1)查询当前登录的用户情况

users 

简单输出当前登录的用户名称 单个用户不止一个登录会话会显示相同次数

who

报告当前登录到系统中的每个用户的信息 

默认输出包括

 用户名            终端类型                             登录日期                        远程主机

w

显示当前系统中的每个用户及其所运行的进程信息,比users、who命令的输出内容更丰富

 2)查询用户登录的历史记录

last

查询成功登录到系统的用户记录

 lastb

查询登陆失败的用户记录  /var/log/secure 中也能获得信息

 

标签:文件,log,文件系统,用户,linux,var,日志,inode
From: https://www.cnblogs.com/tsumiki/p/17593168.html

相关文章

  • Linux查看CPU核数
    **方法一:通过proc文件系统获取cpu总数量命令如下**cat/proc/cpuinfo|grepprocessor方法二:nproc命令nproc方法三:lscpu显示CPU详细信息lscpuArchitecture:#架构CPUop-mode(s):#CPU运行模式ByteOrder:#字节序CPU(s):......
  • linux 2 网络基础
    1.包裹函数对服务器客户端等函数进行报错处理以及简化处理比如bindinttcp4bind(shortport,constchar*IP){structsockaddr_inserv_addr;intlfd=Socket(AF_INET,SOCK_STREAM,0);bzero(&serv_addr,sizeof(serv_addr));if(IP==NULL){//......
  • linux 8 基于线程池和epoll监听实现聊天服务器
    1.立项功能1.聊天总人数显示2.账号密码注册功能-保留名字-永久保留id->保留id功能取消3.总聊天室-进入前可输入名字顺序id4.聊天室聊天5.单对单聊天6.id=cfd串联起来4.服务器代码#include"threadpoolsimple.h"//初始化结构体#include<stdio.h>ThreadPool*thrPool=......
  • Linux文件系统与日志分析
    目录Linux文件系统与日志分析日志是解决问题的唯一手段1.inode表结构1.1元数据1.2inode内容1.3inode内容1.4目录文件的结构1.5inode的号码1.6恢复XFS类型的文件2.日志服务管理2.1系统日志介绍2.2rsyslog系统日志服务2.3rsyslog日志管理2.3.1系统日志术语2.4日志文件2.......
  • linux的hw_breakpoint
    参考:https://martin.uy/blog/hardware-breakpoints-in-the-linux-kernel-through-perf_events/https://www.cnblogs.com/sunkang/archive/2011/05/04/2038816.htmlhttps://www.cnblogs.com/hellokitty2/p/16212629.htmlhttps://blog.csdn.net/shenhuxi_yu/article/details/......
  • Linux集群监控部署: prometheus 普罗米修斯 + Grafana
    前言之前我们有用到top、free、iostat等等命令,去监控服务器的性能,但是这些命令,我们只针对单台服务器进行监控,通常我们线上都是一个集群的项目,难道我们需要每一台服务器都去敲命令监控吗?这样显然不是符合逻辑的,Linux中就提供了一个集群监控工具–prometheus。prometheus监......
  • Linux fdisk command All In One
    LinuxfdiskcommandAllInOnediskpartition/磁盘分区$fdisk-hUsage:fdisk[options]<disk>changepartitiontablefdisk[options]-l[<disk>...]listpartitiontable(s)Displayormanipulateadiskpartitiontable.Options:......
  • linux环境中,如何查看网络设备的序列号?
    通过iplink查看网络设备的序列号 iplink  查询结果中,最左边的一列,就是这个网络接口,在主机上的序列号。......
  • 通过日志类
    创建日志模块1、导入相关的依赖<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><depende......
  • CoaXPress 2.0 FPGA HOST IP Core Linux Demo
      目录Hello-FPGACoaXPress2.0HostFPGAIPCoreLinuxDemo41说明42设备连接73VIVADOFPGA工程74调试说明10图1‑1资料目录4图1‑2VIVADO工程目录结构5图1‑3SDK工程目录结构5图1‑4设备树信息6图1‑5petalinux应用程序6图2‑1ZCU10......