当前位置: 首页 > 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…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅&#xff08;Pub/Sub&#xff09;模式与专业的 MQ&#xff08;Message Queue&#xff09;如 Kafka、RabbitMQ 进行比较&#xff0c;核心的权衡点在于&#xff1a;简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...

ArcPy扩展模块的使用(3)

管理工程项目 arcpy.mp模块允许用户管理布局、地图、报表、文件夹连接、视图等工程项目。例如&#xff0c;可以更新、修复或替换图层数据源&#xff0c;修改图层的符号系统&#xff0c;甚至自动在线执行共享要托管在组织中的工程项。 以下代码展示了如何更新图层的数据源&…...