【Linux】深入理解Linux文件系统与日志分析

目录

一、inode与block

1.block与inode概述

 2.inode的内容

3.inode号码

4.inode的大小

5.访问文件的简单流程

6.inode的特殊作用

7.通过indoe号删除rm常规方法删除不掉的文件

二、硬链接和软链接

三、恢复误删除的文件

1.恢复EXT类型的文件

示例

2.xfs类型文件备份和恢复

示例

实验总结

四、分析日志文件

1.日志的功能

2.日志文件的分类及其说明

3.日志分类

4.日志主要配置文件

5.日志分析

1)用户日志分析

2)程序日志分析

6.Linux系统日志管理


一、inode与block

1.block与inode概述

1)block(块)

连续的八个扇区组成一个 block(4K)

是文件存取的最小单位

2)inode(索引节点)

中文译名为“索引节点”,也叫i节点

用于存储文件元信息

文件数据包含 元信息(即不包含文件名的文件属性) 和 实际数据
文件元信息存储在 inode(索引节点)里,文件实际数据存储在 block(块)里;文件名存储在目录块里

在Linux系统中,文件名和文件数据是分开存储的

 查看文件的元信息             stat 文件名

[root@localhost ~]# stat 1.txt        #查看文件元信息,也可以显示文件的inode号文件:"1.txt"大小:6         	块:0          IO 块:4096   目录
设备:fd00h/64768d	Inode:102717271   硬链接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2024-04-23 15:55:14.369679056 +0800        #最后一次更改文件或目录(属性)的时间
最近更改:2024-04-23 15:55:14.369679056 +0800        #最后一次访问文件或目录的时间
最近改动:2024-04-23 15:55:14.369679056 +0800        #最后一次修改文件或目录(内容)的时间
创建时间:-

 2.inode的内容

inode包含文件的元信息

  • 文件的字节数
  • 文件类型
  • 文件的读、写、执行权限
  • 文件属主的UID
  • 文件属组的GID
  • 链接数(指向这个文件名路径名称个数)
  • 该文件的大小和不同的时间戳
  • 指向磁盘上文件的数据块指针
  • 有关文件的其他数据
Linux系统文件三个主要的时间属性
ctime(change time)最后一次更改文件或目录(属性)的时间
atime(access time)最后一次访问文件或目录的时间
mtime(modify time)最后一次修改文件或目录(内容)的时间
[root@localhost ~]# stat 1.txt        #查看文件元信息,也可以显示文件的inode号文件:"1.txt"大小:6         	块:0          IO 块:4096   目录
设备:fd00h/64768d	Inode:102717271   硬链接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2024-04-23 15:55:14.369679056 +0800        #最后一次更改文件或目录(属性)的时间
最近更改:2024-04-23 15:55:14.369679056 +0800        #最后一次访问文件或目录的时间
最近改动:2024-04-23 15:55:14.369679056 +0800        #最后一次修改文件或目录(内容)的时间
创建时间:-

3.inode号码

查看文件的inode号            stat 文件名      ls -i 文件名

[root@localhost ~]# ls -i     #查看文件的inode号
102717271 1.txt   67144898 anaconda-ks.cfg   67144930 initial-setup-ks.cfg[root@localhost ~]# stat 1.txt        #查看文件的inode号文件:"1.txt"大小:6               块:0          IO 块:4096   目录
设备:fd00h/64768d      Inode:102717271   硬链接:2
权限:(0755/drwxr-xr-x)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:admin_home_t:s0
最近访问:2024-04-23 16:22:40.237992244 +0800
最近更改:2024-04-23 15:55:14.369679056 +0800
最近改动:2024-04-23 15:55:14.369679056 +0800
创建时间:-
[root@localhost ~]#

4.inode的大小

inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分成两个区域。

一个是数据区,存放文件数据;

另一个是 inode 区,存放 inode 所包含的信息。

每个 inode 的大小,一般是 128 字节或 256 字节。


通常情况下不需要关注单个 inode 的大小,而是需要重点关注 inode 总数。inode 的总数在格式化时就给定了,执行 “df -i” 命令即可查看每个硬盘分区对应的的 inode 总数和已经使用的inode 数量。

查看每个分区的inode数量      df -i

[root@localhost ~]# df -i        #查看每个分区的inode数量
文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点
devtmpfs                  478376     382   477994       1% /dev
tmpfs                     482657       1   482656       1% /dev/shm
tmpfs                     482657    1416   481241       1% /run
tmpfs                     482657      16   482641       1% /sys/fs/cgroup
/dev/mapper/centos-root 18411520  160796 18250724       1% /
/dev/sda1                 524288     341   523947       1% /boot
tmpfs                     482657       9   482648       1% /run/user/42
tmpfs                     482657       1   482656       1% /run/user/0

5.访问文件的简单流程

用户访问一个文件的简单流程:

        用户访问文件时

        通过文件名找到对应的inode号

        通过Inode号获取inode信息,

        根据inode信息判断用户是否有权限访问文件

        有则指向对于的数据block并读取数据,无则拒绝访问

Linux系统不使用 文件名 识别文件,而使用 inode号 来识别文件,文件名只是 inode号 便于识别的别称,文件名和inode号是一一对应的。

6.inode的特殊作用

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

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

直接查看、修改文件内容或者改变文件名都不会影响 inode号,使用 vi 编辑器修改文件保存退出后会影响 inode号

7.通过indoe号删除rm常规方法删除不掉的文件

 find ./  -inum 67320322 -delete
 find ./  -inum 67320322 -exec rm -rf {} \;                                     
 find ./  -inum 67320322| xargs rm -rf

[root@bogon opt]# ls -i
67385114 123.txt  35342495 rh
[root@bogon opt]# find ./ -inum 67385114 -exec rm -rf {} \;
[root@bogon opt]# ls -i
35342495 rh
[root@bogon opt]# 

二、硬链接和软链接

三、恢复误删除的文件

1.恢复EXT类型的文件

编译安装extundelete软件包

依赖包

        e2fsprogs-libs-1.41.12-18.el6.x86 64.rpm

        e2fsprogs-devel-1.41.12-18.el6.x86 64.mm

配置、编译及安装

        extundelete-0.2.4.tan.bz2

模拟删除并执行恢复操作

示例

extundelete 是一个开源的 Linux 数据恢复工具,支持 ext3、ext4文件系统。(ext4只能在centos6版本恢复),本示例模拟ext3文件系统损坏,借助extundelete,修复文件数据

环境列举 
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2  

所需依赖包: yum -y install e2fsprogs-devel e2fsprogs-libs

该软件涉及到c++,所以安装一个c++编译工具: yum install -y gcc gcc-c++ make

准备一台centos 的虚拟机,新添加一块硬盘,开辟出一块主分区,建立ext3文件系统。(本次实验是要centos7运行)

fdisk /dev/sdb

mkfs.ext3 /dev/sdb1

mkdir /test

mount /dev/sdb1 /test

lsblk

df -Th

[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x6bec8745 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): 
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6bec8745设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    10487807     5242880   83  Linux命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@bogon ~]# mkfs /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736Allocating group tables: 完成                            
正在写入inode表: 完成                            
Writing superblocks and filesystem accounting information: 完成 [root@bogon ~]# mkdir /test
[root@bogon ~]# mount /dev/sdb1 /test/
[root@bogon ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part ├─centos-root 253:0    0 35.1G  0 lvm  /└─centos-swap 253:1    0  3.9G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
└─sdb1            8:17   0    5G  0 part /test
sdc               8:32   0   20G  0 disk 
sr0              11:0    1  4.4G  0 rom  
[root@bogon ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  1.9G     0  1.9G    0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G    0% /dev/shm
tmpfs                   tmpfs     1.9G   13M  1.9G    1% /run
tmpfs                   tmpfs     1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        36G  4.7G   31G   14% /
/dev/sda1               xfs      1014M  187M  828M   19% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1               ext2      5.0G   10M  4.7G    1% /test

安装extundelete 以及涉及到的依赖包

yum -y install e2fsprogs-devel e2fsprogs-libs

下载ex工具 

cd /test
wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2

解压压缩包,并且安装依赖包

tar jxvf extundelete-0.2.4.tar.bz2 
cd extundelete-0.2.4/
yum install -y gcc gcc-c++ make

 配置安装位置,进行编译安装,并且在/usr/bin下创建一个软链接

./configure --prefix=/usr/local/extundelete && make && make install
ln -s /usr/local/extundelete/bin/* /usr/bin/

删除ext3文件系统中的文件

echo 123 > a.txt
echo 123 > b.txt           #创建两个文件 ab,并且写入数据

extundelete /dev/sdb1 --inode 2                #查看文件系统/dev/sdb1下存在哪些文件,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。

将两个ext3文件删除

rm -rf a.txt b.txt        

恢复删除ext3文件系统中的文件

umount /test
extundelete /dev/sdb1 --restore-all                #使用ex工具进行恢复

ls
ls RECOVERED_FILES/

xfs 类型文件备份和恢复
CentOS 7 系统默认采用 xfs类型的文件,xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复,目前市面上并没有开源的xfs文件恢复工具,但是利用备份恢复依旧是最优的选择方案。本次实验就是模拟对重要的xfs文件进行备份,在误删后,进行恢复

2.xfs类型文件备份和恢复

xfsdump命令格式

xfsdump -f 备份存放位置 要备份的路径或设备文件

xfsdump备份级别(默认为0

0:完全备份

1-9:增量备份

xfsdump常用选项

-f指定备份文件目录
-L指定标签 session label
-M指定设备标签 media label
-s备份单个文件,-s后面不能直接跟路径

xfsdump使用限制

        只能备份已挂载的文件系统

        必须使用root的权限才能操作

        只能备份XFS文件系统

        备份后的数据只能让xfsrestore解析

        不能备份两个具有相同UUID的文件系统(可用blkid命令查看)

xfsrestore命令格式

xfsrestore -f 恢复文件的位置 存放恢复后文件的位置

模拟删除并执行恢复操作

示例

创建xfs系统文件环境

#使用fdisk创建分区/dev/sdb1,格式化xfs文件系统
fdisk /dev/sdb
partprobe /dev/sdb
mkfs.xfs /dev/sdb1
mkdir /date
mount /dev/sdb1 /date/
cd /date
cp /etc/passwd ./
mkdir test
touch ./test/a

[root@bogon ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0xfc915875 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):
将使用默认值 41943039
分区 1 已设置为 Linux 类型,大小设为 20 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@bogon ~]# partprobe /dev/sdb
[root@bogon ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=1310656 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5242624, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@bogon ~]# mkdir /date
[root@bogon ~]# mount /dev/sdb1 /date/
[root@bogon ~]# cd /date
[root@bogon date]# cp /etc/passwd ./
[root@bogon date]# mkdir test
[root@bogon date]# touch ./test/a
[root@bogon date]#

备份整个分区

#安装xfsdump 
rpm -qa | grep xfsdump
yum install -y xfsdump

#使用 xfsdump 命令备份整个分区
xfsdump -f /opt/dump_sdb1 /dev/sdb1

[root@bogon date]# rpm -qa | grep xfsdump
xfsdump-3.1.7-1.el7.x86_64[root@bogon date]# xfsdump -f /opt/dump_sdb1 /dev/sdb1
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control============================= dump label dialog ==============================please enter label for this dump session (timeout in 300 sec)-> sdb1
session label entered: "sdb1"--------------------------------- end dialog ---------------------------------xfsdump: level 0 dump of bogon:/date
xfsdump: dump date: Tue Apr 23 22:58:30 2024
xfsdump: session id: f506b527-564c-4cd7-a920-aba1b8c06c40
xfsdump: session label: "sdb1"
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 25856 bytes
xfsdump: /var/lib/xfsdump/inventory created============================= media label dialog =============================please enter label for media in drive 0 (timeout in 300 sec)-> sdb1
media label entered: "q"--------------------------------- end dialog ---------------------------------xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 25552 bytes
xfsdump: dump size (non-dir files) : 2592 bytes
xfsdump: dump complete: 26 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /opt/dump_sdb1 OK (success)
xfsdump: Dump Status: SUCCESS

模拟数据丢失并使用 xfsrestore 命令恢复文件

rm -rf ./*
ls

[root@bogon date]# cd /date/
[root@bogon date]# rm -rf ./*
[root@bogon date]# ls
[root@bogon date]# 

恢复操作

xfsrestore -f /opt/dump_sdb1 /date/

[root@bogon date]# xfsrestore -f /opt/dump_sdb1 /date
xfsrestore: using file dump (drive_simple) strategy
xfsrestore: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsrestore: searching media for dump
xfsrestore: examining media file 0
xfsrestore: dump description:
xfsrestore: hostname: bogon
xfsrestore: mount point: /date
xfsrestore: volume: /dev/sdb1
xfsrestore: session time: Tue Apr 23 22:58:30 2024
xfsrestore: level: 0
xfsrestore: session label: "sdb1"
xfsrestore: media label: "q"
xfsrestore: file system id: a4d04cb4-eca0-498b-bdd5-2952ac63b09a
xfsrestore: session id: f506b527-564c-4cd7-a920-aba1b8c06c40
xfsrestore: media id: 17cd84af-0a38-4514-aa93-661f1883562d
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 2 directories and 3 entries processed
xfsrestore: directory post-processing
xfsrestore: restoring non-directory files
xfsrestore: restore complete: 0 seconds elapsed
xfsrestore: Restore Summary:
xfsrestore:   stream 0 /opt/dump_sdb1 OK (success)
xfsrestore: Restore Status: SUCCESS
[root@bogon date]#

实验总结

对创建好的文件系统要进行整个分区的备份,存放在足够的空间中。当该分区中的重要文件被误删后,可以利用备份分区,进行数据还原

四、分析日志文件

1.日志的功能

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

2.日志文件的分类及其说明

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

内核及系统日志

由系统服务rsyslog统一进行管理,日志格式基本相似
主配置文件/etc/rsyslog.conf

用户日志

记录系统用户登录及退出系统的相关信息

程序日志

由各种应用程序独立管理的日志文件,记录格式不统一

3.日志分类

日志种类位置功能描述
内核及公共消息日志/var/log/messages

记录Linux内核消息及各种应用程序的公共日志信息,包括启动、Io错误、网络错误、程序故障等

对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息

计划任务日志/var/log/cron记录与系统定时任务相关的曰志
系统引导日志/var/log/dmesg记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
邮件系统日志/var/log/maillog记录邮件信息的曰志
用户验证授权日志/var/log/secure记录验证和授权方面的倍息,只要涉及账户和密码的程序都会记录。比如系统的登录、ssh的登录、su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
用户登录日志/var/log/lastlog记录系统中所有用户最后一次的登录时间的曰志。这个文件是二进制文件.不能直接用 vi 查看,而要使用 lastlog 命令查看
用户登录注销和系统开机相关日志/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样,这个文件也是二进制文件,不能直接用 vi 查看,而要使用 last 命令查看
当前登录用户信息日志/var/run/utmp

记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用 vi 查看,而要使用w、who、users等命令查看

more  /var/log/messages    //以查看message目录为例子

内核及系统日志文件中的每一行表示一条信息,每个信息由4个字段的固定格式组成:

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

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

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

消息:消息的具体内容

4.日志主要配置文件

设备字段说明
auth用户认证时产生的日志
authprivssh、ftp等登录信息的验证信息
daemon一些守护进程产生的日志
ftpFTP产生的日志
ftpFTP产生的日志
markrsyslog服务内部的信息,时间标识
news网络新闻传输协议(nntp)产生的消息
syslog系统日志
uucpUnix-to-Unix Copy 两个unix之间的相关通信
console针对系统控制台的消息
cron系统执行定时任务产生的日志
kern系统内核日志
local0~local7自定义程序使用
mail邮件日志
user用户进程
日志消息的级别
优先级信息名称解释
0EMERG(紧急)会导致主机系统不可用的情况。如系统崩溃
1ALERT(警告)必须马上采取措施解决的问题。如数据库被破坏
2CRIT(严重)比较严重的情况。如硬盘错误,可能会阻碍程序的部分功能
3ERR(错误)运行出现错误。不是非常紧急,尽快修复的
4WARNING(提醒)可能影响系统功能,需要提醒用户的重要事件。不是错误,如磁盘用了85%等
5NOTICE(注意)不会影响正常功能,但是需要注意的事件。无需处理
6INFO(信息)一般信息。正常的系统信息
7DEBUG(调试)程序或系统调试信息等。包含详细开发的信息,调试程序时使用
none没有优先级,不记录任何日志消息

注:数字等级越小,日志级别越高,日志事件越重要

5.日志分析

1)用户日志分析

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

/var/log/lastlog::最近的用户登录事件

/var/log/wtmp:用户登录、注销及系统开、关机事件

/var/run/utmp:当前登录的每个用户的详细信息

/var/log/secure:与用户验证相关的安全性事件

 分析工具

users   查看当前用户名称
who     查看当前登录的用户、终端、登录时间、IP地址。
 W       查看当前登录的用户、终端、IP地址、登录时间、占用CPU的情况、进程等。
last      命令用于查询成功登录到系统的用户记录
lastb    命令用于查询登录失败的用户记录

2)程序日志分析

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

Web服务:/var/log/httpd/

        access log        //记录客户访问事件

        error log        //记录错误事件

代理服务:/var/log/squid/*access.log、cache.log
分析工具
文本查看、grep过滤检索、Webmin管理套件中查看

awk、sed等文本过滤、格式化编辑工具

Webalizer、Awstats等专用日志分析工具

6.Linux系统日志管理

journalctl 日志管理工具

日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从messages这个文件里读取信息。 Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。 日志的配置文件是/etc/systemd/journald.conf

#查看所有日志(默认情况下,只保存本次启动的日志)
journalctl
journalctl -r                #-r表示倒序,从尾部看(推荐)

#查看内核日志(不显示应用日志)
journalctl -k

#查看系统本次启动的日志    
journalctl -b  [-0]

#查看上一次启动的日志(需更改设置,如上次系统崩溃,需要查看日志时,就要看上一次的启动日志)
journalctl -b -1

#显示尾部指定行数的日志
查看的是/var/log/messages的日志,但是格式上有所调整,如主机名格式不一样而已
journalctl -n 20 [-f]

#查看某个服务的日志
journalctl -u nginx.service [-f]

#查看指定进程的日志
journalctl _PID=1

#查看指定用户的日志
journalctl _UID=0  --since today

journalctl -xe
# -x 是目录(catalog)的意思,在报错的信息下会,附加解决问题的网址
#-e  pager-end 从末尾开始看    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980986.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

通信场景:动态调整对象池大小

通信场景:动态调整对象池大小 文章目录 通信场景:动态调整对象池大小前言历史通信量队列长度系统资源响应时间结语 前言 在做通信相关的开发时,使用对象池管理用于存放接收数据的内存块,是一种常见的优化技术。特别是在需要频繁分…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的,所以被引用的对象A,就在GC Root的引用链上了。只要这一层关系存在,对象A就不会被垃圾回收器回收。所以只要…

洛基计划project loki加速器推荐 免费低延迟联机加速器分享

洛基计划project loki加速器推荐 免费低延迟联机加速器分享 《洛基计划》是一款团队PVP游戏,融合有动作、英雄设计、大逃杀等元素,由前拳头游戏、Bungie和暴雪娱乐员工创立的新工作室Theorycraft Games共同发布。《洛基计划》汇集了一些大型团队PVP游戏…

原生js实现一个简化版的h函数

原生js实现一个简化版的h函数 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title&…

轻量和ECS对比:阿里云轻量应用服务器和云服务器有啥区别?

阿里云轻量应用服务器和云服务器ECS区别对照表&#xff0c;一看就懂的适用人群、使用场景、优缺点、使用限制、计费方式、网路和镜像系统全方位对比&#xff0c;阿里云服务器网aliyunfuwuqi.com整理ECS和轻量应用服务器区别对照表&#xff0c;可以在阿里云CLUB中心领取 aliyun.…

HTML5+CSS3小实例:炫彩荧光线条登录框

实例:炫彩荧光线条登录框 技术栈:HTML+CSS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-sca…

OpenTelemetry-2.Go接入Jaeger(grpc,gin-http)

目录 1.什么是OpenTelemetry 2.搭建jaeger 3.链路追踪 本地调用 远程调用 GRPC proto server端 client端 Gin-HTTP 调用流程 api1 api2 grpc 4.完整代码 1.什么是OpenTelemetry 参考&#xff1a;OpenTelemetry-1.介绍-CSDN博客 2.搭建jaeger 参考&#xff1a;…

第100+6步 ChatGPT文献复现:ARIMAX预测新冠

基于WIN10的64位系统演示 一、写在前面 我们继续来解读ARIMAX模型文章&#xff0c;这一轮带来的是&#xff1a; 《PLoS One》杂志的2022年一篇题目为《A data-driven eXtreme gradient boosting machine learning model to predict COVID-19 transmission with meteorologic…

Android视角看鸿蒙第十二课-鸿蒙的布局之相对布局RelativeContainer

Android视角看鸿蒙第十二课-鸿蒙的布局之相对布局RelativeContainer 导读 相对布局和线性、层叠布局一样都是类似于Android布局的&#xff0c;之前两篇文章已经了解线性、层叠布局的使用方法&#xff0c;这篇文章一起来学习下鸿蒙中的相对布局。 之前的文章中&#xff0c;我偶…

【驱动】AM437x中出现很多bioset进程,杀不掉,有影响吗?

1、问题描述 查看linux系统进程时,发现很多bioset进程 2、问题分析 1)bioset进程是内核线程 这些bioset进程与Linux内核的块I/O(Block Input/Output)层有关,它们是内核线程,不是用户空间的进程。 Linux的块I/O层负责管理磁盘和其他块设备的数据传输。当系统读写磁盘…

【python程序打包教程】PyInstaller一键打包Python程序为独立可执行exe文件

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

AI大模型探索之路-认知篇4:大语言模型预训练基础认知

文章目录 前言一、预训练流程分析二、预训练两大挑战三、预训练网络通信四、预训练数据并行五、预训练模型并行六、预训练3D并行七、预训练代码示例总结 前言 在人工智能的宏伟蓝图中&#xff0c;大语言模型&#xff08;LLM&#xff09;的预训练是构筑智慧之塔的基石。预训练过…

嵌入式s5p5818核心板介绍

底板寻址空间介绍 s5p6818 寻址空间采用统一编址方式进行管理 寻址空间映射图&#xff1a; 独立寻址&#xff1a;片内片外存储器只能选择其中一个 统一寻址&#xff1a;片内片外存储器都能使用&#xff0c;且使用的是同一片连续的寻址空间 reserved保留&#xff0c;Normaol …

Ubuntu20.04安装redis5.0.7

redis下载命令&#xff1a; wget https://download.redis.io/releases/redis-5.0.7.tar.gz 解压到 opt目录下 tar -zxvf redis-5.0.7.tar.gz -C /opt apt install -y gcc # 安装gccapt install make # 安装make 后面执行make一直报错 make报错后清除&#xff1a; make …

【03-掌握Scikit-learn:深入机器学习的实用技术】

文章目录 前言数据预处理缺失值处理数据缩放特征选择模型训练参数调整模型评估总结前言 经过了对Python和Scikit-learn的基础安装及简单应用,我们现在将更深入地探究Scikit-learn的实用技术,以进一步提升我们的数据科学技能。在本文中,我们将涵盖数据预处理、特征选择、模型…

WebSocket的原理、作用、常见注解和生命周期的简单介绍,附带SpringBoot示例

文章目录 WebSocket是什么WebSocket的原理WebSocket的作用全双工和半双工客户端【浏览器】API服务端 【Java】APIWebSocket的生命周期WebSocket的常见注解SpringBoot简单代码示例 WebSocket是什么 WebSocket是一种 通信协议 &#xff0c;它在 客户端和服务器之间建立了一个双向…

Vue3中使用无缝滚动插件vue3-seamless-scroll

官网&#xff1a;https://www.npmjs.com/package/vue-seamless-scroll 1、实现效果文字描述&#xff1a; 表格中的列数据进行横向无缝滚动&#xff0c;某一列进行筛选的时候&#xff0c;重新请求后端的数据&#xff0c;进行刷新 2、安装&#xff1a;npm i vue3-seamless-scrol…

Git和Github绑定

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

基于RT-Thread的智能家居助手

一、项目简介 智能家居助手主要基于RT-Thread开发的&#xff0c;该系统主要分为语音子系统&#xff0c;环境监测子系统&#xff0c;智能控制子系统&#xff0c;智能网关子系统&#xff0c;音乐播放器&#xff0c;云端以及应用软件七大部分。语音子系统可通过语音进行人机交互来…

SMT工艺上出现焊锡球,将有什么影响?

在表面贴装技术&#xff08;SMT&#xff09;加工过程中&#xff0c;可能会出现焊锡球形成的问题&#xff0c;焊锡球的存在不仅影响产品的外观质量&#xff0c;还可能导致电路短路&#xff0c;从而影响产品性能和可靠性&#xff0c;所以必须提前了解焊锡球的形成原因&#xff0c…