当前位置: 首页 > news >正文

Linux软件安装

1.Linux安装JDK

1.安装位置

  • /opt

2.安装包

  • jdk-8u171-linux-x64.rpm

3.安装步骤

1.将安装包上传到虚拟机中

[root@localhost opt]# ls
jdk-8u171-linux-x64.rpm

2.执行安装命令

[root@localhost opt]# rpm -ivh jdk-8u171-linux-x64.rpm
准备中...                          ################################# [100%]
正在升级/安装...1:jdk1.8-2000:1.8.0_171-fcs        ################################# [100%]
Unpacking JAR files...tools.jar...plugin.jar...javaws.jar...deploy.jar...rt.jar...jsse.jar...charsets.jar...localedata.jar...

3.查看安装目录

[root@localhost opt]# rpm -qa | grep jdk
jdk1.8-1.8.0_171-fcs.x86_64[root@localhost opt]# rpm -ql jdk1.8
/usr
/usr/java
...[root@localhost ~]# cd /usr/java
[root@localhost java]# ls
default  jdk1.8.0_171-amd64  latest
[root@localhost java]# cd default
[root@localhost default]# ls
bin        javafx-src.zip  man          THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  jre             README.html  THIRDPARTYLICENSEREADME.txt
db         lib             release
include    LICENSE         src.zip

4.配置环境变量

# 1.编辑配置文件
[root@localhost default]# vi /etc/profile# 2.profile文件最后追加以下3行配置
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.# 3.刷新环境变量(没有出现错误表示配置成功)
[root@localhost default]# source /etc/profile

4.测试

# 成功显示
[root@localhost /]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

2.Linux安装Tomcat

  • 需要先安装JDK

1.安装位置

  • /opt/tomcat

2.压缩包

  • apache-tomcat-8.5.60.tar.gz

3.安装步骤

1.将压缩包上传到虚拟机中

[root@localhost tomcat]# ls
apache-tomcat-8.5.60.tar.gz

2.执行解压命令

[root@localhost tomcat]# tar -xzvf apache-tomcat-8.5.60.tar.gz
apache-tomcat-8.5.60/conf/
apache-tomcat-8.5.60/conf/catalina.policy
...[root@localhost tomcat]# ls
apache-tomcat-8.5.60  apache-tomcat-8.5.60.tar.gz

3.启动tomcat

# 1.进入tomcat文件夹
[root@localhost tomcat]# cd apache-tomcat-8.5.60
# 2.进入bin目录
[root@localhost apache-tomcat-8.5.60]# cd bin
# 3.启动tomcat
[root@localhost bin]# ./startup.sh
Using CATALINA_BASE:   /opt/tomcat/apache-tomcat-8.5.60
Using CATALINA_HOME:   /opt/tomcat/apache-tomcat-8.5.60
Using CATALINA_TMPDIR: /opt/tomcat/apache-tomcat-8.5.60/temp
Using JRE_HOME:        /usr/java/default
Using CLASSPATH:       /opt/tomcat/apache-tomcat->8.5.60/bin/bootstrap.jar:/opt/tomcat/apache-tomcat-8.5.60/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
# 4.查看tomcat进程 Bootstrap表示tomcat成功运行
[root@localhost bin]# jps
84071 Jps
64888 Bootstrap
# 5.Linux中测试访问tomcat默认8080端口号
[root@localhost bin]# curl -I http://localhost:8080
HTTP/1.1 200
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 24 Oct 2022 22:24:18 GMT

4.关闭Linux防火墙

  • 1.Windows中访问Linux中的tomcat
    在这里插入图片描述
  • 2.此时需要关闭Linux防火墙
    # 1.查看防火墙状态
    [root@localhost bin]# systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) since 日 2022-10-23 11:59:40 CST; 1 day 18h agoDocs: man:firewalld(1)Main PID: 669 (firewalld)CGroup: /system.slice/firewalld.service└─669 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid# 2.关闭防火墙
    [root@localhost bin]# systemctl stop firewalld
    [root@localhost bin]# systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: deactivating (stop-sigterm) since 二 2022-10-25 06:30:36 CST; 44s agoDocs: man:firewalld(1)Main PID: 669 (firewalld)CGroup: /system.slice/firewalld.service└─669 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid# 3.关闭防火墙开机自启动
    # 每次开机防火墙都会自动打开,需要重新设置,所以在关闭防火墙后,关闭防火墙开机自启动,下次启动就不用重新设置
    [root@localhost bin]# systemctl disable firewalld
    Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.# 4.关闭selinux(Security-Enhanced Linux)	linux安全子系统
    # 不关闭会需要更多的配置
    # 查看状态
    [root@localhost ~]# getenforce
    Enforcing
    [root@localhost ~]# setenforce 0
    [root@localhost ~]# getenforce
    Permissive
    # 查看状态
    [root@localhost ~]# sestatus
    SELinux status:                 enabled
    SELinuxfs mount:                /sys/fs/selinux
    SELinux root directory:         /etc/selinux
    Loaded policy name:             targeted
    Current mode:                   permissive
    Mode from config file:          enforcing
    Policy MLS status:              enabled
    Policy deny_unknown status:     allowed
    Max kernel policy version:      31
    # 永久关闭selinux:
    # vi /etc/selinux/config
    # SELINUX=disabled
    # 配置文件后需要重启才能生效
    
    在这里插入图片描述

5.查看tomcat启动日志

# catalina.日期.log  记录tomcat启动时候的信息
# localhost.日期.log 记录tomcat启动时调用的方法
# localhost_access_log.日期.txt 访问tomcat的请求的所有地址以及请求的路径、时间,请求协议以及返回码等信息
# catalina.out 包含tomcat运行时所有的日志输出
[root@localhost apache-tomcat-8.5.60]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@localhost apache-tomcat-8.5.60]# cd logs
[root@localhost logs]# ls
catalina.2022-10-25.log      localhost.2022-10-25.log
catalina.out                 localhost_access_log.2022-10-25.txt
host-manager.2022-10-25.log  manager.2022-10-25.log
[root@localhost logs]# less catalina.2022-10-25.log
[root@localhost logs]# less localhost.2022-10-25.log
[root@localhost logs]# less localhost_access_log.2022-10-25.txt
[root@localhost logs]# less catalina.out

3.Linux安装MySQL

1.安装位置

  • /opt/mysql5.7
    在这里插入图片描述

2.安装步骤

1.通过wget下载rpm安装包

[root@localhost tomcat]# wget -P /opt/mysql5.7 https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

在这里插入图片描述

2.通过rpm安装MySQL

[root@localhost mysql5.7]# rpm -ivh mysql57-community-release-el7-9.noarch.rpm

在这里插入图片描述

3.通过yum安装mysql(一般使用yum安装)

[root@localhost mysql5.7]# yum install -y mysql-server

在这里插入图片描述
如果出现上面安装失败可以通过下面方式解决(禁掉GPG验证检查)

[root@localhost mysql5.7]# yum -y install mysql-community-server --nogpgcheck

3.启动MySQL

# 1.启动mysql
[root@localhost mysql5.7]# systemctl start mysqld
# 2.查看mysql状态
[root@localhost mysql5.7]# systemctl status mysqld
# 3.查看mysql日志获取初始化密码
[root@localhost mysql5.7]# head -n 10 /var/log/mysqld.log
# 4.登陆mysql(输入上述初始化密码)
[root@localhost mysql5.7]# mysql -u root -p
# 5.修改mysql的密码策略(注意:默认密码检查策略比较严格,必须定义如类似密码 mysql> alter user 'root'@'localhost' identified by '$BAIZHIroot2002';)
mysql> set global validate_password_policy=0; 	# 修改为简单策略
mysql> set global validate_password_length=4;	# 修改密码长度最低为4
# 6.修改mysql密码
mysql> alter user root@'localhost' identified by 'root';

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.设置root允许远程访问

mysql> use mysql;
mysql> update user set host = '%' where user = 'root';
mysql> flush privileges;

在这里插入图片描述

5.关闭Linux防火墙

[root@localhost mysql5.7]# systemctl status mysqld	//当前已经关闭,若未关闭则执行 systemctl stop firewalld
● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: inactive (dead)Docs: man:mysqld(8)http://dev.mysql.com/doc/refman/en/using-systemd.html

6.Navicat连接MySQL

在这里插入图片描述

7.远程访问MySQL

在这里插入图片描述

4.Linux安装Redis

5.Linux安装RibbitMQ

6.Linux系统下SSM项目打包部署

7.Linux系统下SpringBoot项目打包部署

  • 需要先安装JDK

1.简单SpringBoot项目打包部署(未连接mysql)

1.配置文件

  • 1.pom.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>SpringBootSimple</artifactId><version>1.0-SNAPSHOT</version><!--SpringBoot项目此处打成jar包即可,打成war包会报错--><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><!--告知项目的启动类--><start-class>com.wd.SpringBootSimpleApplication</start-class></properties><dependencies><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.6.3</version></dependency></dependencies><build><plugins><!--如果不加此处会报异常[root@localhost springboot]# java -jar SpringBoot-1.0-SNAPSHOT.jarSpringBoot-1.0-SNAPSHOT.jar中没有主清单属性--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.6.3</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>
    
  • application.yaml
    server:#修改项目端口号port: 8890#修改项目访问路径servlet:context-path: /springboot_simple
    

2.启动类

package com.wd;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootSimpleApplication {public static void main(String[] args) {SpringApplication.run(SpringBootSimpleApplication.class, args);}
}

3.接口

package com.wd.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@RequestMapping("/user")
@Controller
public class UserController {@RequestMapping("hello")@ResponseBodypublic String hello(){return "Hello SpringBootSimple";}
}

4.打包

  • 1.首先刷新Maven
  • 2.清空之前的target文件夹
  • 3.将test禁用(因为打包时会默认执行test中的代码,如果测试代码没有问题才会打包,如果测试代码有问题则打包失败)
  • 4.打包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5.部署

  • 1.将jar包上传到Linux中
  • 2.执行jar包
    # 错误原因:jar包内文件以及配置信息缺失
    # 正常的jar包内应该包含三个文件:BOOT-INF、META-INF、org
    # META-INF文件中有一个 MANIFEST.MF文件,正常文件如下图成功案例所示,配置丢失的文件如下图失败案例所示
    [root@localhost springboot]# java -jar SpringBoot-1.0-SNAPSHOT.jar
    SpringBoot-1.0-SNAPSHOT.jar中没有主清单属性# 解决方法
    pom.xml文件加入上述插件配置# 部署成功
    [root@localhost springboot]# java -jar SpringBootSimple-1.0-SNAPSHOT.jar.   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::                (v2.6.3)2022-10-25 14:29:05.065  INFO 4411 --- [           main] com.wd.SpringBootSimpleApplication       : Starting SpringBootSimpleApplication using 	Java 1.8.0_171 on localhost.localdomain with PID 4411 (/opt/springboot/SpringBootSimple-1.0-SNAPSHOT.jar started by root in /opt/springboot)
    2022-10-25 14:29:05.084  INFO 4411 --- [           main] com.wd.SpringBootSimpleApplication       : No active profile set, falling back to default profiles: default
    2022-10-25 14:29:09.500  INFO 4411 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8890 (http)
    2022-10-25 14:29:09.516  INFO 4411 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    2022-10-25 14:29:09.516  INFO 4411 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.56]
    2022-10-25 14:29:09.942  INFO 4411 --- [           main] o.a.c.c.C.[.[.[/springboot_simple]       : Initializing Spring embedded WebApplicationContext
    2022-10-25 14:29:09.942  INFO 4411 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 4738 ms
    2022-10-25 14:29:12.303  INFO 4411 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8890 (http) with context path '/springboot_simple'
    2022-10-25 14:29:12.350  INFO 4411 --- [           main] com.wd.SpringBootSimpleApplication       : Started SpringBootSimpleApplication in 8.473 seconds (JVM running for 11.126)
    2022-10-25 14:29:40.114  INFO 4411 --- [nio-8890-exec-1] o.a.c.c.C.[.[.[/springboot_simple]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
    2022-10-25 14:29:40.114  INFO 4411 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
    2022-10-25 14:29:40.115  INFO 4411 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
    
  • jar包及其解压后文件目录
    在这里插入图片描述
  • 失败案例在这里插入图片描述
  • 成功案例在这里插入图片描述

6.测试

2.简单SpringBoot项目打包部署(带日志,未连接mysql)

1.配置文件

  • 1.pom.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>SpringBootSimple</artifactId><version>1.0-SNAPSHOT</version><!--SpringBoot项目此处打成jar包即可,打成war包会报错--><packaging>jar</packaging><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><!--告知项目的启动类--><start-class>com.wd.SpringBootSimpleApplication</start-class></properties><dependencies><!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>2.6.3</version></dependency>	<!--lombok自带slf4j日志--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version></dependency></dependencies><build><plugins><!--如果不加此处会报异常[root@localhost springboot]# java -jar SpringBoot-1.0-SNAPSHOT.jarSpringBoot-1.0-SNAPSHOT.jar中没有主清单属性--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.6.3</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>
    
  • application.yaml
    server:#修改项目端口号port: 8890#修改项目访问路径servlet:context-path: /springboot_simple
    

2.启动类

package com.wd;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootSimpleApplication {public static void main(String[] args) {SpringApplication.run(SpringBootSimpleApplication.class, args);}
}

3.接口

package com.wd.controller;import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;import java.time.Instant;@Slf4j
@Controller
@RequestMapping("/user")
public class UserController {@RequestMapping("hello")@ResponseBodypublic String hello(){log.info("{} 调用hello方法", Instant.now());return "Hello SpringBootSimple";}@RequestMapping("bey")@ResponseBodypublic String bey(){log.info("{} 调用bey方法", Instant.now());return "Bey SpringBootSimple";}
}

4.打包

  • 1.首先刷新Maven
  • 2.清空之前的target文件夹
  • 3.将test禁用(因为打包时会默认执行test中的代码,如果测试代码没有问题才会打包,如果测试代码有问题则打包失败)
  • 4.打包
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

5.部署

  • 1.将jar包上传到Linux中
  • 2.创建日志文件
  • 3.后台一直运行项目并实时打印日志
  • 4.动态查看日志
    [root@localhost logs]# touch consoleMsg.log
    [root@localhost springboot]# nohup java -jar SpringBootSimple-1.0-SNAPSHOT.jar > logs/consoleMsg.log 2>&1 &
    [1] 9045
    [root@localhost springboot]# tail -f -n 20 logs/consoleMsg.log
    ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::                (v2.6.3)2022-10-25 16:02:21.383  INFO 9045 --- [           main] com.wd.SpringBootSimpleApplication       : Starting SpringBootSimpleApplication using Java 1.8.0_171 on localhost.localdomain with PID 9045 (/opt/springboot/SpringBootSimple-1.0-SNAPSHOT.jar started by root in /opt/springboot)
    2022-10-25 16:02:21.386  INFO 9045 --- [           main] com.wd.SpringBootSimpleApplication       : No active profile set, falling back to default profiles: default
    2022-10-25 16:02:23.694  INFO 9045 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8890 (http)
    2022-10-25 16:02:23.735  INFO 9045 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
    2022-10-25 16:02:23.735  INFO 9045 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.56]
    2022-10-25 16:02:23.887  INFO 9045 --- [           main] o.a.c.c.C.[.[.[/springboot_simple]       : Initializing Spring embedded WebApplicationContext
    2022-10-25 16:02:23.887  INFO 9045 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2377 ms
    2022-10-25 16:02:25.659  INFO 9045 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8890 (http) with context path '/springboot_simple'
    2022-10-25 16:02:25.687  INFO 9045 --- [           main] com.wd.SpringBootSimpleApplication       : Started SpringBootSimpleApplication in 5.46 seconds (JVM running for 6.993)
    2022-10-25 16:03:58.634  INFO 9045 --- [nio-8890-exec-1] o.a.c.c.C.[.[.[/springboot_simple]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
    2022-10-25 16:03:58.635  INFO 9045 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
    2022-10-25 16:03:58.636  INFO 9045 --- [nio-8890-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms
    2022-10-25 16:03:59.577  INFO 9045 --- [nio-8890-exec-1] com.wd.controller.UserController         : 2022-10-25T08:03:59.577Z 调用hello方法
    2022-10-25 16:04:10.007  INFO 9045 --- [nio-8890-exec-2] com.wd.controller.UserController         : 2022-10-25T08:04:10.007Z 调用bey方法# 查询SpringBoot项目的端口号
    [root@localhost logs]# ps -aux | grep SpringBoot# 杀死该后台运行的项目
    kill -9 9045
    

6.测试

8.Linux系统下SpringCloud项目打包部署

安装c语言开发环境

  • rpm
  • yum
yum groupinstall "Development tools"
  • 安装的是开发工具组,包含c,c++等多种语言,还有gdb调试器
  • 光安装c语言,可以按照gcc即可
yum -y install gcc
  • 按装vim编辑器及插件
yum -y install vim-*
  • 安装vim编辑器
  • 编写程序实现将百分制成绩转换为等级制成绩
  • 编译程序,运行程序
  • gdb调试程序
  • 安装gdb调试程序
yum -y install gdb
  • 编译用gcc编译器
  • gcc scoreGrade
    在这里插入图片描述
  • gcc scoreGrade.c -o score
  • -o执行文件的名字,即重命名
  • 运行程序
  • ./score
  • 如果需要调试程序,需要在编译时加上-g选项
  • gcc -g scoreGrade.c -o score
  • 调试
  • gdb score
  • 运行
  • ./score
  • 默认编译输出是a.out,不管编译的是哪一个c语言程序都会输出一个a.out
    在这里插入图片描述
  • ./a.out
    在这里插入图片描述
  • 执行可执行文件名用-o指定
    在这里插入图片描述
  • 可以同时编译多个可执行文件
  • gcc 文件名1 文件名2
    在这里插入图片描述
  • 调试内部命令:
  • file 文件名
  • y
  • l查看源码
  • b 行码 设置断点,注意b和行码之间有空格
    在这里插入图片描述
  • r 表示运行
  • 运行到断点会停止
  • n(next)会进行下一步
  • s(step)也是进行下一步
  • 如果有函数存在,s会进入函数体中调试,n不会进入函数体中,没有函数调用时,s和n效果一样
    q退出
    在这里插入图片描述

相关文章:

Linux软件安装

1.Linux安装JDK 1.安装位置 /opt 2.安装包 jdk-8u171-linux-x64.rpm 3.安装步骤 1.将安装包上传到虚拟机中 [rootlocalhost opt]# ls jdk-8u171-linux-x64.rpm2.执行安装命令 [rootlocalhost opt]# rpm -ivh jdk-8u171-linux-x64.rpm 准备中... #####…...

【表面缺陷检测】基于YOLOX的PCB表面缺陷检测(全网最详细的YOLOX保姆级教程)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 Hello,大家好,我是augustqi。 今天给大家分享一个表面缺陷检测项目:基于YOLOX的PCB表面缺陷检测(保姆级教程)。多的…...

【C#基础】C# 程序基础语法解析

序号系列文章0【C#基础】初识编程语言C#1【C#基础】C# 程序通用结构总结 文章目录前言基础语法1. using 关键字2. namespace 关键字3. class 关键字4. 成员字段5. 成员方法6. Main 方法7. new 关键字8. 标识符9. 关键字结语前言 &#x1f604; 大家好&#xff0c;我是writer桑&…...

【webpack】webpack 中的插件安装与使用

一、webpack 插件的作用 通过安装和配置第三方的插件&#xff0c;可以拓展 webpack 的能力&#xff0c;从而让 webpack 用起来更方便。最常用的 的webpack 插件有如下两个&#xff1a; 1.webpack-dev-server&#xff08;实时打包构建&#xff09; 类似于 node.js 阶段用到的 no…...

生物素-磺基-活性酯,Sulfo-NHS Biotin科研用试剂简介;CAS:119616-38-5

生物素-磺基-活性酯,Sulfo-NHS Biotin 结构式&#xff1a; ​ 编辑 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 英文名称&#xff1a;Sulfo-NHS-Biotin Sulfosuccinimidyl biotin 中文名称&#xff1a;磺酸基-Biotin-N-琥珀酰亚胺基酯 CAS&…...

Debain安装命令

目录 一、安装sudo命令 二、安装jdk8 三、更换软件源 四、Debian 安装 yum 五、安装zip、unzip、curl、lrzsz、NUMA 六、安装Maven 五、问题 一、安装sudo命令 1&#xff09;执行sudo命令&#xff0c;提示 -bash: sudo: command not found的解决方法 apt-get install s…...

2023-02-10 - 6 聚合

当用户使用搜索引擎完成搜索后&#xff0c;在展示结果中需要进行进一步的筛选&#xff0c;而筛选的维度需要根据当前的搜索结果进行汇总&#xff0c;这就用到了聚合技术。聚合的需求在很多应用程序中都有所体现&#xff0c;例如在京东App中搜索“咸鸭蛋”&#xff0c;然后单击搜…...

Servlet实现表白墙

目录 一、表白墙简介 二、代码实现 1、约定前后端交互的接口 2、后端代码实现 3、前端代码实现 三、效果演示 一、表白墙简介 在表白墙页面中包含三个文本框&#xff0c;分别表示表白者&#xff0c;表白对象&#xff0c;表白内容&#xff0c;在文本框中输入内容之后&…...

[python入门㊸] - python测试函数

目录 ❤ 测试函数 ❤ 单元测试和测试用例 ❤ 可通过的测试 ❤ 不能通过的测试 ❤ 测试未通过时怎么办 ❤ 添加新测试 ❤ 测试函数 学习测试&#xff0c;得有测试的代码。下面是一个简单的函数&#xff1a; name_function.py def get_formatted_name(first, last):…...

通讯录文件操作化

宝子&#xff0c;你不点个赞吗&#xff1f;不评个论吗&#xff1f;不收个藏吗&#xff1f; 最后的最后&#xff0c;关注我&#xff0c;关注我&#xff0c;关注我&#xff0c;你会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的很重…...

为什么 Web3 社交将超越其 Web2 同行

我们最近听到了很多关于 web3 社交媒体平台的消息。但如果你没有跟上&#xff0c;你可能想知道为什么我们已经有了 Twitter、Facebook、Instagram 等&#xff0c;我们还需要 web3 社交。好吧&#xff0c;这一切都取决于谁拥有权力。 在 web2 中&#xff0c;权力掌握在寻求收入最…...

当资深程序员深夜去“打劫”会发生什么?——打家劫舍详解

文章目录一、前言二、概述三、打家劫舍第一晚四、打家劫舍第二晚五、打家劫舍第三晚......一、前言 大家好久不见&#xff0c;正如标题所示&#xff0c;今天我不打算聊一些枯燥的算法理论&#xff0c;我们来聊一聊程序员有多厉害&#xff01; 注意&#xff01;&#xff01;&am…...

linux 线程

文章目录1、线程的概念1.1、进程 vs 线程1.2、线程的种类2、线程的控制2.1、线程的创建2.2、线程的退出2.3、线程的取消2.4、线程的等待2.5、线程的分离2.5、线程清理函数线程清理函数响应的时机线程清理函数不响应的时机3、线程的同步和互斥3.1、锁机制3.1.1、锁的类型3.1.2、…...

Windows 安装appium环境

1 windows Appium环境 1.1 安装Node.js Node.js的安装相对简单,下载安装包安装&#xff08;安装包node-v19.6.0-x64.msi&#xff09;, nodejs 安装 然后一路狂点下一步就可以了 安装完成后,在终端中输入node -v,显示版本号则表示安装成功 node-v16.13.1 1.2 JDK安装及环境变…...

为什么要在电子产品中使用光耦合器?

介绍 光耦合器不仅可以保护敏感电路&#xff0c;还可以使工程师设计各种硬件应用。光耦合器通过保护元件&#xff0c;可以避免更换元件的大量成本。然而&#xff0c;光耦合器比保险丝更复杂。光耦合器还可以通过光耦合器连接和断开两个电路&#xff0c;从而方便地控制两个电路…...

Vue3 如何实现一个函数式右键菜单(ContextMenus)

前言: 最近在公司 PC 端的项目中使用到了右键出现菜单选项这样的一个工作需求&#xff0c;并且自己现在也在实现一个偶然迸发的 idea&#xff08; 想用前端实现一个 windows 系统从开机到桌面的 UI&#xff09;&#xff0c;其中也要用到右键弹出菜单这样的一个功能&#xff0c;…...

ffmpeg转码转封装小工具开发

如下图所示&#xff0c;是本人开发的一个转码转封装小工具 其中目标文件视频编码格式支持&#xff1a;H264&#xff0c;H265&#xff0c;VP8&#xff0c;VP9。 目标文件封装格式支持&#xff1a;mp4,mkv,avi,mov,flv。 目标文件音频编码格式支持两个&#xff0c;COPY和AAC&am…...

重入和线程安全

在整个文档中&#xff0c;重入和线程安全用于标记类和函数&#xff0c;从而表明怎样在多线程应用中使用它们。 线程安全函数可以从多个线程同时调用&#xff0c;即使调用使用共享数据也是如此&#xff0c;因为对共享数据的所有引用都是序列化的。也可以从多个线程同时调用重入…...

MySQL数据库06——条件查询(WHERE)

MySQL条件查询&#xff0c;主要是对数据库里面的数据按照一定条件进行筛选&#xff0c;主要依靠的是WHERE语句进行。 先来了解一下基础的条件运算。 关系运算符 逻辑运算符 逻辑运算符优先级&#xff1a;NOT>AND>OR&#xff0c;关系运算符>逻辑运算符 SQL特殊运算符…...

Lesson 6.5 机器学习调参基础理论与网格搜索

文章目录一、机器学习调参理论基础1. 机器学习调参目标及基本方法2. 基于网格搜索的超参数的调整方法2.1 参数空间2.2 交叉验证与评估指标二、基于 Scikit-Learn 的网格搜索调参1. sklearn 中网格搜索的基本说明2. sklearn 中 GridSearchCV 的参数解释3. sklearn 中 GridSearch…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...