linux系统学习

news2024/11/19 6:15:26

本文建立于Linux的课堂学习

文章目录

  • Linux基础
    • 1. Linux操作环境
      • 1.1 简述Linux文件类型有哪些
      • 1.2 简述Linux的文件访问权限
      • 1.3 简述shell的功能,常见的shell有几种
      • 1.4 列举几个常用的Shell环境变量以及用途
    • 2. Linux Shell命令操作
      • 2.1 简述在Linux Shell中获取帮助的哪些方法
      • 2.2 列出常用的通配符
      • 2.3 列出Linux shell中,在\后面的转义字符,并说明转义字符的作用
      • 2.4 Linux shell的三种引号,以及其用法
      • 2.5 简述Linux中管道的作用
        • 2.5.1 管道的实现机制
      • 2.6 Linux Shell打开时会默认打开3个标准文件,分别是什么,文件描述符是什么
      • 2.7 Linux 中输入重定向指什么,指令是什么
      • 2.8 输出重定向指的是什么,指令是什么
      • 2.9 简述有哪些“浏览及搜索文件系统”命令,并说明命令用途
      • 2.10 文件系统操作
      • 2.11 用户组操作
    • 3. LinuxShell编程
      • 3.1 基础知识
        • 3.1.1 常见的shell种类
        • 3.1.2 常见的shell命令种类
        • 3.1.3 列出shell命令的执行顺序
        • 3.1.4 shell中的注释状态,退出状态,逻辑命令和复合操作
      • 3.2 Shell变量
      • 3.3 控制结构
      • 3.4 shell函数
      • 3.5 Shell内部命令
      • 3.6 shell程序调试
    • 4. Linux C语言编程基础
      • 4.1 gcc编译器

Linux基础

1. Linux操作环境

1.1 简述Linux文件类型有哪些

  1. 普通文件,如文本文件,文件属性表示为-

  2. 目录,文件属性表示为d(directory)

  3. 链接文件,一般指文件的符号链接,又叫软链接文件属性表示为l(link)

  4. 块设备,一般指硬盘软盘等存储设备文件表示为b(block)

  5. 字符设备,以字节流的方式进行访问,通常要用到open、close、read、write等系统调用,字符终端、穿孔设备和键盘等就是字符设置。另外字符设备文件是一文件流的方式进行访问的,因此可以顺序读取,但通常不支持随机存取,文件表示为c(char)

  6. 管道文件,主要用于进程间通信,文件表示为p(pipe)

  7. 套接字文件,主要用于通信,特别是在网络上,文件表示为s(socket)

1.2 简述Linux的文件访问权限

Linux系统是典型的多用户系统,针对与不同用户,不同组中的用户对文件的访问,操作权限有不同的设置
使用ls -l指令可查看文件的访问权限
在这里插入图片描述
最前面的10个字母就是用来表示文件的访问权限

  • 第一个字母表示文件类型就是上面所说的文件表示
  • 第2到4个字母表示用户权限,r表示可读,w表示可写,x表示可执行
  • 第5到7个字母表示文件所属组的权限,r表示可读,w表示可写,x表示可执行
  • 第8到10个字母表示除上面限定的其他用户的权限,r表示可读,w表示可写,x表示可执行
    可以使用chmod来对文件的访问权限进行修改
    上面的字母也可以用数字表示
    从2到10字母每3个组成一个 r表示4,w表示2,x表示1,例如一个文件中用户可读写执行,同组的可读,其他用户可读 就用数字表示为744

1.3 简述shell的功能,常见的shell有几种

shell为用户提供操作系统的接口,他是命令语言、命令解释程序以及程序设计语言
当从shell或其他程序想Linux内核传递命令时,内核会做出响应的反应。
常见的Shell有

  1. Bourne Shell(/usr/bin/sh或/bin/sh)
  2. Bourne Again Shell(/bin/bash)
  3. C Shell(/usr/bin/csh)
  4. K Shell(/usr/bin/ksh)
  5. Shell for Root(/sbin/sh)

其中Ubuntu使用的是bash也就是Bourne Again shell

1.4 列举几个常用的Shell环境变量以及用途

  1. PATH:命令搜索路径
  2. HOME:用户加目录路径
  3. PWD:当前路径
  4. HOSTNAME:主机名
  5. SHELL:用户当前使用的SHELL
  6. PS1:一级命令提示符
  7. TMOUT:用户和系统交互过程的超时
  8. IFS:系统输入分割符
  9. OFS:系统输出分隔符
  10. HISTSIZE:历史命令保存的最大行数
    在这里插入图片描述

2. Linux Shell命令操作

2.1 简述在Linux Shell中获取帮助的哪些方法

  1. –help,几乎所有的Linux命令都提供–help选项

  2. man,Linux的系统手册

  3. info,类似 “man”,但可显示更完整的最新的GNU工具信息。以类似html文件的格式组织,即支持回退,超链接等操作

2.2 列出常用的通配符

  1. *:匹配多个字符
  2. ?: 匹配单个字符
  3. […]: 匹配括号中出现的任意一个字符,例如[abc].txt匹配到的就是a.txt,b.txt,c.txt
  4. [!..]:排除括号中的任意字符
  5. {…}: 生成序列,每个元素之间用逗号分割,如{a,bc},生成a,bc两个元素

2.3 列出Linux shell中,在\后面的转义字符,并说明转义字符的作用

对于输出一些特殊字符需要使用\来进行转义
如:
?、>、<、|、*、[、]、{、}、\、`、$、#、"、/、%、;、&
转义字符就是作用于程序理解上,把这些字符转义为一般的字符处理,而不是程序中的关键字的使用

2.4 Linux shell的三种引号,以及其用法

  1. 双引号:在双引号中除了$,",`和\以外所有字符全部解释为符号本身
  2. 单引号:在单引号中的所有字符包括上面的特殊字符都解释成字符本身而成为普通字符
  3. 反引号:在分引号中的字符串将被解释成Shell命令执行

2.5 简述Linux中管道的作用

管道式Linux中一种重要的通信方式,是把一个程序的输出直接连接到另一个程序的输入,连接多个程序组成一个复杂的程序。

2.5.1 管道的实现机制

在Linux中管道是一种使用非常频繁的通信机制,从本质上说,管道是一种特殊的文件,管道可以克服使用文件进行通信的两个问题

  1. 限制管道的大小,实际上,管道是一个固定大小的缓冲区,在Linux中,该缓冲区大小为1页,也就是4K字节,使得他的大小不像文件哪样不校验的增长,使用单个固定缓冲区也会带来问题,比如在写管道时可能写满,当这种情况发生时,随后对管道的写操作就会被默认阻塞,等待某些数据被读取,以腾出足够的空间以写
  2. 读取程序也可能比写程序快,当所哟当前进程数据已经被读取是,管道为空,所有的后续读操作都会阻塞,等待某些数据的写入,才能继续读

2.6 Linux Shell打开时会默认打开3个标准文件,分别是什么,文件描述符是什么

  • 标准输入 (STDIN)文件描述符为0
  • 标准输出(STDOUT)文件描述符为1
  • 错误输出(ERROUT)文件描述如为2

2.7 Linux 中输入重定向指什么,指令是什么

一般情况下命令的输入是从标准输入的地方读取输入,但也可以重定向到从文件中读取输入写入到命令中

  1. 可使用 < 来使指定文件作为命令的输入
cat < test.txt
  1. 可以使用 << 来从控制台进行输入,直到输入<<后面自定义字符才终止输入
cat << +

在这里插入图片描述

2.8 输出重定向指的是什么,指令是什么

输出可能为正确输出,错误输出,一般都会将所有输出都输出到控制台,输出重定向就是可以设置输出到文件中,既可以设置正确输出到文件中,也可设置错误输出到文件中
可以使用

  1. 可以使用 > 来将标准正确输出到指定文件中,采用覆盖写的方式

    ll text > finish
    
  2. 可以使用2> 将标准错误输出到指定文件中,采用覆盖写的方式

    ll test2 2> error
    

    在这里插入图片描述3. 可使用 >> 来将标准输出到文件中,采用追加写的方式

    ll test >> finsh
    

    在这里插入图片描述

  3. 可使用2>> 将错误输出到文件中,采用追加写的方式

  4. 可使用 1 > file1 2> file2 来分别将标准输出到file1中将错误输出到file2中

  5. 可使用 1>> file1 2>&1 来将标准输出和错误输出到同一个文件中采用追加的方式
    在这里插入图片描述

2.9 简述有哪些“浏览及搜索文件系统”命令,并说明命令用途

  1. find

    • 在在文件目录树中搜索文件
    • 在这里插入图片描述
  2. witch

    • 在环境目录$PATH中查找符合条件的文件,查看当前生效的命令是哪个
    • 在这里插入图片描述
  3. whereis

    • 根据文件名搜索二进制文件、手册页文件、源代码文件
    • 在这里插入图片描述
  4. local

    • 在保存文件和目录的系统数据库中查找文件符合指定模式的文件,系统数据库一般每天自动更新一次,速度比find快,但是可能搜索不到最近更新的文件
    • 在这里插入图片描述

2.10 文件系统操作

  1. 扩充磁盘大小
    在这里插入图片描述

  2. 进入系统
    使用fdisk -l 查看磁盘
    在这里插入图片描述

  3. 添加新的分区
    使用 fdisk /dev/sda 可在/dev/sda上进行操作
    输入m查看帮助文档
    输入n可创建新的分区
    然后一直按回车即可(当然针对需要可以执行输入)
    最后确定无误后输入w保存退出
    在这里插入图片描述
    在这里插入图片描述
    此时就已经创建分区成功了

  4. 初始化分区
    pvcreate /dev/sda4这里就是上面创还能的分区的名称

  5. 将分区设置为ext3格式的文件系统
    mkfs -t ext3 /dev/sda4

  6. 将分区挂载到一个文件中
    mkdir /mnt/sda4
    sudo mount /dev/sda4 /mnt/sda4
    在这里插入图片描述

  7. 查看分区
    df -h
    在这里插入图片描述

  8. *取消挂载
    umount /mnt/sda4可取消上面挂载到/mnt/sda4目录的磁盘
    在这里插入图片描述

2.11 用户组操作

  1. 添加用户
    要求创建一个叫ywh 的用户,需要创建/home下家目录,默认的shell为bash
    指令为useradd -m -b /home -s /bin/bash ywh
    在这里插入图片描述
    参数解释

m: 创建家目录
b: 指定家目录所在的目录
s: 指定默认的shell
d: 指定家目录的名称
G: 指定辅组id
g: 指定主组id
N: 不创建同名组
在这里插入图片描述

  1. 删除用户
    sudo userdel 用户名可删除用户
    在这里插入图片描述
    在这里插入图片描述

  2. 添加组
    sudo groupadd 组名
    在这里插入图片描述

  3. 删除组
    sudo groupdel 组名
    在这里插入图片描述

3. LinuxShell编程

3.1 基础知识

3.1.1 常见的shell种类

  1. sh
    全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。
  2. bash
    tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。
  3. tcsh
    tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。
  4. acsh
    tcsh 是 csh 的增强版,加入了命令补全功能,提供了更加强大的语法支持。
  5. csh
    由柏克莱大学的 Bill Joy 设计的,这个 shell 的语法有点类似C语言,所以才得名为 C shell ,简称为 csh

3.1.2 常见的shell命令种类

  1. 内部命令
    shell解释器默认支持的命令,系统中没有相应的支持文件不需要加sudo,例如cd,source,echo等

  2. shell命令
    像shell语言一样书写一系类代码,可以像其他语言一样被引用

  3. 外部命令
    独立于shell的可执行程序,在文件系统中有相应的可执行文件
    如ls,find,delete,gerp,config等
    命令行会建立一个当前的shel的复制进程来执行,在执行过程中存在进程创建和销毁

在这里插入图片描述

3.1.3 列出shell命令的执行顺序

别名->关键字->函数->内置命令->外部命令
在同名时别名的优先级最高,外部命令的优先级最低

3.1.4 shell中的注释状态,退出状态,逻辑命令和复合操作

  1. 注释
    采用#来表示注释
    在这里插入图片描述
    要加空格来进行区分
  2. 退出状态
    使用$?可以获取上一条指令的执行返回结果,也就是退出状态
    正常返回0,返回非0就是执行错误

在这里插入图片描述

  1. 逻辑命令
    shell中支持的逻辑运算符有;,||,&&三种
    在这里插入图片描述

  2. 复合操作
    {}在本shell中执行,()在子shell中执行
    在这里插入图片描述在这里插入图片描述

3.2 Shell变量

  1. 变量的赋值与引用

    1. 使用=来进行赋值,但是=两侧不能有空格
    2. ${变量名},当需要引用变量的值而且变量后面有非空字符串时,需要使用{}来包围变量
    3. ${#变量名}获取变量的长度
    4. unset删除变量的值
      在这里插入图片描述
  2. 命令替换

    1. ``反引号,当要使用命令的执行结果作为变量的值时,可将命令放到反引号中
    2. $(),同上面一样,可以将命令的执行结果作为变量的值

在这里插入图片描述

  1. 变量属性声明

    1. 使用内部指令 declear typeset可以设置变量属性
      -r 只读 -i整数
      -a数组 -f函数
      -x导出变量
      在这里插入图片描述
  2. 声明数组
    类似于C程序中声明数组一样,使用变量名而不适用[]来指定下标默认是0号元素
    使用[*]和[@]来表示数组中非空元素

    在这里插入图片描述

  3. 变量引用操作

    1. {varrame:-‘str’},当变量varname为空时,返回str,但是变量依然是未定义状态
    2. {varname:+‘str’},当变量varname为空时,返回空串,当变量不为空串时返回str
    3. {varname:=‘str’},当变量为空时,返回str,并将变量的值置为str
    4. {varname:?‘str’},会判断varname是否为空串,当为空串时会抛出错误,并将错误信息设置为str,并将程序终止
      上面的四个操作中如果不加冒号,则判断的是varname是否定义,而不是是否为空串
      在这里插入图片描述
      在这里插入图片描述
  4. 模式匹配替换
    1. {varname#patten}:在varname变量值从头开始,匹配满足后面pattern的最小子串,并将其删除,最后输出,但是对于原变量的值不进行改变
    2. {varname##pattern}:在varname变量值从头开始,匹配满足后面pattern的最大子串,并将其删除,最后输出,但是低于原变量的值不进行改变
    在这里插入图片描述
    3. {varname%pattern}: 在varname变量值中从尾开始,匹配满足后面pattern的最小子串,并将其删除,最后输出,但是对于原变量的值不进行改变
    4. {varname%%pattern}:在varname变量值中从尾开始,匹配满足后面apttern的最小子串,并将其删除,最后输出,但是对于原变量的值不进行改变
    在这里插入图片描述

     5. {varname/pattern/str}:匹配varname变量的值,满足pattern替换为str,但是对于原变量的值不进行改变
     	![在这里插入图片描述](https://img-blog.csdnimg.cn/1590950e87104b818f42358132ef435c.png)
    
  5. 位置参数和特殊变量
    1. 位置参数
    也称为位置变量,使用0,1,2,3…这些整数来命名,使用$0,$1,$2,$3,来进行引用,$0用来表示命令名称,1对应第一个参数,往后排序
    $#返回命令行上的参数个数
    $* 以单个字符串显示想脚本创徐传递的所有参数。但是不包含$0
    $@从参数1开始,显示想脚本程序传递的所有参数,不包含 0 。如果放在双引号中进行扩展,这 " 0。如果放在双引号中进行扩展,这" 0。如果放在双引号中进行扩展,这"@“于”$1"“$2"”$3"…等效
    $?上一条指令执行后的返回值
    $$运行脚本的当前进程的进程号
    $!上一个后台指令对应的进程号
    $-有当前shell设置的执行标志名组成的字符串
    在这里插入图片描述
    2. 使用内部指令set来设置参数
    在这里插入图片描述
    3. 使用内部指令shift来移动位置参数,即$2的值传递给$1
    在这里插入图片描述

  6. read命令

    1. 变量个数等于给定数据个数相同,则依次对应赋值
      在这里插入图片描述
    2. 变量个数小于数据个数,则会将剩下的值赋值给最后一个变量
      在这里插入图片描述
    3. 变量个数大于数据个数,则会依次对应赋值,而没有数据与之对应的变量采取空串
      在这里插入图片描述
    4. 如果省略了所有变量,则输入的数据会保存在环境变量REPLY中
      在这里插入图片描述
  7. export命令
    程序中要访问外部的变量的值,默认只有HOME,MAIL,PATH, PWD这几个能够访问,其他在外部定义的变量的值无法传入脚本中
    在这里插入图片描述
    export可敬变量设置为环境变量
    在这里插入图片描述

3.3 控制结构

  1. 测试条件 test

    • 格式 test 表达式 或者使用 [ 表达式 ]
    • 如果表达式的值为真,其退出状态为0(成功),否则退出值为非零
    • 使用[]来表示表达式时,两侧都需要空格
    • 表达式中的变量最好要使用双引号括起来
      在这里插入图片描述
    1. 测试文件
      在这里插入图片描述
    2. 测试字符串
      在这里插入图片描述
    3. 测试数值
      在这里插入图片描述
    4. 逻辑测试
      在这里插入图片描述
  2. let命令

    • 专门执行整数算术运算的命令
    • 格式:let <表达式> 或者 (( 表达式 ))
    • 表达式建议用双引号括起来,当表达式中有shell的特殊字符(如"|")是,必须要使用双引号
    • 操作数只能是整数
    • 命名的参数在算术表达式中可直接用名称访问,前面不用带 $ 符号,也不需要对算术表达式中的操作符进行转义
    • 如果算术表达式求出的值为0,则设置退出状态为1,如果求值为非零值,则退出状态为0
    • 使用$((表达式))获得表达式的值而不是退出状态
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
  3. if 语句
    在这里插入图片描述

  4. case 语句
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    2. 实现字符串匹配
    在这里插入图片描述
    在这里插入图片描述
    3. 多个模式,模式间使用|进行隔开
    在这里插入图片描述

     ![在这里插入图片描述](https://img-blog.csdnimg.cn/eb11817342cf4c64ae7109ab60831652.png)
    
  5. while 语句
    在这里插入图片描述

  6. until语句
    在这里插入图片描述
    在这里插入图片描述

  7. for 语句
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

  8. break,continue,exit语句
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  9. select语句

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

3.4 shell函数

在这里插入图片描述
y被声明为local,局部变量在外部不能访问
在这里插入图片描述

3.5 Shell内部命令

  1. eval命令
    首先扫描参数,所有参数被读取并连接(扩展)成一个字符串,然后eval在将该字符串当成命令执行
    在这里插入图片描述
  2. exec 命令
    在本Shell中执行参数指定的命令,该命令将替代本Shell进程,即执行命令后命令行Shell将不复存在,命令将推出整个Shell就退出了
    在这里插入图片描述
  3. readonly 命令
    标记给的那个的变量名是只读的,等价于 declare -r
    如果没有指定参数,则列出所有只读变量的清单
    在这里插入图片描述
  4. tarp命令
    格式 tarp [arg] [n]
    用于捕获信号
    n是要捕获的信号,arg是捕获信号后要执行的命令
    在这里插入图片描述
  5. set命令
    可设置已经定义的全部变量
    设置位置参数的值
    设置shell脚本的执行选项
  6. wait命令
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.6 shell程序调试

可使用echo来打印输出提示
也可以使用set -x或-v选项将Shell设置为跟踪模式
或者使用bash -x 来设置跟踪模式运行shell
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

4. Linux C语言编程基础

4.1 gcc编译器

在这里插入图片描述

在这里插入图片描述

  1. 只进行预处理 使用-E参数
    在这里插入图片描述
  2. 编译到汇编文件 参数-S
    在这里插入图片描述
  3. 编译到目标代码
    在这里插入图片描述
  4. 显示更多的警告信息
    在这里插入图片描述
  5. 在可执行文件中包含标准的调试信息
    在这里插入图片描述
  6. GDB调试文件
    在这里插入图片描述

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

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

相关文章

数据结构总结6:八大排序

后续会有补充 排序 排序&#xff1a;按照某个或某些关键字的大小&#xff0c;递增或递减排列起来的操作。 稳定性&#xff1a;假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff0c;这些记录的相对次序保持不变&#xff0c…

如何完美卸载VS2015(2023年5月份实测有效)

使用控制面板卸载VS2015&#xff0c;出现正在配置您的系统&#xff0c;这可能需要一些时间&#xff0c;然后就出现卡住半个小时第二行的条都没有动的问题&#xff0c;这里提供vs2015以及以前版本的卸载方式 问题产生原因:他需要下载一些东西&#xff0c;然后由于你懂的网络原因…

基于yolov3训练自己的数据集

训练数据集的教学视频链接 42. 第六章&#xff1a;基于YOLO-V3训练自己的数据集与任务_哔哩哔哩_bilibili 数据打标签 下载labelme标注工具 通过pip install labelme下载&#xff0c;打开anaconda prompt&#xff0c;切换到下载labelme的环境&#xff08;我的是pytorch&…

torch显存分析——如何在不关闭进程的情况下释放显存

torch显存分析——如何在不关闭进程的情况下释放显存 1. 基本概念——allocator和block2. torch.cuda的三大常用方法3. 可以释放的显存4. 无法释放的显存&#xff1f;5. 清理“显存钉子户” 一直以来&#xff0c;对于torch的显存管理&#xff0c;我都没有特别注意&#xff0c;只…

ffmpeg mkv 文件解析

一、mkv的文件组织 1. EBML基本单元 EBML组成mkv文件最基本的单元&#xff0c; 也是解析文件最小的一个粒度。EBML基本元素结构&#xff1a; ID&#xff1a;标志着这个EMBL 是一个什么类型的&#xff0c;类型决定了后面data中存储的是什么类型的数据如是int&#xff0c;string…

腾讯云备案限制条件说明(必看)

腾讯云网站备案要求首先你有一个需要备案的域名&#xff0c;域名实名认证信息和备案主体相同&#xff1b;在腾讯云有一台符合备案条件的云服务器、轻量应用服务器等云产品&#xff1b;然后根据备案主体所在省份地区&#xff0c;符合当地的通信管理局要求。下面腾讯云百科来详细…

Centos7系统常用命令

一、防火墙firewalld、sestatus 1 查看防火墙状态&#xff1a;systemctl status firewalld 2 关闭运行的防火墙&#xff1a;systemctl stop firewalld.service 开启运行的防火墙&#xff1a;systemctl start firewalld.service 3 禁止防火墙服务器&#xff1a;systemctl di…

如何一行代码实现 OpenAI 可观测,大幅提升使用体验

作者&#xff5c;观测云 徐季秋 现在基于 OpenAI 的 Chat 应用井喷&#xff0c;但给开发者带来了两个难点&#xff0c;一是因为 OpenAI 基于 tokens 的计费机制导致不容易规划消费&#xff1b;另一是 OpenAI 提供的调用本身不稳定&#xff0c;很难分辨是传参错误或是访问失败。…

flume 进阶 Ganglia 部署(十二)

规划安装 hadoop100: web gmetad gmod epel-release hadoop101: gmod epel-release hadoop102: gmod epel-release 安装 三台都安装 sudo yum -y install epel-releasesudo yum -y install ganglia-gmond在hadoop100安装 sudo yum -y install ganglia-gmetadsudo yum -y i…

RT-Thread 2. GD32在 RT-Thread Nano上添加控制台与 FinSH

本篇文档分为两部分&#xff1a; 第一部分是添加 UART 控制台&#xff08;实现打印&#xff09;&#xff1a;用来向控制台对接的终端输出打印信息&#xff1b;该部分只需要实现两个函数&#xff0c;串口初始化和系统输出函数&#xff0c;即可完成 UART 控制台打印功能。 第二部…

sonarqube上的webAPI如何调用?-暴躁了一天调通了

首先吐槽一句&#xff0c;官方API文档给了个寂寞&#xff0c;调不通啊&#xff0c;然后查各种搞了一天&#xff0c;竟然没有一篇文章能把这件事写清楚&#xff0c;给我暴躁的。 结论竟然是原来是我不会调用接口。。。我今天非要把这篇文章写好。 web接口入口 通过sonarqube下…

QT开发实战-动态壁纸软件

动态壁纸软件开发 项目源代码在下面链接获取: ----------------------------- 开发者:CodeSharkSJ 希望此项目能加强你对Qt的应用 文章目录 项目图与开发环境核心技术原理自定义窗口程序UI布局背景绘制样式表基本实现QWebEngineQMedia使用系统托盘隐藏记忆功能应用程序打包 …

四年巨亏49亿,第四范式四闯IPO

深陷亏损的AI公司第四范式&#xff0c;四闯IPO&#xff01; 4月24日&#xff0c;决策类AI独角兽北京第四范式智能技术股份有限公司&#xff08;下称“第四范式”&#xff09;再次更新招股书&#xff0c;继续向港交所发起上市冲击。 第四范式是一家专注于提供以平台为中心的人…

(9) 线性回归

文章目录 1 多元线性回归LinearRegression1.1 基本原理1.2 linear_model.LinearRegression 2 回归类的模型评估指标2.1 是否预测了正确的数值2.2 是否拟合了足够的信息 3 岭回归与Lasso回归3.1 多重共线性3.2 岭回归3.2.1 linear_model.Ridge3.2.2 选取最佳的正则化参数 α \al…

车载以太网-FlexRay

摘要&#xff1a; 到底什么是FlexRay&#xff1f; 1. FlexRay是什么&#xff1f; 那么到底什么是FlexRay&#xff1f;往简单了说&#xff0c;就是CAN总线加LIN总线混合起来排个课程表、提个速再加个冗余。像LIN一样基于TDMA&#xff0c;提高了协议的复杂度&#xff0c;拥有静态…

【linux】挖矿病毒nanominer伪装成python占用服务器GPU的查杀记录

病毒表现 gpustat -cpu 可以看到root用户将GPU的核心跑满了每个占用都是100%&#xff0c;显存吃了6G多。 nvidia-smi 不能正常显示GPU被哪些进程占用 ![在这里插入图片描述](https://img-blog.csdnimg.cn/780f90080a084a44ac59227e384f985b.png 病毒文件分析 在/tmp/.x/…

win10 vmware虚拟机蓝屏怎么办 win10 vmware虚拟机蓝屏解决方法【详解】

最近有朋友出现win10 vmware虚拟机蓝屏的情况应该怎么办&#xff1f;小伙伴们在使用vmware虚拟机出现了蓝屏现象的小伙伴们不用担心&#xff0c;小编翻阅各种资料后给大家带来两种虚拟机蓝屏的解决方法&#xff0c;想要解决此问题的小伙伴们快跟着小编往下看吧&#xff01; win…

三分钟看懂JDK、JRE和JVM的区别和联系

节选自JavaGuide(Github 标星 134k star!「Java学习 + 面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识) JVM Java 虚拟机(JVM)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同…

腾讯云轻量应用服务器卡死怎么连接?

腾讯云轻量云服务器卡死怎么解决&#xff1f;使用腾讯云自带的VNC登录连接轻量服务器&#xff0c;或使用腾讯云OrcaTerm一键免密登录轻量实例。如果是确定数据没问题&#xff0c;也可以使用控制台自带的重启实例。 腾讯云轻量应用服务器参考&#xff1a;https://curl.qcloud.co…

5月18号软件资讯更新合集.....

JTopCMS V4 更新&#xff1a;静态发布功能优化 适配版本&#xff1a;V4.6 介绍 &#xff1a; 本次更新对静态发布 HTML 功能进行多个重要优化&#xff0c;支持全站增量模式发布&#xff0c;支持跨站级栏目联动发布&#xff0c;增加定时发布指定栏目范围&#xff0c;增加栏目对…