Linux 学会看日志文件处理问题

rsyslog是一个进程,是一个命令。管理日志的。–》系统日志记录器
它有一个配置文件:/etc/rsyslog.conf
自己创建日志时,要修改该配置文件。

日志的作用:

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

日志文件的分类:

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

日志记录的一般格式:

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

这里写图片描述

/var/log –》此目录下有很多的日志文件。
eg:tailf /var/log/cron –》监听cron命令的日志文件的末尾五行。

相应的应用程序独立进行管理的日志文件:

  • Web服务:/var/log/httpd/
    • access_log、error_log
  • 代理服务:/var/log/squid/
    • access.log、cache.log、squid.out、store.log
  • FTP服务:/var/log/xferlog
    等等

保存了用户登录、退出等信息的日志文件:

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

用户登录分析:

  • who、w、user、last、ac、lastlog等命令,其中:
    • last 最近登录系统的用户;
    • lastlog 查看所有的用户的登录信息

日志分析工具:

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

syslog系统日志

syslog系统日志/etc/syslog.conf
由系统服务syslogd 统一管理:

  • 软件包:sysklogd-1.4.1-29.2
  • 主要程序:/sbin/klogd、/sbin/syslogd
  • 系统日志的配置文件:/etc/syslog.conf

这里写图片描述
(设备类别.日志级别 消息发送到的文件)
(像cron级别的日志文件,都写到/var/log/cron里面去。)
设备类别[连接符]日志级别:

  • . 记录大于等于后面的级别日志
  • .=只记录等于后面的级别日志
  • .!=只记录不等于后面的级别日志

消息发送位置:

  • 本地文件:通常就是文件的绝对路径
  • 打印机:例如 /dev/lp0 这个打印机装置
  • 用户名称:显示给用户
  • 远程主机:例如 @202.100.100.1
  • *:所有在线的人

系统日志保存位置:默认为/var/log目录下

主要日志文件介绍:

  • 内核及公共消息日志:/var/log/messages
  • 计划任务日志:/var/log/cron
  • 系统引导日志:/var/log/dmesg
  • 邮件系统日志:/var/log/maillog
  • 错误登录日志:/var/log/faillog

用户运行过的进程分析工具:

  • accton、lastcomm
  • sa:报告、清理和维护进程统计文件。

例子:

# accton /var/account/pacct --》启用统计
# lastcomm --user root    --》查看统计
lastcomm                root     pts/2      0.00 secs Thu Jul 28 21:22
lastcomm                root     pts/2      0.00 secs Thu Jul 28 21:22
accton            S     root     pts/2      0.00 secs Thu Jul 28 21:22
#accton    --》关闭统计
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

PS:
配置文件和程序的关系:
配置文件为程序传递参数,告诉程序要做什么,或者哪些做,哪些不做等信息。

日志消息的级别loglevel(记住!)

  • 0 EMERG(紧急):会导致主机系统不可用的情况 emergencies(零,最严重!!)
  • 1 ALERT(警告):必须马上采取措施解决的问题 alert
  • 2 CRIT(严重):比较严重的情况 critical
  • 3 ERR(错误):运行出现错误 error
  • 4 WARNING(提醒):可能会影响系统功能的事件
  • 5 NOTICE(注意):不会影响系统但值得注意
  • 6 INFO(信息):一般信息 information
  • 7 DEBUG(调试):程序或系统调试信息等
  • 8 none 没有优先级,不记录任何日志消息。

日志的设备类型:SyslogFacility

  • mail 邮件日志
  • cron 计划任务日志
  • authpriv 用户认证时产生的日志,如login命令、su命令。
  • local0–local7 由自定义程序使用。
  • news 网络新闻传输协议(nntp)产生的消息。
  • user 用户进程。
  • kern 系统内核消息。 kernel
  • daemon 某些守护

/var/log/下面的日志文件

  • messages —>默认情况下会记录所有的日志信息
  • secure —》安全认证相关的日志(ssh、useradd、passwd)
  • dmesg —》系统在启动的过程中加载了那些内核模块的信息,对一些硬件的识别加载的驱动等信息。kernel启动的过程中的信息
  • boot.log —》启动系统的过程之中出现的问题和正常的情况
  • maillog —》与发邮件相关的日志
  • lastlog —》记录最近登录过系统的用户的信息 last
  • cron —》计划任务
  • httpd —》独立的目录,记录httpd进程产生相关的日志
  • nginx —》独立的目录,记录nginx进程产生的相关的日志
  • mysqld.log —》mysql的日志
  • yum.log —》yum的日志
  • xferlog —-》ftp的日志
  • wtmp —》lastlog 查看所有的用户的登录信息

主动记录日志工具:logger:从命令行直接向系统日志文件写入一行信息

# ping -c2 172.16.70.7|logger -i(ping命令的pid号)-t (信息)"This is a test" -p authpriv.info(设备类型)
# tail -5 /var/log/secure
Jul 28 21:26:20 localhost This is a test[5623]: 64 bytes from 172.16.70.7: icmp_seq=2 ttl=64 time=0.178 ms
Jul 28 21:26:20 localhost This is a test[5623]: 
Jul 28 21:26:20 localhost This is a test[5623]: --- 172.16.70.7 ping statistics ---
Jul 28 21:26:20 localhost This is a test[5623]: 2 packets transmitted, 2 received, 0% packet loss, time 1000ms
Jul 28 21:26:20 localhost This is a test[5623]: rtt min/avg/max/mdev = 0.166/0.172/0.178/0.006 ms
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

自己写脚本实现记录日志的功能

①修改 /etc/rsyslog.conf 文件
在#Save boot messages also to boot.log下面添加东西。
这里写图片描述
②刷新服务#service rsyslog restart
(刷新rsyslog服务后,就会发现在/var/log/下面出现了shell_monitor.log文件!)
(但是里面没有东西!)
③脚本的内容

#vim /var/log/monitor.sh
if service httpd status &>/dev/null
thenecho "httpd is running"|logger  -t(信息) "httpd01_server"-p(设备类型号) local6.info        
(把echo的内容传递给logger)
elseservice httpd start &>/dev/nullecho "httpd is star"| logger -t "httpd01_server" -p local6.info
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

④#bash monitor.sh #执行脚本

#cat shell_monitor.log    #查看自己定义的日志文件
  • 1

这里写图片描述
(发现里面有内容了!)(输出的时候,先显示-t的,再显示前面echo的内容)

日志轮转功能 logrotate

方便有效的管理日志,防止日志文件过大
日志轮转命令:logrotate
日志轮转主要配置文件:/etc/logrotate.conf

  • 配合一个配置文件,再加上计划任务,每天执行一次来达到循环的效果;
  • 好处:总保留最近最新的日志。

日志轮转主要配置文件:/etc/logrotate.conf (主配置文件)

# cat /etc/logrotate.conf |grep -v ^#|grep -v ^$ (删除注释行和空行)
--》查看日志轮转配置文件的内容
weekly    --》每周一次
rotate 4    --》保留4个备份的日志文件
create    --》创建新的空的日志文件
dateext    --》以日期做后缀
include /etc/logrotate.d    --》次要配置文件都存放在次目录下
/var/log/wtmp {    --》(单独针对wtmp的)monthlycreate 0664 root utmp    --》创建文件的时候,指定权限和属组、属主minsize 1M    --》大于1M才轮转日志rotate 1    --》保留1个备份日志
}
/var/log/btmp {    --》针对btmp的missingok    --》如果某文件没丢失,做什么monthlycreate 0600 root utmprotate 1
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

PS:
没有单独的日志文件,在轮转的时候,参考/etc/logrotate.conf里面的配置。
同时如果有单独的日志文件,但是里面有些配置没有,也会参考主配置文件里的内容。—》单独配置文件里没有的配置项,参考主配置文件公共的配置项,建议写到主配置文件里,各个日志文件根据自身的特点,可以单独写一些配置。

日志轮转是怎么实现的?

日志轮转,依赖cron计划任务的每天执行的任务来完成轮转的。
系统把日志轮转的脚本logrotate放在/etc/cron.daily目录下

这里写图片描述

mysqld日志轮转文件

#vim /etc/logrotate.d/mysqld
  • 1

vim /etc/rsyslog.conf

①local6.* /var/log/mysqld.log

  • 指定目录的日志设备类型是local6
  • 消息级别是,记录到/var/log/mysqld.log
  • 主要是告诉rsyslog进程去记录,至于mysqld进程是否采用rsyslog进程去记录日志,取决于mysqld进程。
  • mysqld进程也许没有采用rsyslog进程去帮助记录日志,它自己有独立的进程去实现日志的记录功能。

②#service rsyslog restart –》刷新服务,让配置文件生效。

#vim httpd
/var/log/httpd/*log {    --》指定轮转的日志文件,具体如何轮转,看大括号里的内容!missingok    --》日志文件不存在的时候,继续进行,不报错。notifempty    --》若日志文件为空,不轮转(not if empty)sharedscripts    --》配合prerotate和postrotate使用delaycompress    --》推迟压缩postrotate   --》轮转后执行下面的命令/sbin/service httpd reload > /dev/null 2>/dev/null || trueendscript
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

多个日志文件使用一套轮转方法:

内核及公共消息日志:/var/log/messages
计划任务日志:/var/log/cron
邮件系统日志:/var/log/maillog
/var/log/secure
/var/log/spooler
{
sharedscripts
postrotate
/bin/kill -HUP cat /var/run/syslogd.pid 2>/dev/null 2>/dev/null || true
endscript
}

#
#########怎么让日志轮转(全)

①(添加设备类型、消息级别和消息发送目录到)/etc/rsyslog.conf
local6.info /var/log/liupeng
这里写图片描述
②刷新服务#service rsyslog restart
③日志脚本的内容:(脚本放在哪里都行)

#cat /lianxi/liupeng.sh
#!/bin/bash
if service mysqld status &>/dev/null
thenecho "mysqld is running~"|logger -it "mysqld is started!" -p local6.info(这是输出的内容,也会写到日志)           (这是写到日志的内容)
elseservice httpd start &>/dev/nullecho "mysqld is start"|logger -it "mysqld start for you!" -p local6.info
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
#bash  /lianxi/liupeng.sh
  • 1

(执行脚本后,会看到在/var/log/liupeng.log文件里面生成了内容。)

这里写图片描述

④进入/etc/logrorate目录,添加轮转日志配置文件liupeng:

#cd /etc/logrotate.d
#vim liupeng
/var/log/liupeng.log {    --》指定轮转的日志文件,具体如何轮转,看大括号里的内容! rotate 4  --》保留4个weekly     --》每周轮转一次create    --》创建新的空的日志文件dateext    --》以日期做后缀missingok    --》日志文件不存在的时候,继续进行,不报错。notifempty    --》若日志文件为空,不轮转(not if empty)sharedscripts prerorate轮转之前执行的命令endscript
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

⑤#logrotate -vf /etc/logrotate.conf (-f 强制轮转)
–》轮转自己写的日志。

PS:

  • man 5 logrotate.conf –》man 5 配置文件:看这个配置文件里的所有功能
  • prerorate:轮转前需要做的事情;
  • postrorate:轮转后需要做的事情。

练习:自己编写脚本实现记录日志功能:

1.监控httpd、yum、mysql服务,如果服务正在运行写入到日志文件,如果服务没有运行也写入到日志文件,然后启动服务
2.日志文件的名字自己定义.例如:/var/log/liupeng_monitor.log
3.让日志文件每个星期轮转一次,保留4个文件,在轮转之前将要删除的日志文件复制到/backup目录下。

[root@liupeng lianxi]# cat log_monitor.sh    --》主脚本
#!/bin/bash
###########配置rsyslog文件
if ! egrep "local6" /etc/rsyslog.conf &>/dev/null
thenecho "local6.* /var/log/liupeng_monitor.log" >>/etc/rsyslog/confecho "local6.alert  *" >>/etc/rsyslog.conf   --》如果接收到local6这种设备类型,消息级别为alert,给所有人发送(屏幕输出)!service rsyslog restart 
fi
###########监控功能
monitor(){   
if service $1 status &>/dev/null
thenecho "$1_STATUS_CLEAR" | logger -it "$1_STATUS" -p local6.info
elseecho "$1_NOT_RUNNING" | logger -it "$1_SERVICE_DOWN" -p local6.notice
        <span class="hljs-keyword">if</span> ! service <span class="hljs-variable">$1</span> restart &amp;&gt;/dev/null<span class="hljs-keyword">then</span><span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-variable">$1_CAN_NOT_RESTART</span>"</span> | logger -it <span class="hljs-string">"<span class="hljs-variable">$1_SERVICE_ERROR</span>"</span> -p local6.alert<span class="hljs-keyword">else</span><span class="hljs-built_in">echo</span> <span class="hljs-string">"<span class="hljs-variable">$1_RUNNING_AGAIN</span>"</span> | logger -it <span class="hljs-string">"<span class="hljs-variable">$1_STATUS_CLEAR_NOTICE</span>"</span> -p local6.notice<span class="hljs-keyword">fi</span>

fi
}
###########本地yum是否存在
local_yum_monitor(){
yum clean all &>/dev/null
if yum list &>/dev/null
then
echo “YUM_STATUS_CLEAR” | logger -it “YUM_STATUS” -p local6.info
else
echo “YUM_STATUS_ERROR” | logger -it “YUM_STATUS_WRONG” -p local6.alert
bash yum_install.sh
fi
}
###############日志轮转
my_lograte(){ --》日志轮转
[ -d /backup ]||mkdir /backup
if ! [ -f /etc/logrotat.d/monitor ]
then
echo
“/var/log/liupeng_monitor.log {
rotate 4
weekly
dateext
create
prerotate
/bin/cp -n /var/log/liupeng_monitor.log-* /backup/
–》-n选项:若存在,则不再覆盖!
endscript
}”
>/etc/logrotate.d/monitor
fi
}
if [ -f ./monitor.conf ]
then
conf=(cat ./monitor.conf |egrep -v <span class="hljs-string">"#|^$|^yum"</span>)
for i in conf[@]</span><spanclass="hljs−keyword">do</span>monitor<spanclass="hljs−variable">{conf[@]}</span> <span class="hljs-keyword">do</span> monitor <span class="hljs-variable">conf[@]</span><spanclass="hljskeyword">do</span>monitor<spanclass="hljsvariable">i &
done
if cat ./monitor.conf|egrep “^yum_check=1$” &>/dev/null
then
local_yum_monitor
fi
else
echo -e “#[SERVICE_NAME]\nhttpd\nmysqld\n#[YUM]\nyum_check=1” > monitor.conf
fi
my_lograte

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

[root@liupeng lianxi]# cat monitor.conf    --》供选择的服务
#[SERVICE_NAME]
httpd
mysqld
#[YUM]
yum_check=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
[root@liupeng lianxi]# cat yum_install.sh    --》安装yum服务
#!/bin/bash
#local_yum_install
repos="/etc/yum.repos.d"local_yum(){cat >$repos/local.repo <<EOF
[local_yum]
name=local_yum
baseurl=file:///mnt
gpgcheck=0
enabled=1
EOFread -p "请确认光盘已经放入光驱中,按任意建继续 ..."mount /dev/cdrom /mnt &>/dev/nullcase $? in0)yum clean all &>/dev/nullyum update && echo "本地yum源配置成功!";;32)yum clean all &>/dev/nullecho "光盘已经挂载!";;*)echo "请放入光盘!";;esac
}
if [ -d $repos/bak ]
thenif [ -f $repos/local.repo ]thenrm -f $repos/local.repolocal_yumelselocal_yumfi
elsemkdir $repos/bakmv $repos/*.repo $repos/baklocal_yum
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
            </div><div><div></div></div><link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/markdown_views-d7a94ec6ab.css" rel="stylesheet"><link href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/style-49037e4d27.css" rel="stylesheet"></div>

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

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

相关文章

html中input、label、form、textarea、select

表单input&#xff1a; 表单是用来收集信息的&#xff0c;由表单控件(表单元素)、提示信息、表单域构成。 input控件的属性及值&#xff1a; 除以上属性外&#xff0c;input元素type属性还有一个number属性值&#xff0c;此为仅可以填数字&#xff0c;默认是可以选择或者填写…

html中文本格式化、预格式化、计算机输出标签、address、title、文字方向、著作

文本格式化标签&#xff1a; 预格式化标签pre&#xff1a; 网页中文本默认是显示一行&#xff0c;没有格式&#xff0c;通过<pre></pre>标签包裹会显示默认的格式。 <pre> <!-- 通过pre标签包裹后&#xff0c;会有默认的格式 -->云想衣裳花想容&…

html5简介、选项输入框、表单元素分组、input新增属性及属性值

HTML5简介: 定义&#xff1a;HTML5号称下一代HTML&#xff0c;html的最新版本&#xff0c;定义了新的标签、css、JavaScript&#xff0c;html5新标签IE9以上版本浏览器才兼容&#xff0c;因此在实际开发中要问老板是否兼容低版本浏览器。 扩展内容&#xff1a;语义化标签、本…

Linux crontab 定时任务没执行,没收到错误信息邮件

crond 定时任务 没执行&#xff0c;简单的打印日期&#xff0c;reboot 命令 等也没执行成功&#xff08;语法确保没错&#xff09;。捣鼓一整算是有些进展。 centos7 不过这个好像没啥问题吧。。 分割线------------------------------------------------------- 01 最开始就…

$@ $# $2 $0 $* Linux 参数使用

命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示&#xff0c;例如&#xff0c;$1 表示第一个参数&#xff0c;$2 表示第二个参数&#xff0c;依次类推。 1 $ 表示所有参数&#xff1b;并且所有参数都是独立的&#xff1b;可以用来做 for e…

html5中音频、视频标签、自定义播放器常用属性及方法、全屏操作、新增属性兼容问题

多媒体标签: 音频标签audio: <audio src"音频文件的URL"></audio><!-- audio标签需要controls控件才可以播放音频&#xff0c;controls的属性值可以省略&#xff0c;如果URL为视频格式文件&#xff0c;则只会播放音频 -->html5中通过audio标签实现…

设计模式(17) 访问者模式(VISITOR) C++实现

意图&#xff1a; 表示一个作用于某对象结构的各元素的操作。它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作。 动机&#xff1a; 之前在学校的最后一个小项目就是做一个编译器&#xff0c;当时使用的就是访问者模式。 在静态分析阶段&#xff0c;将源程序表…

云服务器的主机名是否可以修改??

云服务器的主机名是否可以修改&#xff1f; 1 要是自己建的虚拟机等&#xff0c;这可以随便改&#xff0c;不影响。 2 要是云服务器&#xff0c;阿里云 华为云等&#xff0c;因为是项目上服务器厂商给提供的服务器信息&#xff0c;所以遇到问题需要改主机名时&#xff0c;为了…

CSS简介、行内样式、内部样式、外部样式、注释、引入其他CSS文件

CSS的发展历程&#xff1a; 起初是没有css的&#xff0c;只有少量样式是可以写在html标签中&#xff0c;这样代码格外显得臃肿&#xff0c;此时CSS就出现了。 初识CSS&#xff1a; CSS(Cascading Style Sheets),被称为CSS样式表或者层叠样式表&#xff0c;主要用于设置HTML页…

CISCO PVST+配置和结果验证 per vlan spanning tree(51cto 实验10)

1. 实验线路连接图使用Cisco Packet Tracer6.0 构建拓扑结构图 2. 实验内容(1) 参阅教材中内容&#xff0c;完成PVST的配置内容。(2) 在各台交换机上使用show spanning-tree vlan 10 和show spanning-tree vlan 20 命令&#xff0c;查看根桥信息、各端口角色和各端口状态。(3) …

http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http:/

对于这个点&#xff0c;我的情况是【errno12】&#xff0c; 众多帖子里还是请求404错误居多&#xff0c;情况不一样。我的安装阿里yum配置过程没问题&#xff0c;然后想起之前有过这样&#xff0c;怀疑是dns解析不到mirrors.aliyuncs.com这种地址&#xff0c;所以在dns文件里加…

Android网络课程笔记-----本地音乐播放

1. 本地音乐播放 多媒体&#xff1a; 图片&#xff1a;拍、图片查、图片编辑、摄像、图像处理算法 音频&#xff1a;录、回、编辑、MediaRecorde、MediaPlayer 视频&#xff1a;录、回、编辑、VideoView2. MediaPlayer的使用方法 MediaPlayer的声明周期转载…

CSS设置字体大小、字体粗细、字体风格

font-size:设置字体大小: 该属性值的单位可以使用相对单位和绝对单位&#xff0c;推荐使用px。(浏览器能够识别的最小像素是12px) p{font-size:20px;}常见尺寸单位&#xff1a; font-family:设置字体: 如果需要设置多个字体样式&#xff0c;则属性值可以写多个中间用逗号隔…

css设置字体颜色、文本对齐方式、首行缩进、文本装饰、列表样式、鼠标样式、禁止文本域拖拽、轮廓线、块级元素对齐方式、文字溢出设置

color:设置字体颜色: 取值方式有&#xff1a;1.颜色值red,green等 、2.十六进制#FF0000,#FF2313等、3.RGB代码rgb(225,225,112)或rgb(100%,55%,0%)&#xff0c;取值范围0-225&#xff0c;0%-100%&#xff0c;rgba是rgb的扩展&#xff0c;其中第四个参数设置的是透明度&#xf…

数字图像的5种增强处理

数字图像的5种增强处理#include<iostream>#include<cmath>using namespace std;int main(){ int i,j,n,m,w,a[100][100],x[100][100],max[100][100][20],b[100][100],k,p,u; cout<<"输入矩阵行列数:"; cin>>n>>m; cout<<"输…

css中标签显示模式、块元素、行内元素、行内块元素、显示模式转换

标签显示模式display: HTML标签一般分为块标签&#xff08;块元素&#xff1a;block-level&#xff09;和行内标签&#xff08;行内元素&#xff1a;inline-level&#xff09;两种类型&#xff0c;但是还有第三种说法行内块元素&#xff1a;table-row-group&#xff1a;设置元…

mysql 介绍 怎么下载 驱动jar包 各种细节问题大详解

对碰到的问题做个记录总结。 1 MySQL 的官网下载地址&#xff1a;http://www.mysql.com/downloads/版本说明。 1. MySQL Community Server 社区版本&#xff0c;开源免费&#xff0c;但不提供官方技术支持。 2. MySQL Enterprise Edition 企业版本&#xff0c;需付费&#xff…

css书写规范、行高

css书写规范&#xff1a; 空格规范&#xff1a; 选择器与花括号{之间必须包含空格&#xff0c;属性冒号&#xff1a;后面和属性值必须包含空格 .text {font-size: 16px;}选择器规范&#xff1a; 当有多个选择器同时出现时&#xff0c;每个选择器必须独占一行 .box,.nav,.mai…

CSS中的层叠性、继承性、优先级、权重

css三大特性&#xff1a; 三大特性&#xff1a;层叠性、继承性、优先级 层叠性&#xff1a; 指多种css样式的叠加&#xff0c;是浏览器处理多种css样式冲突的能力&#xff0c;如果给一个元素通过不同或者相同的选择器设置相同的属性但属性值不同时&#xff0c;权重相同的情况…