Linux的基本协议与他的堂兄堂弟

news2024/9/24 11:32:03

14天学习训练营导师课程: 互联网老辛《 符合学习规律的超详细linux实战快速入门》

努力是为了不平庸~
学习有些时候是枯燥的,但收获的快乐是加倍的,欢迎记录下你的那些努力时刻(学习知识点/题解/项目实操/遇到的bug/等等),在分享的同时加深对于知识点的理解,同时吸收他人的奇思妙想,一起见证技术er的成长~

 目录

1.17 动态监控

1.18 rpm与yum

1.19 常用软件的安装


1.17 动态监控

top与ps命令一样,它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。

基本语法:

top [选项]

选项功能
-d秒数指定top命令每隔几秒刷新,默认3秒
-i使用top不显示任何闲置或者僵死的进程
-p通过指定监控ID来仅仅监控某个进程的状态

1.17.1 top指令详解

我们执行top指令:

[root@xq100 ~]# top

我们发现进程信息会每3秒钟就刷新1次。

 下面我们对这些重要的指标信息进行讲解:

top -21:34:06: top命令刷新进程的时间

up:系统运行的时长

user:当前linux系统上面的用户数

load average: 负载值(三个数字相加(0.04+0.07+0.18)除以3 的值>0.7说明负载值很大)

Tasks:总进程数

ruuning: 正在运行的进程数

sleeping:休眠的进程数

stopped:停止的进程数

zombie:僵死的进程数

%(CPU): CPU负载百分比 us:用户占用cpu百分比 sy:系统占用cpu百分比 id:空闲cpu百分比

Mem:描述内存占用情况 total:总共内存 free 空余内存 used:使用了的内存 buff/cache:缓存

Swap:描述交换区内存占用情况

1.17.2 top指令的交互操作

当我们输入top命令之后,我们可以按下面的字符来进行对应的交互操作。

交互操作说明:

操作功能
P以CPU使用率来排序,默认就是此项
M以内存使用来排序
N以PID排序
q退出top

应用实例:

1.监控特定用户,比如我们监控jack用户(前提是jack登录了)

先输入top指令,然后按小写的u,最后输入jack然后回车,查看执行的进程。

 最后查看效果:

 2.终止指定的进程,比如我们要结束jack登录

top:输入此命令,然后回车,查看执行的进程

k:然后输入要结束的进程ID号 回车之后输入9 强制删除。

 接下来还要输入信号量:

 此时我们发现jack没强制下线。

3.指定系统状态更新的时间(没隔10秒自动更新),默认是3秒

[root@xq100 ~]# top -d 10  # 每10秒刷新1次

1.17.3 监控网络状态

基本语法: netstat [选项]

选项说明 -an 按照一定的属性排列输出 -p 显示哪个进程在调用

[root@xq100 ~]# netstat -anp | more
Local Address:本机linux的ip地址

 Foreign Address:外部的网络地址

tcp:网络协议

127.0.0.1 / 0.0.0.0: 当前linux机器的本地地址

631/25/6060....:应用程序监听的端口号

State: LISTEN 监听状态 ESTABLISHED:建立连接的状态

PID:应用程序的进程号 Program name: 应用程序的名称

如何理解Foreign Address呢?

我们可以通过一幅图来理解:

应用案例:

 查看服务名称为sshd的服务信息。

[root@xq100 ~]# netstat -anp | grep sshd

1.18 rpm与yum

1.18.1 rpm

rpm是互联网下载包和打包和安装工具,他包含在某些linux分版中,他具有生产.rpm扩展名的文件,RPM是redhat package manage(软件包管理工具的缩写),类似于setup.exe

我们看看rpm相关的指令:

  • 查询所有安装的rpm列表

[root@xq100 ~]# rpm -qa
[root@xq100 ~]# rpm -qa | more # 分页展示所有的rpm列表
  • 查询当前系统中是否安装了指定的软件

[root@xq100 ~]# rpm -qa | grep firefox # 查询linux系统中是否已经安装了火狐浏览器
firefox-60.8.0-1.el7.centos.x86_64

一个rpm包的名称命名规则:

firefox:rpm包名

60.8.0-1.el7:rpm包的版本号

centos:rpm包适用于的操作系统

x86_64:适用于64位的操作系统。(如果是i686或者i386说明适用于32位操作系统,noarch表示通用。)

  • 查看软件包是否安装

[root@xq100 opt]# rpm -q firefox  # 查看火狐浏览器是否存在rpm包(安装)
firefox-60.8.0-1.el7.centos.x86_64
  • 查询软件安装的详细信息

[root@xq100 opt]# rpm -qi firefox   # 查询火狐浏览器的详细安装信息
Name        : firefox
Version     : 60.8.0
Release     : 1.el7.centos
Architecture: x86_64
Install Date: Thu 18 Aug 2022 02:50:39 PM CST
Group       : Unspecified
Size        : 218777805
License     : MPLv1.1 or GPLv2+ or LGPLv2+
Signature   : RSA/SHA256, Fri 12 Jul 2019 11:01:23 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM  : firefox-60.8.0-1.el7.centos.src.rpm
Build Date  : Fri 12 Jul 2019 02:04:42 AM CST
Build Host  : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : https://www.mozilla.org/firefox/
Summary     : Mozilla Firefox Web browser
Description :
Mozilla Firefox is an open-source web browser, designed for standards
compliance, performance and portability.
  • 查看rpm包安装之后的文件

[root@xq100 opt]# rpm -ql mariadb-libs-5.5.64-1.el7.x86_64
  • 查看指定的文件所属的rpm包

[root@xq100 opt]# rpm -qf /etc/my.cnf  # 查询/etc目录下面的my.cnf文件所属的rpm包
mariadb-libs-5.5.64-1.el7.x86_64

如果某一个rpm包我们不想要了,我们也可以卸载。

[root@xq100 opt]# rpm -e firefox  #删除firefox

注意:如果其它的软件包依赖于要删除的软件包,卸载时则会产生错误。此时如果我们想强制删除,可以添加另外的参数--nodeps。

[root@xq100 opt]# rpm -e --nodeps firefox  #删除firefox
  • 安装rpm包

基本语法: rpm -ivh RPM包全路径名称

几个参数:

i=install 安装

v=verbose 提示

h=hash 进度条

案例:使用rpm命令安装firefox

[root@xq100 ~]# rpm -e firefox  # 删除firefox
[root@xq100 ~]# rpm -q firefox  # 查询firefox是否删除成功
package firefox is not installed

接下来我们需要去下载rpm包,其实linux操作系统内置了firefox的安装包,我们打开光驱:

然后找到Packages目录:

 然后打开Packages目录,找到firefox的rpm包:

 将其拷贝至/opt目录下面:

 最后我们安装rpm包:

[root@xq100 ~]# rpm -ivh /opt/firefox-60.8.0-1.el7.centos.x86_64.rpm 

最后我们发现firefox又安装成功了。

1.18.2 yum

Yum是一个Shell前端软件包管理器,基于RPM包管理,能够从指定的服务器自动下载RPM包并安装,并且可以自动处理依赖性关系,并且一次安装所有的依赖软件包。下面我们用一副图来理解yum命令:

 基本指令

查询yum服务器上是否有需要安装的软件:

yum install | grep xxx软件列表

下载并安转指定的yum包:

yum install xxx 的rpm包名

案例:使用yum命令安装firefox

[root@xq100 opt]# rpm -e firefox  #删除firefox  此时我们发现linux服务器里面的火狐浏览器不存在了
[root@xq100 opt]# rpm list | grep firefox # 查看服务器上是否存在指定的rpm包
firefox.x86_64                            60.8.0-1.el7.centos          @anaconda
firefox.i686                              91.12.0-2.el7.centos         updates  
firefox.x86_64                            91.12.0-2.el7.centos         updates 
[root@xq100 opt]# yum install firefox.x86_64  # 下载并安装firefox,我们再查看linux服务器里面的火狐浏览器,发现又有了

1.19 常用软件的安装

1.19.1 安装JDK8

  • 第一步:在/opt目录下面创建jdk文件夹

[root@xq100 ~]# mkdir /opt/jdk
  • 第二步:使用ftp上传工具上传jdk的安装压缩包,上传成功之后如下:

[root@xq100 ~]# cd /opt/jdk
[root@xq100 jdk]# ll
total 185312
-rw-r--r--. 1 root root 189756259 Sep  3 16:38 jdk-8u161-linux-x64.tar.gz  # 这就是上传之后的jdk的压缩文件
  • 第三步:解压压缩文件

[root@xq100 jdk]# tar -zxvf jdk-8u161-linux-x64.tar.gz

解压之后效果如下:

 jdk的下载地址是:

链接:https://pan.baidu.com/s/1u3misQGlL9JHqpXnqdLtzw 
提取码:42gk 
  • 第四步:在/usr/local目录下面创建java文件夹

[root@xq100 java]# mv /opt/jdk/jdk1.8.0_161/ /usr/local/java  # 拷贝解压的文件至java文件夹
[root@xq100 java]# ll
total 0
drwxr-xr-x. 8 10 143 255 Dec 20  2017 jdk1.8.0_161
  • 第五步:配置环境变量

编辑配置文件/etc/profile

[root@xq100 java]# vim /etc/profile

在文件的最后追加:

export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH

保存并退出,然后让编辑之后的profile文件生效:

[root@xq100 java]# source /etc/profile  # 让编辑之后的profile文件生效
[root@xq100 java]# java -version  # 查看jdk的版本号
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
  • 第六步: 编写一个java文件测试是否正常运行

[root@xq100 kobe]# javac Hello.java # 编译java文件
[root@xq100 kobe]# java Hello  # 执行class字节码文件
Hello World

1.19.2 安装mysql5.7

1.19.2.1 mysql的安装

第一步: 切换到opt目录,下载mysql的rpm包

[root@java2201 opt]# cd /opt
[root@java2201 opt]# wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

注意: 如果wget命令不可用,我们需要安装wget命令

[root@java2201 opt]# yum -y install wget

下载成功之后,我们会发现:

 第二步:安装mysql的yum源

[root@java2201 opt]# yum -y localinstall mysql57-community-release-el7-11.noarch.rpm 

第三步:在线安装mysql

[root@java2201 opt]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@java2201 opt]# yum -y install mysql-community-server  # 在线安装mysql

整个安装过程需要一点时间,请耐心等待。

第四步:启动mysql服务

[root@java2201 opt]# systemctl start mysqld

我们可以查看mysql服务启动之后的状态:

 第五步:设置mysql服务开机自启动

[root@java2201 opt]# systemctl enable mysqld
[root@java2201 opt]# systemctl daemon-reload

第六步,修改root登录密码

mysql安装完成之后,会在/var/log/mysqld.log文件中给root生成了一个临时的默认密码。

[root@java2201 opt]# vi /var/log/mysqld.log 

 复制此密码,使用此密码登录root。(mysql -u root -p)

 粘贴密码之后,回车进入到mysql服务器:

 修改密码, mysql5.7默认密码策略要求密码必须是大小写字母数字特殊字母的组合,至少8位

mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin123!';  #密码自定义

第七步:运行远程登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Admin123!' WITH GRANT OPTION;
mysql>exit  # 退出mysql

第八步:防火墙开放3306端口

[root@java2201 opt]# firewall-cmd --permanent --add-port=3306/tcp  # 开放防火墙对3306端口的权限
[root@java2201 opt]# firewall-cmd --reload  # 重载防火墙服务
[root@java2201 opt]# firewall-cmd --list-ports  # 查看防火墙开发的端口有哪些
3306/tcp

第九步:配置mysql默认编码为utf-8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置:

character_set_server=utf8

init_connect='SET NAMES utf8'

 :wq保存退出

第十步:重启MySQL

[root@java2201 opt]# systemctl restart mysqld

第十一步:登录root用户查看编码

mysql> show variables like '%character%';

 第十二步,测试远程连接

0

到这里,在linux操作系统里面安装mysql就成功了。

1.19.2.2 如何修改root密码

如果我们不小心忘记了root账户的密码,那么如何重置root账户的密码呢?

第一步:修改mysql的配置文件/etc/my.cnf。设置免密登录。然后重启mysql服务。

[mysqld]
skip-grant-tables=1   # 设置免密登录
[root@java2201 ~]# systemctl restart mysqld

第二步:无需使用密码,登录数据库。

[root@java2201 ~]# mysql -u root  # 不带密码就可以实现数据库的登录
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.39 MySQL Community Server (GPL)
​
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​

第三步:重置密码。

mysql> use mysql;  # 切换到mysql数据库
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
​
Database changed
mysql> update user set authentication_string=password('Admin2022!') where user='root';
Query OK, 2 rows affected, 1 warning (0.01 sec)
Rows matched: 2  Changed: 2  Warnings: 1
​

第四步:退出并修改my.cnf,将免密登录的配置注释掉。

[mysqld]
# skip-grant-tables=1   # 把这行配置注释掉 

第五步:重启mysql服务,然后重新登录即可。

[root@java2201 ~]# systemctl restart mysqld
[root@java2201 ~]# mysql -u root -pAdmin2022!  # 使用新的密码登录
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.39 MySQL Community Server (GPL)
​
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
​
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
​
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
​
mysql> 

1.19.3 安装tomcat

  • 第一步:上传文件到/opt/tomcat

下载地址是:

链接:https://pan.baidu.com/s/1SpgByHyyZfkA3Ia836A4aw 
提取码:a251 
[root@xq100 opt]# mkdir /opt/tomcat
[root@xq100 opt]# cd tomcat/
[root@xq100 tomcat]# ll
total 10188
-rw-r--r--. 1 root root 10432020 Sep  3 17:02 apache-tomcat-8.5.59.tar.gz
  • 第二步:进入解压目录bin,使用./startup.sh启动tomcat

[root@xq100 tomcat]# tar -zxvf apache-tomcat-8.5.59.tar.gz
[root@xq100 tomcat]# ll
total 10188
drwxr-xr-x. 9 root root      220 Sep  3 17:03 apache-tomcat-8.5.59  # 解压之后的目录
-rw-r--r--. 1 root root 10432020 Sep  3 17:02 apache-tomcat-8.5.59.tar.gz
[root@xq100 tomcat]# cd apache-tomcat-8.5.59/bin  # 切换到tomcat解压目录中的bin目录
[root@xq100 bin]# ll
total 868
[root@xq100 bin]# ./startup.sh # 启动tomcat
Using CATALINA_BASE:   /opt/tomcat/apache-tomcat-8.5.59
Using CATALINA_HOME:   /opt/tomcat/apache-tomcat-8.5.59
Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-8.5.59/temp
Using JRE_HOME:        /usr/local/java/jdk1.8.0_161
Using CLASSPATH:       /opt/tomcat/apache-tomcat-8.5.59/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.5.59/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
  • 第三步:开放防火墙对8080端口的权限

[root@xq100 tomcat]# firewall-cmd --permanent --add-port=8080/tcp  # 开放8080端口
success
[root@xq100 tomcat]# firewall-cmd --reload  # 重新载入防火墙服务
success
[root@xq100 tomcat]# firewall-cmd --list-ports # 查看8080端口是否被开放
3306/tcp 8080/tcp
  • 第四步:测试tomcat是否安装成功

发送请求: http://192.168.10.130:8080 是否能够访问tomcat的首页。

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

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

相关文章

教程一 在Go使用JavaScript、HTML和CSS构建Windows、Linux、MacOSX跨平台的桌面应用

Energy是Go语言使用JavaScript、HTML和CSS构建跨平台的桌面应用程序可用于构建跨平台的桌面应用内嵌 Chromium CEF 二进制 环境安装 Energy 命令行工具 使用命令行工具自动安装Energy框架的所有依赖(CEF)&#xff0c;支持Window、Linux、MacOSX 安装过程从网络下载CEF和Energy…

二、vue基础入门

一、vue简介 1.1、什么是vue 官方给出的概念&#xff1a;Vue (读音 /vjuː/&#xff0c;类似于 view) 是一套用于构建用户界面的前端框架。 1.2、vue的特性 vue框架的特性&#xff0c;主要体现在如下两方面&#xff1a; 数据驱动视图双向数据绑定 1.2.1、数据驱动视图 在…

高灵敏度艾美捷小鼠肿瘤坏死因子α-ELISpot试剂盒

肿瘤坏死因子-a&#xff08;TNF-a&#xff09;由许多不同的细胞类型产生&#xff0c;例如单核细胞&#xff0c;巨噬细胞&#xff0c;T细胞和B细胞。在TNF-a的许多作用中&#xff0c;有针对细菌感染&#xff0c;细胞生长调节&#xff0c;免疫系统调节和参与败血症性休克的保护。…

现代气象仪器 | 太阳辐射测量

南京信息工程大学 实验&#xff08;实习&#xff09;报告 实验&#xff08;实习&#xff09;名称 现代气象仪器 实验&#xff08;实习&#xff09;日期 10.28 得分 指导老师 学院 电信院 专业 电子信息工程 年级 2020 班次 4 姓名 学号 20208327 实验…

万字博客带你全面剖析Spring的依赖注入

1.写在前面 前面的博客我们已经写了Spring的依赖查找&#xff0c;这篇博客我们来了解写Spring的依赖注入。 2.依赖注入的模式和类型 手动模式 - 配置或者编程的方式&#xff0c; 提前安排注入规则 XML 资源配置元信息Java 注解配置元信息API 配置元信息 自动模式 - 实现方…

华为机试 - 最大括号深度

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 现有一字符串仅由 ‘(‘&#xff0c;’)’&#xff0c;{‘&#xff0c;’}’&#xff0c;[‘&#xff0c;’]’六种括号组成。 若字符串满足以下条件之一&#xff0c;则为无效字符串&#xff1a; ①…

【MySQL】拿来即用 —— MySQL中的数据类型

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ MySQL数据类型⚪熟悉SQL一、MySQL数据类型总结…

设备树和设备树语法

设备树 驱动代码只负责处理驱动的逻辑&#xff0c;而关于设备的具体信息存放到设备树文件中。许多硬件设备信息可以直 接通过它传递给 Linux&#xff0c;而不需要在内核中堆积大量的冗余代码。 设备树&#xff0c;将这个词分开就是“设备”和“树”&#xff0c;描述设备树的文…

【计算机毕业设计】22.毕业设计选题系统ssm源码

一、系统截图&#xff08;需要演示视频可以私聊&#xff09; 引言 近年来&#xff0c;电子商务发展的愈趋成熟使得人们的消费方式以及消费观念发生巨大改变&#xff0c;网上竞拍的拍卖模式随之发展起来。大学拍卖网旨在为湘大学生提供一个线上拍卖的交易平台。平台展示的商品大…

【American English】美式发音,英语发音,美国音音标列表及发音

首先声明&#xff0c;网上各种英式发音和美式发音的教程&#xff0c;而我的目的是寻找美式发音。但是自己现在也是在不断地找寻中&#xff0c;所以资料找错了请莫怪。另外&#xff0c;资料顺序采用部分倒叙&#xff0c;不喜请勿吐槽。 文章目录发音示意图49. [](https://www.bi…

百度地图有感

以前总认为坚持会让我们变强大&#xff0c;但是长大后发现&#xff0c;让我们强大的&#xff0c;是放下。 生活也许就是这样&#xff0c;多一分经验便少一分幻想&#xff0c;以实际的愉快平衡现实的痛苦。 百度地图开放平台 百度地图入门指南 百度地图开发指南 百度地图API文…

性早熟和微生物群:性激素-肠道菌群轴的作用

谷禾健康 肠道菌群 & 性激素 青春期是生命的一个关键阶段&#xff0c;与性成熟相关的生理变化有关&#xff0c;是一个受多种内分泌和遗传控制调控的复杂过程。 青春期发育可以在适当的时候&#xff0c;早熟或延迟。 未经治疗的性早熟的孩子通常不会达到成年身高的全部潜力。…

Activity的最佳实践

文章目录Activity的最佳实践知晓当前是在哪一个Activiy随时随地退出程序启动Activity的最佳写法Activity的最佳实践 知晓当前是在哪一个Activiy 创建一个BaseActivity类,继承AppCompatActivity类.重写onCreate方法 open class BaseActivity : AppCompatActivity() {override…

xilinx PL测 DP 点屏 /接收(二)--RX

环境&#xff1a; a)硬件&#xff1a;官方ZCU106开发板 , tb-fmch-vfmc-dp子卡。 b)软件&#xff1a;vivado2021.1&#xff0c;vitis2021.1&#xff0c;裸机程序。 1、官方例程&#xff1a; 2、DP RX IP &#xff1a; 3、DP RX寄存器&#xff1a; 4、时钟&#xff1a; 5、像素&…

CentOS 6.6系统怎么安装?CentOS Linux系统安装配置图解教程

服务器相关设置如下&#xff1a; 操作系统&#xff1a;CentOS 6.6 64位 IP地址&#xff1a;192.168.21.129 网关&#xff1a;192.168.21.2 DNS&#xff1a;8.8.8.8 8.8.4.4 备注&#xff1a; CentOS 6.6系统镜像有32位和64位两个版本&#xff0c;并且还有专门针对服务器优化过的…

【端到端存储解决方案】Weka,让企业【文件存储】速度飞起来!

一、HK-Weka概述 虹科WekaIO&#xff08;简称HK-Weka&#xff09;是一个可共享、可扩展的文件存储系统解决方案&#xff0c;其并行文件系统WekaFS支持NVMeoF的flash-native并行文件系统、比传统的NAS存储及本地存储更快。 HK-Weka后端主机被配置为集群&#xff0c;它与安装在应…

在Mysql中新建序列Sequence

在Oracle数据库中想要一个连续的自增数据类型的值&#xff0c;可以通过创建一个sequence来实现。而在Mysql数据库中并没有sequence&#xff0c;如想要在Mysql中像Oracle那样使用序列&#xff0c;该如何操作呢&#xff1f;&#xff08;可以使用mysql中的自增主键&#xff09; 1、…

哪个牌子的led灯质量好?2022LED护眼台灯最好的品牌有哪些

谈及led灯的品牌&#xff0c;就不得不提一些比较专业的厂商了&#xff0c;特别是在护眼照明领域&#xff0c;明基、南卡、飞利浦、松下等品牌都有不俗的实力&#xff0c;出产的led护眼台灯在业内都有广泛的知名度&#xff0c;在消费者领域也是好评连连。那么它们到底好在哪儿呢…

蓝牙协议栈分层

一、分层 BLE协议栈主要用来对你的应用数据进行层层封包&#xff0c;以生成一个满足BLE协议的空中数据包&#xff0c;也就是说&#xff0c;把应用数据包裹在一系列的帧头&#xff08;header&#xff09;和帧尾&#xff08;tail&#xff09;中。 BLE协议栈主要由如下几部分组成…

达梦日志分析工具DMLOG使用

达梦日志分析工具DMLOG1.使用工具的目的2.适用范围3.工具描述4.开启跟踪日志记录执行SQL5.使用条件及限制6.使用说明6.1使用前准备6.2使用方法和步骤7.结果解读1.使用工具的目的 分析SQL是DBA或者数据库服务人员很重要的工作。达梦数据库通过开启SVR_LOG捕捉数据库中运行的所有…