Linux(文件系统和日志分析)

目录

1.inode & block​编辑

1.1 inode的内容 

1.3  inode的号码

 1.4  inode的大小

 1.5  inode的特殊作用

1.6 模拟inode号被占满 

2. 链接文件 

3.文件恢复

3.1 修复EXT类型的文件

3.1.1 EXT类型文件恢复步骤 

 3.2 修复XFS类型的文件


1.inode & block

1.1 inode的内容 

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

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

[root@localhost ~]# df -i
文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点
devtmpfs                  478387     382   478005       1% /dev
tmpfs                     482656       1   482655       1% /dev/shm
tmpfs                     482656    1414   481242       1% /run
tmpfs                     482656      16   482640       1% /sys/fs/cgroup
/dev/mapper/centos-root 18610176  159957 18450219       1% /
/dev/sda1                 262144     341   261803       1% /boot
tmpfs                     482656       9   482647       1% /run/user/42
tmpfs                     482656       1   482655       1% /run/user/0

 ctime(change time):更新文件的属性或者权限的时间

[root@localhost ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:2051      	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:67145282    硬链接:1
权限:(0777/-rwxrwxrwx)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2024-04-03 01:07:12.852859681 +0800
最近更改:2024-04-03 00:53:25.761942715 +0800
最近改动:2024-04-27 19:37:48.848692856 +0800
创建时间:-

mtime(modify time) :更新修改文件的内容数据的时间

 注意:如果更改内容从而更改了文件大小,ctime也会发生改变。文件大小也属于文件的属性。

[root@localhost ~]# echo 123 >> anaconda-ks.cfg
[root@localhost ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:2055      	块:8          IO 块:4096   普通文件
设备:fd00h/64768d	Inode:67145282    硬链接:1
权限:(0777/-rwxrwxrwx)  Uid:(    0/    root)   Gid:(    0/    root)
环境:system_u:object_r:admin_home_t:s0
最近访问:2024-04-03 01:07:12.852859681 +0800
最近更改:2024-04-27 19:44:01.011677712 +0800
最近改动:2024-04-27 19:44:01.011677712 +0800
创建时间:-

atime(accesstime):更新使用文件的时间

 

1.3  inode的号码

 ls -i [文件名]:查看指定文件的inode号

[root@localhost ~]# ls -i abc.txt
67384763 abc.txt

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

 1.4  inode的大小

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

[root@localhost ~]# df -i
文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点
devtmpfs                  478387     382   478005       1% /dev
tmpfs                     482656       1   482655       1% /dev/shm
tmpfs                     482656    1414   481242       1% /run
tmpfs                     482656      16   482640       1% /sys/fs/cgroup
/dev/mapper/centos-root 18610176  159957 18450219       1% /
/dev/sda1                 262144     341   261803       1% /boot
tmpfs                     482656       9   482647       1% /run/user/42
tmpfs                     482656       1   482655       1% /run/user/0

注意:新挂载的磁盘显示使用一部分,其实就是inode号所消耗的 

 1.5  inode的特殊作用

 

  find ./ -inum 67384746 -exec rm -rf {} \;    根据inode来查找指定文件并删除

同样适用于删除含特殊符号的文件 

[root@localhost ~]# ls -i
 67384746 *123456               102613872 公共      82459 文档
 67384763 abc.txt                67145319 模板   33575890 下载
 67145282 anaconda-ks.cfg       102613873 视频   33575891 音乐
 67163917 initial-setup-ks.cfg   67145320 图片      82458 桌面
[root@localhost ~]# find ./ -inum 67384746 -exec rm -rf {} \;
[root@localhost ~]# 

 find ./ -inum 67384746 | xargs rm -f  通过find查找出文件后,通过xargs查找出参数再给rm -f删除

[root@localhost ~]# ls -i
 67384763 abc.txt               102613872 公共   67145320 图片   67384746 *小学生
 67145282 anaconda-ks.cfg        67145319 模板      82459 文档   33575891 音乐
 67163917 initial-setup-ks.cfg  102613873 视频   33575890 下载      82458 桌面
[root@localhost ~]# find ./ -inum 67384746 | xargs rm -f

 移动或重命名文件时,只改变文件名,不影响inode号码,实例如下所示

[root@localhost opt]# ls -i
67384746 abc.txt  35302174 rh
[root@localhost opt]# mv abc.txt 123.txt
[root@localhost opt]# ls -i
67384746 123.txt  35302174 rh

修改文件的内容,inode号不会发生改变,如果使用vim编辑器更改文件内容,inode会发生改变

[root@localhost opt]# ls -i
67384746 123.txt  35302174 rh
[root@localhost opt]# echo 小学生 > 123.txt
[root@localhost opt]# cat 123.txt
小学生
[root@localhost opt]# ls -i
67384746 123.txt  35302174 rh
[root@localhost opt]# vim 123.txt
[root@localhost opt]# ls -i
67384774 123.txt  35302174 rh

1.6 模拟inode号被占满 

模拟硬盘容量还有使用空间,但是文件inode号被占满的情况 

[root@localhost xy101]# cd /root/xy101
[root@localhost xy101]# touch file{1..2549} #一条命令创建2549个文件的方式一
[root@localhost xy101]# echo > 123 123.txt
-bash: 123: 设备上没有空间
[root@localhost xy101]# df -i
文件系统                   Inode 已用(I)  可用(I) 已用(I)% 挂载点
devtmpfs                  478387     404   477983       1% /dev
tmpfs                     482656       1   482655       1% /dev/shm
tmpfs                     482656    1433   481223       1% /run
tmpfs                     482656      16   482640       1% /sys/fs/cgroup
/dev/mapper/centos-root 18610176  162372 18447804       1% /
/dev/sda1                 262144     341   261803       1% /boot
tmpfs                     482656       9   482647       1% /run/user/42
tmpfs                     482656       1   482655       1% /run/user/0
/dev/sdc1                   2560    2560        0     100% /root/xy101 #可以看到此时/dev/sdc1分区设备中的可用inode号为

磁盘有空间,但是仍然无法写入新文件的可能原因如下所示:

(1)inode号被占满;

(2)磁盘出现问题的情况又分为:磁盘坏道和文件系统出现问题;

  • 磁盘坏道可以用badblocks命令查询:badblocks -v /dev/sda1 > ~/result.txt &
[root@localhost xy101]# badblocks -v /dev/sdb1 > ~/result.txt &  因为硬盘检测需要很长时间,所以在 badblocks 命令之后需要加 & 让进程在后台处理,最后将操作结果重定输出到根目录下的result.txt 文件中
[1] 2363
[root@localhost xy101]# 正在检查从 0 到 20970495的块
Checking for bad blocks (read-only test): 

2. 链接文件 

链接格式

硬链接

ln 源文件 目标位置

 软链接

ln -s 源文件或目录… 链接文件或目标位置

 

3.文件恢复

3.1 修复EXT类型的文件

   

注意:extundelete工具目前只能恢复ext类型的文件; 

3.1.1 EXT类型文件恢复步骤 

 插入两块新硬盘

(1)使用fdisk创建分区/dev/sdb1,格式化ext3文件系统;

[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xeffb4bef 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):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@localhost ~]# echo 'n    #此处面交互操作分区
> p
> 1
> 
> w' fdisk /dev/sdc
[root@localhost ~]# fdisk -l

磁盘 /dev/sda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x0000c682

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     1050623      524288   83  Linux
/dev/sda2         1050624    83886079    41417728   8e  Linux LVM

磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xeffb4bef

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048    41943039    20970496   83  Linux
[root@localhost ~]# mkfs -t ext3 /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
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=4294967296
160 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, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   

[root@localhost ~]# mkdir /xy101
[root@localhost ~]# mount /dev/sdb1 /xy101/
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
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  5.2G   31G   15% /
/dev/sda1               xfs       509M  181M  329M   36% /boot
tmpfs                   tmpfs     378M   12K  378M    1% /run/user/42
tmpfs                   tmpfs     378M     0  378M    0% /run/user/0
/dev/sdb1               ext3       20G   45M   19G    1% /xy101
[root@localhost ~]# 

(2)安装依赖包

[root@localhost ~/extundelete-0.2.4]# yum -y install e2fsprogs-devel e2fsprogs-libs
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
file:///mnt/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/repodata/repomd.xml"
正在尝试其它镜像。
软件包 e2fsprogs-libs-1.42.9-19.el7.x86_64 已安装并且是最新版本

   作为依赖被安装:
  libcom_err-devel.x86_64 0:1.42.9-19.el7    

(3)编译安装extundelete

[root@localhost ~]# rz -E  #将windows系统的文件加载到虚拟机中
[root@localhost yum.repos.d]# cd /opt
[root@localhost opt]# ls
extundelete-0.2.4.tar.bz2  john-1.8.0  john-1.8.0.tar.gz  rh
[root@localhost opt]# tar xf extundelete-0.2.4.tar.bz2
[root@localhost opt]# ls
extundelete-0.2.4  extundelete-0.2.4.tar.bz2  john-1.8.0  john-1.8.0.tar.gz  rh
[root@localhost opt]# cd extundelete-0.2.4/
[root@localhost extundelete-0.2.4]# ls
acinclude.m4  autogen.sh   configure     depcomp     LICENSE      Makefile.in  README
aclocal.m4    config.h.in  configure.ac  install-sh  Makefile.am  missing      src


[root@localhost ~/extundelete-0.2.4]# ./configure --prefix=/usr/local/extundelete && make && make install  #将extundelete工具安装到指定路径/usr/local/extundelete中,并进行编译和安装
Configuring extundelete 0.2.4
Writing generated files to disk
make -s all-recursive
Making all in src
Making install in src
  /usr/bin/install -c extundelete '/usr/local/extundelete/bin'
[root@localhost ~/extundelete-0.2.4]# cd /usr/local/extundelete/bin/  #切换到/usr/local/extundelete/bin目录下

[root@localhost /usr/local/extundelete/bin]# ls
extundelete
[root@localhost /usr/local/extundelete/bin]# ex  #由于/usr/local/extundelete/bin/extundelete这个安装路径是自定义的,系统无法识别
ex        exec      exempi    exit      expand    export    exportfs  expr      
[root@localhost /usr/local/extundelete/bin]# ln -s /usr/local/extundelete/bin/extundelete /usr/local/bin/  #创建软链接使/usr/local/bin/系统默认安装路径指向自定义安装路径 /usr/local/extundelete/bin/extundelete

(4)查看指定分区设备/dev/sdb1中,存在那些文件 

[root@localhost /usr/local/extundelete/bin]# cd /data/  #切换到/data/目录下
[root@localhost /data]# ls
lost+found
[root@localhost /data]# echo a > a
[root@localhost /data]# echo b > b
[root@localhost /data]# echo c > c
[root@localhost /data]# echo d >d
[root@localhost /data]# mkdir 123
[root@localhost /data]# echo helloworld > 123/abc123.txt  #将helloworld写入到123/abc123.txt文件中
[root@localhost /data]# extundelete /dev/sdd1 --inode 2

 (5)模拟删除并执行恢复操作

[root@localhost /data]# rm -rf c d 123   #删除文件c d 123
[root@localhost /data]# ls
a  b  lost+found
[root@localhost /data]# cd 
[root@localhost ~]# umount /data/  #首先解挂载,防止数据写入
[root@localhost ~]# df -hT
文件系统       类型      容量  已用  可用 已用% 挂载点
devtmpfs       devtmpfs  2.0G     0  2.0G    0% /dev
tmpfs          tmpfs     394M     0  394M    0% /run/user/0
/dev/sdb1      xfs        20G   33M   20G    1% /root/data
[root@localhost ~]# extundelete /dev/sdb1 --inode 2
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 160 groups loaded.
Group: 0
Contents of inode 2:
0000 | ed 41 00 00 00 10 00 00 8b 62 3a 64 88 62 3a 64 | .A.......b:d.b:d
0010 | 88 62 3a 64 00 00 00 00 00 00 03 00 08 00 00 00 | .b:d............
File name                                       | Inode number | Deleted status
.                                                 2
..                                                2
lost+found                                        11
a                                                 12
b                                                 13
c                                                 14             Deleted
d                                                 15             Deleted
123                                               475137         Deleted

[root@localhost ~]# extundelete /dev/sdb1 --restore-all   #恢复指定分区/dev/sdb1中删除的文件
NOTICE: Extended attributes are not restored.
0 recoverable inodes still lost.
[root@localhost ~]# ls
abc              extundelete-0.2.4          passwd           公共  图片  音乐
anaconda-ks.cfg  extundelete-0.2.4.tar.bz2  RECOVERED_FILES #在当前目录下生成的RECOVERED_FILES/目录,里面保存了已经恢复的文件  模板  文档  桌面
data             initial-setup-ks.cfg       result.txt       视频  下载
[root@localhost ~]# cd RECOVERED_FILES/  #切换到RECOVERED_FILES/ 目录下,查看已经恢复的文件
[root@localhost ~/RECOVERED_FILES]# ls
123  c  d
[root@localhost ~/RECOVERED_FILES]# cat d
d
[root@localhost ~/RECOVERED_FILES]# cat 123/abc123.txt
helloworld

 3.2 修复XFS类型的文件

xfsdump使用限制 

 

 3.2.1 文件XFS类型文件恢复步骤

(1)使用fdisk创建分区/dev/sdc2,格式化xfs文件系统 

[root@localhost ~]# fdisk /dev/sdc #创建新分区sdc2
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): 
Using default response p
分区号 (2-4,默认 2):
起始 扇区 (22528-41943039,默认为 22528):
将使用默认值 22528
Last 扇区, +扇区 or +size{K,M,G} (22528-41943039,默认为 41943039):
将使用默认值 41943039
分区 2 已设置为 Linux 类型,大小设为 20 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。
[root@localhost ~]# mkfs -t xfs /dev/sdc2
meta-data=/dev/sdc2              isize=512    agcount=4, agsize=1310016 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5240064, 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@localhost ~]# cd
[root@localhost ~]# mount /root/xy101   #挂载到xy101
mount: /dev/sdc1 已经挂载或 /root/xy101 忙
       /dev/sdc1 已经挂载到 /root/xy101 上
[root@localhost ~]# cp -a * /xy101/   #把所有数据复制到xy101
[root@localhost ~]# cd /xy101/ 
[root@localhost xy101]# ls
abc.txt          initial-setup-ks.cfg  xy10   公共  视频  文档  音乐
anaconda-ks.cfg  result.txt            xy101  模板  图片  下载  桌面

(2)使用xfsdump 命令备份整个分区

[root@localhost xy101]# xfsdump -f /opt/dump_sdc2 /dev/sdc2 -L /xy101 -M sdc2
#将分区设备/dev/sdc2下的文件备份到/opt/dump_sdc2目录中(添加-L打上备份标签和-M设备标签选项,可以避免交互式输入)
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.7 (dump format 3.0) - type ^C for status and control
xfsdump: level 0 dump of localhost.localdomain:/xy101
xfsdump: dump date: Sun Apr 28 21:01:28 2024
xfsdump: session id: 5bd00820-e86e-4814-a4f2-b570ae02e9a3
xfsdump: session label: "/xy101"
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: 37568 bytes

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

[root@localhost xy101]# cd /opt/
[root@localhost opt]# umount /xy101 #模拟前先解除挂载
[root@localhost opt]# mkfs.xfs -f /dev/sdc2 #进行强制格式化
meta-data=/dev/sdc2              isize=512    agcount=4, agsize=1310016 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=5240064, 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@localhost opt]# mount /dev/sdc2 /xy101/ #重新进行挂载
[root@localhost opt]# cd /xy101/
[root@localhost xy101]# xfsrestore -f /opt/dump_sdc2 /xy101  #将/opt/目录下的备份文件/opt/dump_sdc2恢复到指定路径/xy101/目录下
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: localhost.localdomain
xfsrestore: mount point: /xy101
xfsrestore: volume: /dev/sdc2
xfsrestore: session time: Sun Apr 28 21:01:28 2024
xfsrestore: level: 0
xfsrestore: session label: "/xy101"
xfsrestore: media label: "sdc2"
xfsrestore: file system id: 91afa5bb-b640-48c0-9055-705cab0b1dd6
xfsrestore: session id: 5bd00820-e86e-4814-a4f2-b570ae02e9a3
xfsrestore: media id: daa75800-6278-4638-a222-339b259d3ba9
xfsrestore: using online session inventory
xfsrestore: searching media for directory dump
xfsrestore: reading directories
xfsrestore: 11 directories and 14 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_sdc2 OK (success)
xfsrestore: Restore Status: SUCCESS

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法应用实例:最大子列和问题

给定N个整数的序列{A1,A2,……AN},求函数的最大值。 分析:求该序列中最大的连续子列和,若函数最后为负数,返回0作为程序结束。 1.算法1 /*命名为MaxSubseqSum1,A[]:输入整数序列,N:整数序列里面…

7-29 删除字符串中的子串

题目链接:7-29 删除字符串中的子串 一. 题目 1. 题目 2. 输入输出样例 3. 限制 二、代码(python) 1. 代码实现 str1 input().split(\n)[0] str2 input().split(\n)[0] while str2 in str1:str1 str1.replace(str2, "") // 删…

第4篇:创建Nios II工程之Hello_World<三>

Q:接着我们再来完成Nios II软件工程设计部分。 A:从Quartus Tools选择Nios II Software Build Tools for Eclipse,打开Nios II SBT软件,Workspace指定到hello_world工程的software文件夹路径;再从File-->New-->…

使用STM32CubeMX对STM32F4的CAN1/2/3配置及接收中断开启

目录 1. CAN配置1.1引脚(STM32F413VGT6-LQFP100)1.2 时钟1.3 RCC配置1.4 CAN1配置1.5 CAN2配置1.6 CAN3配置1.7 输出设置 2. CAN代码2.1 CAN初始化2.2 CAN滤波器设置2.3 CAN使能2.4 激活中断2.5 CAN发送函数2.6 CAN回调函数2.7 main之后的代码 1. CAN配置…

数据分析:生存分析原理和应用实例

介绍 生存分析的目的是分析某个时间点的“生存概率”是多少。基于这样的研究目的,需要提供生存数据,它是一种由不同的开始时间和结束时间组成的事件-时间的数据,比如在癌症研究领域,研究手术到死亡的过程、治疗到疾病进展等等。 在开展生存分析前,需要了解什么是删失(c…

二维码门楼牌管理应用平台建设:隐患统计与智能管理

文章目录 前言一、二维码门楼牌管理应用平台概述二、隐患统计功能的重要性三、隐患统计的实现方式四、隐患统计的实践应用五、面临的挑战与未来发展 前言 随着城市管理的不断升级,二维码门楼牌管理应用平台已成为现代城市管理的重要工具。该平台通过集成先进的信息…

WCH RISC CH32V303RCT6 单片机的SDI Printf 虚拟串口功能 类似SEGGER RTT打印功能 简单分析

参考: 有关于 SDI printf 更多的信息和资料吗? 关于 CH32 系列 MCU SDI 虚拟串口功能的使用 【CH32X035 评估板测评】 教你使用 SDI 接口重定向 printf SDI (Serial Data Interface) 是沁恒微电子 RISC-V 内核的私有外设接口,CH32 RISC-V 系列目前提供了…

PDCA循环:持续精进的工具

文章目录 一、什么是PDCA二、PDCA的应用场景三、PDCA在信息系统项目管理中的应用 一、什么是PDCA PDCA循环是由美国质量管理专家沃特阿曼德休哈特(Walter A. Shewhart)在20世纪30年代提出的,最初用于制造业的质量管理。休哈特博士在构想PDCA…

二极管钳位型三电平SVPWM(羊角波)闭环系统simulink建模与仿真

整理了二极管钳位型三电平SVPWM(羊角波)闭环系统simulink建模与仿真模型,附赠参考资料。 在二极管钳位型三电平SVPWM中,通过控制逆变器的开关器件(IGBT)的导通和关断,将输入的直流电压转换为三…

知网怎么查重 知网查重的详细步骤

知网查重八个步骤:1. 访问官网,注册账号。2. 上传待查文档。3. 选择查重规则。4. 选择相似来源库。5. 提交查重任务。6. 等待查重结果。7. 获取查重报告。8. 下载查重报告。 知网查重的详细步骤 第一步:进入知网查重系统 打开浏览器&#x…

怎样将便签软件搬家?便签迁移攻略

便签软件已成为我们日常生活中不可或缺的记录工具。无论是重要的工作内容,还是琐碎的生活事务,我们都会在便签中一一记下。然而,当我们需要更换电脑或其他设备时,如何将这些珍贵的便签内容迁移到新设备上,成为了许多人…

2024全国大学生高新技术竞赛——算法智星挑战赛 解题报告(流水账版) | 珂学家

前言 评价 因为第一届的缘故吧,导致这场比赛异常的简单。所以不太好评价这块。 怎么说呢? 体验有点差 题目难度没有区分度有两题还存在SPJ判定问题,导致赛时没一人过。 题目分布,简单题占大部分,中等级占一小部分&…

Ubuntu查看端口状态

完蛋了,好像动心了,近一周吃啥东西都索然无味,这可如何是好!!!不知道在期待什么,恐惧与窃喜—— 在Ubuntu系统中,查看某个端口是否被放行(即允许流量通过)&am…

【JAVA进阶篇教学】第六篇:Java线程中状态

博主打算从0-1讲解下java进阶篇教学,今天教学第六篇:Java线程中状态。 理解并掌握线程的休眠、停止和挂起等操作是多线程编程中的重要内容。下面我将详细说明这些操作,并提供相应的代码案例。 目录 一、线程休眠(Thread Slee…

一个早安寄语打卡的小程序技术分享

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 1.早起打卡还能赚钱? 是的,你没有听错,最近发现了个非常有意思的小程序,主要是让用户早起早睡,然后每天进行打卡操作的。 当然&…

【KG+RAG 论文】医学知识图谱检索增强 LLM 的框架 —— KG-RAG

论文:Biomedical knowledge graph-enhanced prompt generation for large language models ⭐⭐⭐ Code:github.com/BaranziniLab/KG_RAG 文章目录 论文速读模型效果总结 论文速读 这篇论文提出了 KG-RAG 的框架,使用医学知识图谱&#xff0…

黑马面试篇

课程地址:新版Java面试专题视频教程,java八股文面试全套真题深度详解(含大厂高频面试真题)_哔哩哔哩_bilibili 课程名称:新版Java面试专题视频教程,java八股文面试全套真题深度详解(含大厂高频…

【Protobuf】protobuf详细介绍

protobuf详细介绍 一、前言二、Protobuf简介2.1、核心思想2.2、Protobuf是如何工作的?2.3、如何使用 Protoc 生成代码?2.4 入门命令 一、前言 在以往的项目中进行网络通信和数据交换的应用场景中,最经常使用的技术便是json或xml。随着JSON的…

用户中心 -- 插件使用 插件使用思路

易错注意点 1 5.1启动类 & 入口类 需保持一致 网址: 第一节课,用户管理--后端初始化,项目调通。二次翻工2-CSDN博客 一、 用户管理 框架 网址: 用户管理 --汇总 -- 明细-CSDN博客 1.2 更改路径,并生效 网址…

盘点那些你不知道的“痛”,柯桥俄语培训

首先我们来看一下болеть的五大含义: ①(чем 及无补语) 生病,患病 例: болеть тифом 害伤寒病 болеть воспалением лёгких 得肺炎 ②[只用第3人称] болит,болят 疼痛 例&am…
最新文章