文件系统与日志分析

news2024/11/5 15:21:09

一,文件系统

(一)inode  和block概述

1,文件数据包括元信息与实际数据
2,文件存储在硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节

3,block (块)
连续的八个扇区组成一个 block

是文件存取的最小单位

4,inode (索引节点)
中文译名为“索引节点”,也叫i节点

用于存储文件元信息

5,注意:一个文件必须占用一个inode,但至少占用一个block

(二)inode包含文件的元信息

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

用stat命令可以查看某个文件的inode信息
示例: stat aa.txt

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

1,    ctime(change time)

最后一次改变文件或目录 (属性)的时间

2,   atime(access time)

最后一次访问文件或目录的时间

3,    mtime(modify time)

最后一次修改文件或目录 (内容) 的时间

最好用mtime 假如你看了一眼日志,日志的atime 就会变化 所以根据atime去找具体时间段的日志容易混淆,但是日志不会人为更改内容,mtime时间准确

(四)inode的内容

1,目录文件的结构

目录也是一种文件

目录文件的结构

2,每个inode都有一个号码,操作系统用inode号码来识别不同的文件
3,Linux系统内部不使用文件名,而使用inode号码来识
别文件
4,对于用户,文件名只是inode号码便于识别的别称

(五)inode的号码

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


1,系统找到这个文件名对应的inode号码
2,通过inode号码,获取inode信息,

3,根据inode信息,找到文件数据所在的block,读出数据

2,查看inode号码的方法

ls-i命令:查看文件名对应的inode号码

ls  -i  aa.txt

stat命令:查看文件inode  信息中的inode号码

stat   aa.txt

3,inode号有限,他的多少和磁盘大小有关

inode 号在同一块设备(磁盘,逻辑卷等)上是唯一的,不同设备有可能有一样

inode号有限,他的多少和磁盘大小有关

4,例题

问:我磁盘空间还剩余很多但是无法继续建立文件?

答:因为inode 号用完了,

       解决方法:
       如果是lvm 扩容

        如果是普通分区,删除没有用的空文件

(六)inode  的特殊作用

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


1,当文件名包含特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
2,移动或重命名文件时,只改变文件名,不影响inode号码

3,打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

删除文件后空间没变化
[root@localhost opt]#lsof |grep delete
..............................................
80 /boot/bigfile (deleted)


[root@localhost opt]#echo " " > /boot/bigfile

lsof 打开系统中已经被打开的文件

(七)在linux 使用文件过程

根据文件夹的文件名和inode 号的关系,找到对应的inode 表(属主 属组)再根据inode表中的指针找到磁盘上的真实数据

二,文件恢复extundelete(只能恢复ext3)

(一)实验环境

在编译安装 extundelete 之前需要先安装两个依赖包 e2fsprogs-libs 和 e2fsprogs-devel,

这两个包在系统安装光盘的/Package 目录下就有,使用 rpm 或 yum 命令将其安装。

e2fsprogs-devel 安装依赖于 libcom_err-devel 包

[root@localhost ~]#yum -y install e2fsprogs-devel e2fsprogs-libs
#安装依赖软件
[root@localhost ~]# tar -jxvf extundelete-0.2.4.tar.bz2 -C /opt
#解压软件
[root@localhost ~]# cd /opt/extundelete-0.2.4
#切换到目录下
[root@localhost extundelete-0.2.4]# ./configure  
#编译安装
[root@localhost extundelete-0.2.4]#make
[root@localhost extundelete-0.2.4]#make install
[root@localhost extundelete-0.2.4]#cd /usr/local/bin/
[root@localhost bin]#ls
extundelete  you-get


#验证恢复,目前使用版本只对ext3 有效,分区略
[root@localhost ~]# mkfs.ext3 /dev/sdb1
[root@localhost ~]# mkdir /test/ 
[root@localhost ~]# mount /dev/sdb1 /test/ 
[root@localhost ~]# cd /test/
[root@localhost test]# echo a>a 
[root@localhost test]# echo a>b 
[root@localhost test]# echo a>c 
[root@localhost test]# echo a>d

(二)模拟删除并恢复

可以使用extundelete /dev/sdb1 --inode 2

查看文件系统/dev/sdb1 下存在哪些文件,

具体的使用情况。其中--inode 2 代表从 i 节点为 2 的文件开始查看,一般文件系统格式化挂

载之后,i 节点是从 2 开始的,2 代表该文件系统最开始的目录。

在恢复前需要先解挂载

[root@localhost test]# rm -rf a b
#模拟删除
[root@localhost test]# ls c d lost+foun
[root@localhost test]# cd 
[root@localhost ~]# umount /test/
#解挂载
[root@localhost ~]#extundelete /dev/sdb1 --inode 2
#                  命令          查看的分区   从2节点开始
#查看该分区下的存在哪些文件

[root@localhost ~]# extundelete /dev/sdb1 --restore-all
#                     命令      需要恢复的分区设备    恢复选项,全都要
#使用恢复

执行完恢复的命令后,在当前目录下会出现一个/RECOVERED_FILES/目录,里面保

存了已经恢复的文件

[root@localhost ~]# ls
anaconda-ks.cfg extundelete-0.2.4 extundelete-0.2.4.tar.bz2 RECOVERED_FILES 
[root@localhost ~]# cd RECOVERED_FILES/
[root@localhost RECOVERED_FILES]# ls
a b 


ext3

三,xfs类型备份和恢复

CentOS 7 系统默认采用 xfs 类型的文件。针对 xfs 文件系统目前也没有比较成熟的文件恢复工具,所以建议提前做好数 据备份以避免数据丢失

(一)实验环境

xfs 类型的文件可使用 xfsdump 与 xfsrestore 工具进行备份恢复。

若系统中未安装 xfsdump与xfsrestore工具,可

以通过yum install -y xfsdump命令安装。

xfsdump 按照inode 顺序备份一个 xfs 文件系统。xfsdump 的备份级别有两种:

  • 0 表示完全备份

  • 1-9 表示增量 备份

  • xfsdump 的备份级别默认为 0

xfsdump 的命令格式为:

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

常用的备份参数包括以下几种:

  • -f:指定备份文件目录

  • -L:指定标签 session label

  • -M:指定设备标签 media label

  • -s:备份单个文件,-s 后面不能直接跟路径

使用 xfsdump 时,需要注意以下的几个限制:

  • 不支持没有挂载的文件系统备份,所以只能备份已挂载的;

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

  • 只能备份 XFS 文件系统;

  • 备份下来的数据只能让 xfsrestore 解析;

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

(二)具体过程

##########前期准备
[root@localhost opt]#mkfs.xfs -f /dev/sdb1
#-f强制格式化
[root@localhost ~]# fdisk /dev/sdb
#分区略
[root@localhost data]#partprobe /dev/sdb
#刷新分区
[root@localhost ~]# mkfs.xfs /dev/sdb1
#格式化
[root@localhost ~]# mkdir /date 
[root@localhost ~]# mount /dev/sdb1 /date/
#挂载
[root@localhost ~]# cd /date 
[root@localhost date]# cp /etc/passwd ./ 
#将passwd文件拷入
[root@localhost date]# mkdir test 
[root@localhost date]# touch test/a

############备份
[root@localhost data]#rpm -qa |grep xfsdump
#查看是否已安装
xfsdump-3.1.4-1.el7.x86_64
[root@localhost data]#yum install xfsdump -y
#未安装可以使用yum安装

[root@localhost ~]# xfsdump -f /opt/dump_sdb2        /dev/sdb2           [-L dump_sdb1 -M sdb1]
#                    命令   指定备份目录路径和文件名      分区                 打上标记 现在不打后面也要输入
#使用 xfsdump 命令备份整个分区  并打上标记


[root@localhost ~]#xfsdump -f /opt/dump_sdb2 /dev/sdb2
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control

 ============================= dump label dialog ==============================
please enter label for this dump session (timeout in 300 sec)
 -> dump_sdb2   (文件标签)
 
 
please enter label for media in drive 0 (timeout in 300 sec)
 -> sdb2(设备标签)
media label entered: "sdb2"

模拟数据丢失后恢复

[root@localhost data]#cd /data/
[root@localhost data]#rm -rf /*
[root@localhost data]#ls

#恢复
[root@localhost opt]#xfsrestore -f /opt/dump_sdb1 /data/
# 使用 bak文件 将数据恢复到 /data 下
[root@localhost opt]#ls /data/
passwd  test

[root@localhost opt]#xfsdump -l 1 -f /backup/dump_sdb1_level_1 /sdb1 -L dump_sdb1_level_1 -M sdb1
#设定级别

四,日志

/var/log

(一)日志功能

用于记录系统、程序运行中发生的各种事件

通过阅读日志,有助于诊断和解决系统故障

(二)常见的一些日志文件:

1,系统日志

/var/log/messages :系统中大部分的信息

/var/log/secure:系统安全日志,文本格式,应周期性分析

2,用户日志

/var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行查看

/var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看

 /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看

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

3,其余的一些日志

/var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化将不再记录专用命令dmesg查看,可持续记录硬件变化的情况

/var/log/boot.log 系统服务启动的相关信息,文本格式

/var/log/anaconda : anaconda的日志操作系统安装时安装的软件信息

/var/log/cron       计划任务日志

/var/log/maillog     邮件系统日志

(三)日志消息的级别

在 Linux 内核中,根据日志消息的重要程度不同,将其分为不同 的优先级别(数字等级越小,优先级越高,消息越重要)

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

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

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

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

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

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

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

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

(四)日志记录的一般格式

日志文件的格式包含以下 4 列:

  • 事件产生的时间。

  • 产生事件的服务器的主机名。

  • 产生事件的服务名或程序名。

  • 事件的具体信息。

(五)内核和公共日志

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

[root@localhost ~]#vim /etc/rsyslog.conf
#查看rsyslog.conf 配置文件
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
#表示所有info等级以上的所有等级的信息都写到对应的日志文件里
mail.none
#表示某事件的信息不写到日志文件里(这里比如是邮件)

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

内核及大多数系统消息被记录到公共日志文件/var/log/messages 中

而其他一些程序消息被记录到各自独立的日志文件中,此外日志消息还能够记录到特定的存储设备中,或者直接发送给指定用户。

对于 rsyslog 服务统一管理的大部分日志文件,使用的日志记录格式基本上是相同的。

以公共日志/var/log/messages 文件的记录格式为例,其中每一行表示一条日志消息,每一条消息均包括以下四个字段。

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

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

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

  • 消息:消息的具体内容。

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

1,users

users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。 如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数

[root@localhost log]#users
root

2,who

who命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可

以查看当前系统存在哪些不合法用户,从而对其进行审计和处理。who 的默认输出包括用

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

[root@localhost log]#who
root     pts/0        2021-09-20 20:12 (192.168.91.1)
root     pts/3        2021-09-20 13:09 (192.168.91.1)
zhangsan :0           2021-09-20 20:12 (:0

3,w

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

[root@localhost log]#w
 20:16:08 up  7:16,  3 users,  load average: 0.07, 0.06, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.91.1     20:12    4:00   0.06s  0.02s bash
root     pts/3    192.168.91.1     13:09    0.00s  0.96s  0.02s w
zhangsan :0       :0               20:12   ?xdm?   1:39   0.17s /usr/libexec/gnome-session-binary -

(七)查询用户登录的历史记录

1,last

last 命令用于查询成功登录到系统的用户记录,

最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,若发现未经授权的用户登录过,则表示当前 主机可能已被入侵。

[root@localhost log]#last
zhangsan :0           :0               Mon Sep 20 20:12   still logged in   
root     pts/0        192.168.91.1     Mon Sep 20 20:12   still logged in   
root     pts/0        192.168.91.1     Mon Sep 20 19:48 - 20:10  (00:22)    
root     pts/3        192.168.91.1     Mon Sep 20 13:09   still logged in   
root     pts/2        192.168.91.1     Tue Sep 14 17:42 - 15:09 (5+21:27)  

2    lastb 

lastb 命令用于查询登录失败的用户记录,

如登录的用户名错误、密码不正确等情况都 将记录在案。登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,也可以直接从安全日志文件/var/log/secure 中获得相关信息。

[root@localhost log]#lastb
btmp begins Mon Sep 20 14:33:01 2021

 

(八)日志管理策略

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

五,日志服务管理

(一)rsyslog 系统日志服务

rsyslog 系统日志服务软件      帮助管理日志

rsyslog是CentOS 6以后版本的系统管理服务:它提供了高性能,出色的安全性和模块化设计。尽管rsyslog最初是常规的syslogd,但发展成为一种瑞士军刀式的记录工具,能够接受来自各种来源的输入,并将其转换,然后输出到不同的目的地。

当应用有限的处理时,RSYSLOG每秒可以将超过一百万的消息传递到本地目的地。即使在远程的目的地和更精细的处理中,性能通常也被认为是惊人的”。

(二)rsyslog 特性

  • 多线程

  • UDP, TCP, SSL, TLS, RELP

  • MySQL, PGSQL, Oracle实现日志存储

  • 强大的过滤器,可实现过滤记录日志信息中任意部分

  • 自定义输出格式 可以日志

  • 适用于企业级

(三)ELK 日志收集

ELK:由Elasticsearch, Logstash, Kibana三个软件组成

  • 非关系型分布式数据库基于apache软件基金会jakarta项目组的项目lucene

  • Elasticsearch是个开源分布式搜索引擎,可以处理大规模日志数据,比如:Nginx、Tomcat、系统日志等功能

  • Logstash对日志进行收集、分析,过滤,并将其存储供以后使用

  • Kibana 可以提供的日志分析友好的 Web 界面

  • kafka消息队列

(四)rsyslog

1,查看rsyslog   的配置文件

 2,实验模拟通过 rsyslog 软件将sshd程序的日志 独立出来

sshd 软件的 日志 是放在 /var/log/secure 日志中,很多其他软件 放在一起和这个软件比较重要,所以我们要把 sshd 软件的日志单独存放。

2.1  自定义一个日志配置文件

2.2  看sshd的配置文件

软件名为openssh-server 

rpm -qc openssh-server 

2.3    希望他的日志单独存放 

          改ssh 自己的配置文件

2.4  重启配置文件

2.5 ,开另一台机器,先关防火墙     

ssh 连接过来

2.6   看 我们ssh   的日志文件  /data/sshd.log

3,作用
 能看到谁在暴力破解你的密码

(五)网络日志(远程日志功能)

1,实验目的:把日志汇总到一台总的日志服务器上

2,实验步骤:

开虚拟机2   虚拟机3   将2,3的防火墙都关闭

3,打开虚拟机2  日志的配置文件

4,这边用tcp  或者udp 都可以     

我们将这两行解除注释 

5,重新启动rsyslog

6,  查看开启的端口

 7,将虚拟机3重复以上操作

8,dd 复制日志路径,p粘贴  将日志路径改为要发送的   日志服务器

 此处加@@192.168.217.105   指tcp

                                                                     @192.168.217.105   指udp

 9,重新启动rsyslog

 10,测试   我们这边手写一个日志   logger " this  test from 192.168.217.77"

11,查看最新日志消息

12,我们再去  日志汇总机  查看日志消息,可以看到也有该日志

(六) 日志管理工具 journactl

CentOS 7 以后版,利用Systemd 统一管理所有 Unit 的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。

1,服务程序报错处理方式

第一种

1,我们这边模拟服务故障,会提醒我们去到  systemctl status httpd.service  查看

2, systemctl status httpd.service屏幕不够大,显示不全   

标准输出重定向

3, systemctl status httpd.service

告诉我们 第42行错误   应该是  isten 错了

4, vim +42  直接进到第42行改

 

第二种

journactl    -xe     可以查看实时日志  以及日志的报错信息

2,     journactl    使用方法

journactl  -u  程序名              只想看一个程序的内容

journalctl -xe --no-pager        可以查看日志详细信息

journactl  -S”开始时间”   -U”结束时间”            想查看一个时间段的日志输入

3,如果想查看几点几分到几点几分的日志

在内存中查找

#查看指定时间的日志

journalctl --since="2017-10-30 18:10:30"
journalctl --since "20 min ago"
journalctl --since yesterday
journalctl --since "2017-01-10" --until "2017-01-11 03:00"
journalctl --since 09:00 --until "1 hour ago"
 

在日志文件中查找

(七)logrotate——日志转储

使用logrotate命令。logrotate 程序是一个日志文件管理工具。用来把旧的日志文件删除,并创建新的日志文件,称为日志转储或滚动。可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过 cron 程序来执行

首先,我们在/var/log/httpd的目录下看到两个文件,这是httpd服务的日志信息
 

 如果我们现在把access_log文件移动成一个新的文件,加载后又会生成新的文件

 

 这是因为在httpd的配置文件中规定了

 

 我们查看一下logrotate的配置文件

 下面是有关的详细信息

配置参数说明
compress通过gzip压缩转储以后的日志
nocompress不压缩
copytruncate用于还在打开中的日志文件,把当前日志备份并截断
nocopytruncate备份日志文件但是不截断
create mode ownergroup转储文件,使用指定的权限,所有者,所属组创建新的日志文件
nocreate不建立新的日志文件
delaycompress和 compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress覆盖 delaycompress 选项,转储同时压缩
errors address专储时的错误信息发送到指定的Email地址
ifempty即使是空文件也转储,此为默认选项
notifempty如果是空文件的话,不转储
mail address把转储的日志文件发送到指定的E-mail 地址
nomail转储时不发送日志文件
olddir directory转储后的日志文件放入指定目录,必须和当前日志文件在同一个文件系统
noolddir转储后的日志文件和当前日志文件放在同一个目录下
prerotate/endscript在转储以前需要执行的命令,这两个关键字必须单独成行
postrotate/endscript在转储以后需要执行的命令,这两个关键字必须单独成行
daily指定转储周期为每天
weekly指定转储周期为每周
monthly指定转储周期为每月
rotate count指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份
tabooext [+] list让logrotate*不转储指定扩展名的文件,缺省的扩展名是:.rpm-orig,.rpmsave, v, 和~
size size当日志文件到达指定的大小时才转储bytes(缺省)及KB或MB
sharedscripts默认,对每个转储日志运行prerotate和postrotate脚本,日志文件的绝对路径作为第一个参数传递给脚本。 这意味着单个脚本可以针对与多个文件匹配的日志文件条目多次运行(例如/ var / log / news /.example)。 如果指定此项sharedscripts,则无论有多少个日志*与通配符模式匹配,脚本都只会运行一次
nosharedscripts针对每一个转储的日志文件,都执行一次prerotate和 postrotate脚本,此为默认值
missingok如果日志不存在,不提示错误,继续处理下一个
nomissingok如果日志不存在,提示错误,此为默认值

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

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

相关文章

OCP NVME SSD规范解读-5.命令超时限制

在"4.7 Command Timeout"章节中,详细定义了NVMe命令的超时要求和限制。 CTO-1:NVMe管理命令和TCG(可信计算组)命令从提交到完成不应超过10秒,且没有其他命令未完成(QD1)。CTO-1不适用…

【Python机器学习】构造决策树

通常来说,构造决策树直到所有叶结点都是纯的叶结点,但这会导致模型非常复杂,并且对于训练数据高度过拟合。 为了防止过拟合,有两种常见策略: 1、尽早停止树的生长,也叫预剪枝 2、先构造树,但…

微信小程序实战-01翻页时钟-1

文章目录 前言需求分析功能设计界面设计界面结构设计界面样式设计 逻辑设计 单页功能实现运行结果 前言 我经常在手机上用的一款app有一个功能是翻页时钟,基于之前学习的小程序相关的基础内容,我打算在微信小程序中也设计一个翻页时钟功能,J…

专业图表分析网页模板,让你轻松打造震撼的大数据可视化大屏电子沙盘

源码介绍 基于html/css/js,包含行业: 智慧政务 智慧社区 金融行业 智慧交通 智慧门店 智慧大厅 智慧物流 智慧医疗 通用模板 大数据分析平台 实时数据K线图(可自由配置多种行业模式) 可切换式大屏展示 翻牌效果 自定义字体

CCF模拟题 202305-1 重复局面

试题编号: 202305-1 试题名称: 重复局面 时间限制: 1.0s 内存限制: 512.0MB 题目背景 国际象棋在对局时,同一局面连续或间断出现3次或3次以上,可由任意一方提出和棋。 问题描述 国际象棋每一个局面可以用…

(生物信息学)R语言绘图初-中-高级——3-10分文章必备——点阵图(初级)

生物信息学文章的发表要求除了思路和热点以外,图片绘制是否精美也是十分重要的,本专栏为(生物信息学)R语言绘图初-中-高级——3-10分文章必备,主要通过大量文献,总结3-10分文章中高频出现的各种图片,并给大家提供图片复现的R语言代码,及图片识读。 本专栏将向大家介绍…

Android Matrix (三)矩阵组合和应用变换

在 Android 开发中,Matrix 类不仅提供了 mapPoints 方法来变换点坐标,还提供了多种其他用法,使其成为处理图像和视图变换的强大工具。以下是 Matrix 类的一些关键用法: 1. 变换方法 setTranslate(float dx, float dy): 设置矩阵…

二 数据查询

1、实验目的 理解SQL成熟设计基本规范,熟练运用SQL语言实现数据基本查询,包括但表查询、分组统计查询和连接查询。 2、实验内容及要求 针对数据库设计各种单表查询SQL语句、分组统计查询语句;设计单个表针对自身的连接查询,设计…

Vue2:通过props给组件传数据

一、业务场景 我们在使用Vue组件时,常常会复用Vue组件,那么,问题来了,复用的时候,业务数据不相同,怎么办了? 这里我们就需要学习新的属性:props来实现这个功能。 这样,组…

在Windows上使用VScode阅读kernel源码

有一说一,在Windows上使用Source Inside阅读kernel源码真的很舒服,但是有时候带着轻薄本出去,又不想往轻薄本上安装很多的软件,就使用VS code临时阅读kernel源码。如果不能进行跳转,阅读kernel源码就很难受&#xff0c…

计算机缺失vcomp120.dll文件怎么办?总结多种解决方法分享

在使用电脑过程中,难免会遇到各种问题,其中vcomp120.dll丢失问题就是其中之一。这个问题可能会给用户带来诸多不便,导致某些应用程序无法正常运行。在这篇文章中,我们将详细介绍vcomp120.dll文件的重要性,以及遇到丢失…

基于yolov2深度学习网络的车辆行人检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 .......................................................... load yolov2.mat% 加载训练好的…

李沐-《动手学深度学习》--03-注意力机制

一、注意力机制 1 . 注意力提示 1)框架 **随意:**跟随自己的想法的,自主的想法,例如query **不随意:**没有任何偏向的选择,例如 Keys 如何得到 k v q 2)Nadaraya-Watson核回归 就是一个so…

Studio 3T客户端连接Mongodb数据库服务

这里需要注意 一定要先开Studio 3T 到 创建连接时才开Mongodb服务 不然 Studio 3T 会找不到Mongodb服务 不知道这是不是 Studio 3T官方问题 期待解决吧 我们打开 Studio 3T 然后点击 Create a new connection 开始创建连接 新弹出的窗口中选择 Manually configure my connec…

新火种AI|小冰摊牌了!大模型已获国内备案,克隆人发布箭在弦上...

作者:小岩 编辑:彩云 2024年国内AI圈的第一个重磅消息已然来袭。 1月4日,小冰公司宣布,已于去年12月成功获得“小冰大模型”的国内备案。结合此前公司在日本研发的Rinna大模型,小冰方面称,公司已实现不同…

云卷云舒:【实战篇】云主机/虚拟机迁移

1. 简介 用户原有业务通过不同版本型号、不同操作系统的主机承载,形式上包括物理服务器、虚拟机、公有云主机等。随着业务不断扩张,需要将其业务云化转型,必须保证上云过程数据完整,业务平滑过度。 如果将所有业务系统都重新部署…

算法32:针对算法31货币问题进行扩展,并对从左往右模型进行总结

本算法是在算法31的基础之上进行推理总结的,因此,在看本章之前,必须先去了解算法31,否则会觉得莫名其妙。 算法31的推理过程: 如果 x y1 y2 y3 y4 y5 y6. x1 y2 y3 y4 y5 y6 那么 x y1 x1. 根据以…

欧洲编程语言四巨头

从左往右,依次是 尼克劳斯沃斯 (Niklaus Wirth),迪杰斯特拉(Edsger Dijkstra),霍尔(Tony Hoare) 尼克劳斯沃斯 (Niklaus Wirth) 瑞士人,一生发明了8种编程语言,其中最著…

【Python】Graphviz的安装和使用

graphviz包可以用来决策树可视化,只安装包之后直接import使用会报错,因为graphviz是一个要单独安装的软件。 下载路径:Download | Graphviz 有不同的版本,我这里用的是最新版 9.0版本安装之后可以选自动添加到环境变量——系统…

lazada越南站收款问题;lazada可以使用支付宝吗?-站斧浏览器

Lazada越南站收款问题 线上支付方式:Lazada越南本土店提供多种线上支付方式,以方便消费者完成购物支付。常见的线上支付方式包括信用卡支付、借记卡支付、电子钱包支付(如Momo、Zalo Pay等)以及银行转账等。商家可以根据自己的需…