Linux_Ubuntu 系统入门

        Ubuntu 系统是和 Windows 系统一样的大型桌面操作系统,因此功能非常强大。

        本节的目的是掌握后续嵌入式开发所需的 Ubuntu 基本技能,比如系统的基本设置、常用的 shell 命令、vim 编译器的基本操作等等……

        Ubuntu 的图形化界面操作和 Windows 下基本一致;

这里着重提一下:

1. 界面分辨率设置:通过右上角设置按键设置对应的分辨率

2. 输入法设置:可以通过 win + 空格;或者右上角设置 中文输入法;

1. Ubuntu(Linux) 终端操作

        从这里,我们开始学习 Ubuntu 操作系统的重点 —— 终端操作;

        Ubuntu 界面右击 :打开终端

        上述字符串中:@ 前面的 “quest - qaozus” 是当前的用户名字,@ 后面的 zhangshao - virtual - machine 是机器的名字;最后面的 $ 表示当前用户是普通用户,我们可以在提示符后面输入命令,比如输入命令:ls

        ls 命令用于打印出当前所在目录中所有文件和文件夹

guest-qaozus@zhangshao-virtual-machine:~$ ls
examples.desktop  公共的  模板  视频  图片  文档  下载  音乐  桌面
guest-qaozus@zhangshao-virtual-machine:~$ 

1.1 Shell 操作

首先先来介绍一个什么叫做 Shell ?

        在学习 Linux 的过程中会频繁的看到 Shell 这个词语。简单来说 Shell 就是敲命令

        国内把 Linux 下通过命令行输入命令叫做 “敲命令”,国外人给这个动作起了个洋气的名字:Shell;

        因此以后看到 Shell 这个词语第一反应就是在终端敲命令,将多个 Shell 命令按照一定的格式放到一个文本中,那么这个文本就叫做 Shell 脚本

        严格意义上讲,Shell 是一个应用程序,它负责接收用户输入的命令,然后根据命令做出相应的动作,Shell 负责将应用层或者用户层输入的命令传递给系统内核,由操作系统内核来完成相应的工作,然后将结果反馈给应用层或者用户。

上面我们提到了 Shell 就是 “敲命令”,那么既然是命令,肯定是有格式的,Shell 命令的格式如下:

command  -option  [argument]

// command:Shell 命令名称
// option: 选项,同一种命令可能会有不同的选项,不同的选项其实现的功能不同
// argument:Shell 命令是可以带参数的,也可以不带参数运行

同样以 ls 命令为例,下面三种 ls 命令,不同格式其结果也不同;

ls
ls -l
ls /usr

// 切记:输入ls之后需要输入一个空格;

// ls:用来打印当前目录下的所有文件和文件夹
// ls -l:打印当前目录下所有文件和文件夹,但是此命令会列出所有文件和文件夹的详细信息
// ls /usr:用来打印出目录 /usr 下的所有文件和文件夹

Shell 命令是支持自动补全功能的;因为 Shell 命令非常多,如果不做自动补全的话就需要用户去记忆这些命令的全部字母;

也就是输入命令的前一部分字母,然后按下 TAB 键,如果只有一个命令匹配的话那么会自动补全这个命令剩下的字母。如果有多个命令匹配的话,再按一下 TAB 键就会列出所有匹配的命令;

1.2 常用的 Shell 命令

        嵌入式开发用的最多的就是 Shell 命令,Shell 命令是所有 Linux 系统发行版所通用的

1. 目录信息查看命令:ls

文件浏览是最基本的操作,Shell 下文件浏览命令为 ls,格式如下:

ls [选项] [路径]

ls:用于显示指定目录下的内容,列出指定目录下包含的所有的文件以及子目录,它的主要参数有:

-a:显示所有文件以及子目录,包括以 ‘.’(点) 开头的隐藏文件

-l:显示文件的详细信息,比如文件的形态、权限、所有者、大小等信息

-t:将文件按照创建时间排序列出

-A:和 -a 一样,但是不列出 “.”(点) (当前目录) 和 “..”(父目录)

-R:递归列出所有文件,包括子目录中的文件

Shell 命令里面的参数是可以组合在一起用的,比如组合 “-al” 就是显示所有文件的详细信息,包括以 “.” 开头的隐藏文件;

2. 目录切换命令 cd

要想在 Shell 中切换到其他的目录,使用的命令是 cd,命令格式如下:

cd [路径]

路径就是我们要进入的目录路径:

cd /       :进入根目录 / 下,Linux 系统的根目录为 /

cd /usr :进入到目录 /usr 下

cd ..      :进入到上一级目录

cd ~      :切换到当前用户主目录

首先 cd 切换路径到目录 /usr 下,然后 ls 查看该目录下的文件;

3. 当前路径显示命令 pwd

pwd 命令用来显示当前工作目录的绝对路径,不需要任何的参数;

4. 系统信息查看命令 uname

要查看当前系统信息,可以使用命令 uname,命令格式如下:

uname [选项]

可选的选项参数如下:

-r:列出当前系统的具体内核版本号

-s:列出系统内核名称

-o:列出系统信息

5. 清屏命令 clear

clear 命令用于清除终端上的所有内容,只留下一行提示符;

6. 切换用户执行身份命令 sudo

 Ubuntu(Linux)是一个允许多用户的操作系统,其中权限最大的是超级用户 root,有时候我们执行一些操作的时候需要用 root 用户身份才能执行,比如安装软件。通过 sudo 命令可以暂时将身份切换到 root 用户。当使用 sudo 命令的时候是需要输入密码的,这里要注意输入密码是没有任何提示的!

sudo  [选项]  [命令]

-h:显示帮助信息

-l:列出当前用户可执行与不可执行的命令

-p:改变询问密码的提示符

        假设我们现在要创建一个新的用户 Test,创建新用户的命令为:adduser,创建新用户的权限只有 root 用户才有,我们在装系统的时候创建的那个用户是没有这个权限的。所有创建新用户的话需要使用 sudo 命令以 root 用户执行 adduser 这个命令;

我们一开始直接使用 adduser test 来添加用户的时候提示我们只有 root 才能将用户或组添加到系统。

所以我们要在前面加上 sudo 命令,表示以 root 用户执行 adduser 操作;

7. 添加用户命令 adduser

在上一个命令中已经使用过了 adduser,此命令需要 root 身份去运行。

adduser [参数] [用户名]

常用的参数如下:

-system:添加一个系统用户

-home DIR:DIR表示用户的主目录路径

-uid ID:ID表示用户的uid

-ingroup GRP:表示用户所属的组名

8. 删除用户命令 deluser

既然有创建用户的命令,那么一定也有删除用户的命令,删除用户的命令 deluser:

deluser [参数] [用户名]

-system:当用户是一个系统用户的时候才能删除

-remove-home:删除用户的主目录

-remove-all-file:删除与用户相关的所有文件

-backup:备份用户信息

同样的,命令 deluser 也要使用 sudo 来以 root 用户运行;

9. 切换用户命令 su

在学习 sudo 命令的时候说道,sudo 是以 root 命令身份执行一个命令,并没有更改当前的用户身份(可以简单的理解是:就是当前的 Shell 语句变成了 root 身份,下一条语句又会变回普通用户的身份);但是命令 su 可以直接将当前的用户身份切换到 root 身份(这个意思就是说:不只是当前的 Shell 语句,下一条语句不加 sudo 也是在 root 身份下运行的),表示可以尽情的实现任何操作了!因为已经获取到了系统的最高权限!!!

su [选项] [用户名]

-c -command:执行指定的命令,执行完毕后恢复原用户身份

-login:改变用户身份,同时改变工作目录和 PATH 环境变量

-m:改变用户身份的时候不改变环境变量

-h:显示帮助信息

此时表示切换到了 root 身份!

注意:由于 root 用户的权限太大,稍微不注意就可以删除掉系统文件,导致系统崩溃,因此强烈建议,不要以 root 用户运行 Ubuntu。当用到 root 身份执行某些命令的时候使用 sudo 命令即可;

10. 显示文件内容命令 cat

查看文件内容是最常见的操作,在 windows 下可以直接使用记事本查看一个文本文件内容,Linux 下也有类似记事本的软件,叫做 gedit,找到一个文本文件,双击打开,默认使用的就是 gedit;

Shell 下命令 cat 也是实现读取文件内容的:

cat [选项] [文件]

-n:由 1 开始对所有输出的行进行编号

-b:和 -n 类似,但是不对空白行编号

-s:当遇到连续两个行以上空白行的话就合并为一个行空白行

11. 显示和配置网络属性命令 ifconfig

ifconfig 是一个跟网络属性配置和显示密切相关的命令,通过此命令可以查看当前网络属性,也可以通过此命令配置网络属性,比如设置网络 IP地址;

ifconfig interface options | address 

interface:网络接口名称,比如 eth0 等

up:开启网络设备

down:关闭网络设备

add:IP 地址,设置网络 IP 地址

netmask add:子网掩码

12. 系统帮助命令 man

Ubuntu 系统中有很多命令,这些命令都有不同的格式,不同的格式对应不同的功能,要完全记住这些命令和格式几乎是不可能的,必须要有一个帮助手册;

Ubuntu 提供了一个命令来帮助用户完成这个功能,就是 man 命令,通过 man 命令可以查看其他命令的语法格式、主要功能、主要参数说明等,man 命令格式如下:

man [命令名]

13. 系统重启命令 reboot

通过 Ubuntu 主界面右上角的齿轮按钮来选择关机或者重启系统,同样我们也可以使用 Shell 命令 reboot 来重启系统,直接输入命令 reboot 然后点击回车键即可

14. 系统关闭命令 poweroff

使用 poweroff 命令可以直接关闭系统,在终端输入命令 poweroff ,然后按下回车键即可关闭 Ubuntu 系统

15. 软件安装命令 install

Ubuntu 系统类似于 Windows 系统,如何在 Ubuntu 下安装软件,因为 Ubuntu 安装软件不像 Windows 下那样,直接点击 .exe 文件就可以安装了。

Ubuntu 下很多软件是需要自行下载源码的,下载源码以后自行编译,编译完成以后使用命令 install 来安装

    install [选项]...  [-T] 源文件   目标文件
或:install [选项]...        源文件   目录
或:install [选项]...   -t   目录    源文件...
或:install [选项]...   -d   目录...

install 命令是将文件(通常是编译后的文件)复制到目的位置

1.3 APT 下载工具

对于长时间使用 Windows 的我们,下载安装软件非常容易,Windows 下有很多的下载软件, Ubuntu 同样有不少的下载软件。

本节我们学习用的最多的下载工具:APT 下载工具,APT 下载工具可以实现软件自动下载、配置、安装二进制或者源码的功能。

APT 下载工具和我们前面讲解的 install 命令结合在一起构成了 Ubuntu 下最常用的下载和安装软件方法

APT 采用 C/S 模式,也就是客户端/服务器模式,我们的 PC 机作为客户端,当需要下载软件的时候就向服务器请求,因此我们需要知道服务器的地址,也叫做安装源或者更新源

APT 工具常用的命令如下:

1. 更新本地数据库

        如果想要查看本地哪些软件可以更新的话可以使用如下命令:

sudo apt - get updata

这个命令会访问源地址,并且获取软件列表并保存在本电脑上;

2. 检查依赖关系

        有时候本地某些软件可能会存在依赖关系,所谓依赖关系就是 A 软件依赖于 B 软件。通过如下命令可以查看依赖关系,如果存在依赖关系的话 APT 会提出解决方案:

sudo apt - get check

3. 软件安装

        安装软件,使用如下命令:

sudo apt - get install package - name

可以看出上述命令是由 apt - getinstall 组合在一起的,package - name 就是要安装的软件名字,apt - get 负责下载软件,install 负责安装软件。

比如我们要安装软件 Ubuntu 下的串口工具 “minicom”,我们就可以使用如下命令:

sudo apt - get install minicom

执行上述命令以后就会自动下载和安装 minicom 软件;

4. 软件更新

        有时候我们需要更新软件,更新软件的话使用命令:

sudo apt - get upgrade package - name

其中 package - name 为要升级的软件名字,比如我们升级刚刚安装的 minicom 这个软件

5. 卸载软件

        如果要卸载某个软件的话使用如下命令:

sudo apt - get remove package - name

其中 package - name 是要卸载的软件;

1.4 Ubuntu 下文本编辑

        进行文本编辑最常用的就是:Gedit。Gedit 是一个窗口式的编译器;本节我们学习:VI/VIM编译器

        VIM 编译器是 VI 编译器的升级版本,VI/VIM 编译器都是一种基于指令式的编译器,不需要鼠标,也没有菜单,仅仅使用键盘来完成所有的编辑工作;

安装 VIM
sudo apt-get install vim

// 如果出现没有权限访问 root 的话,只需要将客人模式转换成个人用户,输入密码即可;

安装完成以后就可以使用 VIM 编译器了,VIM 编译器有 3 种工作模式:输入模式、指令模式和底行模式,通过切换不同的模式可以完成不同的功能;

在终端输入 test.txt 就会创建一个 vim 的文档

此时创建的文档是根本无法输入的。因为默认的 VIM 默认是以只读模式打开的文档,因此我们要切换到输入模式,切换到输入模式的命令如下:

  • i                        在当前光标所在字符的前面吗,转为输入模式
  • I                        在当前光标所在行的行首转换为输入模式
  • a                       在当前光标所在字符的后面,转为输入模式
  • A                       在光标所在行的行尾,转换为输入模式
  • o                       在当前光标所在行的下方,新建一行,并转为输入模式
  • O                       在当前光标所在行的上方,新建一行,并转为输入模式
  • s                        删除光标所在字符
  • r                        替换光标处字符

        最常用的就是 a ,当我们在键盘上按下 a 的时候,终端会提示 插入 的字样,表示我们进入到了输入模式;

此时也表示我们可以正常的输入文本了;

注意:Ctrl + s 可以在 Windows 系统下保存文档,但是在 Ubuntu 下是不可以保存的;

Ubuntu 下保存文档需要:从现在的输入模式切换到指令模式,方式是按下键盘的 ESC 键,按下 ESC 键以后终端左下角的插入字样就会消失,此时就不可以输入文本了,如果此时还需要输入文本,那么就需要重新输入 a 进入输入模式;

        指令模式:顾名思义就是输入指令的模式,这些指令是控制文本的指令;

1. 移动光标指令

h(或左方向键)        光标左移一个字符

I(或右方向键)         光标右移一个字符

j(或下方向键)         光标下移一行

k(或上方向键)        光标上移一行

nG                              光标移动到第 n 行首

n+                               光标下移 n 行

n-                                光标上移 n 行

2. 屏幕翻滚指令

Ctrl + f                        屏幕向下翻一页,相当于下一页

Ctrl + b                       屏幕向上翻一页,相当于上一页

3. 复制、删除和粘贴指令

cc                                删除整行,并且修改整行内容

dd                                删除整行,不提供修改功能

ndd                              删除当前行向下 n 行

x                                  删除光标所在的字符

X                                 删除光标前面的一个字符

nyy                              复制当前行及下面 n 行

p                                  粘贴最近复制的内容

通过上面的内容,可以看到,还是没有保存文本的命令;

因为保存文本的命令在底行模式中,我们要先进入指令模式,进入底行模式的方式是先进入指令模式下,然后在指令模式下输入 :,进入底行模式

进入底行模式以后终端的左下角就会出现符号:(冒号),我们可以在冒号的后面输入命令,常用的命令如下:

  • x                        保存当前文档并退出
  • q                        退出
  • w                        保存文档
  • q!                     退出 VI/VIM,不保存文档

当我们保存文档以后,可以使用 cat 来查看刚刚新建的 test.txt 文档的内容

除了可以在指令模式下输入:冒号进入底行模式之外,还可以在指令模式下输入 “/” 进入底行模式

在底行模式下,我们可以文本搜索指定的内容,比如说搜索 test.txt 文件中的 “嵌入式” 三个字,按下回车键就可以找到与字符串 “嵌入式” 匹配的部分;

1.5 Linux 文件系统

1.5.1 Linux 文件系统简介

        操作系统的基本功能之一就是文件管理,而文件的管理是由文件系统来完成的。Linux 支持多种文件系统,本节我们来学习 Linux 下的文件系统、文件系统类型、文件系统结构和文件系统相关的 Shell 命令

        操作系统就是处理各种数据的,这些数据在硬盘上就是二进制,人类是不能直接看懂这些二进制数据的,要先有一个翻译器,将这些二进制的数据还原为人类能看懂的文件形式,这个工作就是由文件系统来完成的,文件系统的目的就是实现数据的查询和存储,由于使用场合、使用环境的不同,Linux 有多种文件系统,不同的文件系统支持不同的体系。文件系统是管理数据的,而可以存储数据的物理设备有硬盘、U盘、SD卡等。不同的存储设备其物理结构不同,不同的物理结构就需要不同的文件系统去管理,比如管理 NAND FLASH 的话使用 YAFFS 文件系统,管理硬盘、SD卡的话就是 ext 文件系统等等;

        将一个磁盘分为 C 盘、D盘等等,称作磁盘的分割,Linux 下也支持磁盘分割,Linux 下常用的磁盘分割工具为:fdisk;在 Windows 下我们创建一个新的盘符以后都要做格式化处理,格式化其实就是给这个盘符创建文件系统的过程;同样的,在 Linux 下我们使用 fdisk 创建好分区以后也是要先在创建好的分区上面创建文件系统,也就是格式化

        Windows 下有磁盘分区的概念,可以分为 C、D 盘,但是 Linux 下没有这个概念,因此在 Linux 下找不到像 C、D、E盘这样的东西;在Linux下创建好一个分区并且格式化以后我们要将其 “挂载” 到一个目录下才能访问这个分区。Windows 的文件系统挂载过程是其内部完成的,用户是看不到的,Linux 下我们使用 mount 命令来挂载磁盘。挂载磁盘的时候是需要确定挂载点的,也就是你的这个磁盘要挂载到哪个目录下。

1.5.2 Linux 文件系统类型

        Windows 下有 FAT、NTFS 和 exFAT 这样的文件系统,在 Linux 下又有哪些文件系统呢?

        Linux 下的文件系统主要是:ext2、ext3 和 ext4 等文件系统。Linux 还支持其他的 UNIX 文件系统,比如 XFS、JFS、UFS等,也支持 Windows 的 FAT 文件系统和网络文件系统 NFS 等。

ext2 文件系统:

        ext2 是 Linux 早期的文件系统,但是随着技术的发展 ext2 文件系统已经不推荐使用了,ext2 是一个非日志文件系统,大多数的 Linux 发行版都不支持 ext2 文件系统了。

ext3 文件系统:

        ext3 是在 ext2 的基础上发展起来的文件系统,完全兼容 ext2 文件系统,ext3 是一个日志文 件系统,ext3 支持大文件,ext3 文件系统的特点有如下:

        高可靠性:使用 ext3 文件系统的话,即使系统非正常关机、发生死机等情况,恢复 ext3 文件系统也只需要数十秒。

        数据完整性:ext3 提高了文件系统的完整性,避免意外死机或者关机对文件系统的伤害。

        文件系统速度:ext3 的日志功能对磁盘驱动器读写头进行了优化,文件系统速度相对与 ext2 来说没有降低。

        数据转换:从 ext2 转换到 ext3 非常容易,只需要两条指令就可以完成转换。用户不需要花 时间去备份、恢复、格式化分区等,用 ext3 文件系统提供的工具 tune2fs 即可轻松的将 ext2 文 件系统转换为 ext3 日志文件系统。ext3 文件系统不需要经过任何修改,可以直接挂载成 ext2 文 件系统。

ext4 文件系统:

        ext4 文件系统是在 ext3 上发展起来的,ext4 相比于 ext3 提供了更佳的性能和可靠性,并且功能更丰富,ext4 向下兼容 ext3 和 ext2,因此可以将 ext2 和 ext3 挂载为 ext4。

        如果想知道我们安装的 Ubuntu 使用的哪个版本的文件系统呢?可以在终端中输入命令查询:

df  -T  -h

        框起来的就是我们安装的 Ubuntu 这个磁盘,在 Linux 下一切皆为文件,“/dev/sdal” 就是我们的磁盘分区,可以看出这个磁盘分区类型是 ext4,它的挂载点是 “/”,也就是根目录;

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Proxmox创建Windows虚拟机

文章目录 下载ISO安装文件上传 下载ISO安装文件 下载地址:https://www.xitongzhijia.net/ 也可去官网进行下载 上传 将下载的ISO文件上传到Proxmox 选择ISO文件进行上传 上传后再ISO镜像中可以看到安装文件 点击创建虚拟机 填写名称,不能填写中文 镜…

程序员的养生之道:延寿健康的十大秘诀(下)

程序员的养生之道:延寿健康的十大秘诀(上)-CSDN博客 目录 6. 心理调节,减轻压力 6.1 程序员常见的心理问题 6.2 压力管理的重要性 6.3 放松技巧与应对策略 6.4 积极心态与心理健康 7. 正确坐姿,保护颈椎腰椎 …

SpringBoot之实体参数的详细解析

1.3 实体参数 在使用简单参数做为数据传递方式时,前端传递了多少个请求参数,后端controller方法中的形参就要书写多少个。如果请求参数比较多,通过上述的方式一个参数一个参数的接收,会比较繁琐。 此时,我们可以考虑…

ActiveMQ使用指南

介绍 ActiveMQ是Apache开源组织旗下的一个项目,是一个流行的开源消息中间件。它完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,并且是纯Java开发的产品。ActiveMQ支持多种语言编写客户端,包括C,C,C#,Perl,PHP,Ruby,Ajax等,同时…

K8S(四)—pod详解

目录 pod介绍Pod的概念:Pod的特性:Pod的配置:Pod的控制:示例 YAML 文件: pod启动流程问题 两种方式启动镜像的升级和回滚更新 Deployment:回滚检查 Deployment 历史版本回滚到之前的修订版本缩放 Deploymen…

【C语言宝库】- 操作符|详解进制转换|计算机小白必备技能(上)

🌈个人主页: Aileen_0v0 🔥系列专栏:C语言学习 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 进制 定义 基本原理 转换方式 常见的进制转换 二进制和进制的转换 二进制转十进制 十进制转二进制 (1&#xf…

Nginx核心策略配置详解(反向代理、轮询配置、动静分离)

Nginx反向代理配置 上图需求二配置方式: 1.配置好JDk 2.部署tomcat,需要复制tomcat 修改server.xml文件等。 保持默认监听8080,8081端⼝ 3.修改nginx配置,并重新加载 nginx 安装有两种方式一种是联网一键下载,Nginx…

C++初阶(十五)Stack和Queue

文章目录 一、Stack的模拟实现二、Queue的模拟实现三、容器适配器1、什么是容器适配器2、STL标准库中stack和queue的底层结构3、 deque的简单介绍(了解)1、deque的原理介绍2、deque的缺陷 4、为什么选择deque作为stack和queue的底层默认容器 一、Stack的模拟实现 #include<…

静态SOCKS5:了解基本概念和协议

SOCKS5是一种网络协议&#xff0c;是SOCKS协议的第五个版本&#xff0c;它提供了一种安全的、加密的网络连接&#xff0c;可以帮助用户在互联网上保护自己的隐私和安全。静态SOCKS5是指使用静态IP地址和端口的SOCKS5代理服务器&#xff0c;这种代理服务器可以提供更稳定、更快速…

idea SpringBoot target 不自动更新,不自动生成问题

如题,为什么不自动更新? 我使用Maven中的insert命令生成了target文件夹,但是,修改了代码重新启动还是不会自动更新,检查了文件,发现了resources文件夹是一个普通文件夹,没有标记为项目资源文件夹,所以idea不会给你自动生成的

css 纯样式实现绘出进度条

效果&#xff1a; css代码&#xff1a; .bar{height: 14px;width: 100%;font-size: 10px;margin-top: 5px;background-color: #f5f5f5;}.bar::before{display: block;counter-reset: progress var(--precent); content: ;width: calc(1% * var(--precent));color: #fff;height:…

大数据机器学习深度解读决策树算法:技术全解与案例实战

大数据机器学习深度解读决策树算法&#xff1a;技术全解与案例实战 本文深入探讨了机器学习中的决策树算法&#xff0c;从基础概念到高级研究进展&#xff0c;再到实战案例应用&#xff0c;全面解析了决策树的理论及其在现实世界问题中的实际效能。通过技术细节和案例实践&…

JavaEE之多线程编程:2.创建线程及Thread类常见方法(超全!!!)

一、创建线程 Java中创建线程的写法有很多种&#xff01;&#xff01;&#xff01;这里介绍其中5种。 方法1&#xff1a;继承Thread类&#xff0c;重写run 创建一个类&#xff0c;让这个类继承自Thread父类&#xff0c;再重写我们的run方法就可以了。 使用Thread类&#xff…

[已解决]diffusers加载的模型都被放在哪里了

1 模型位置 /root/.cache/huggingface/hub ~/.cache/huggingface/hub 2 unet位置 值得注意的是需要进入这个目录才可以看到unet文件 /root/.cache/huggingface/hub/models--nota-ai--bk-sdm-base-2m/snapshots/e8b5597155c5b2c77585570b99113f1c77b97338

java方法引用语法规则以及简单案例

目录 一、方法引用1.1 什么是方法引用1.2 方法引用的语法规则1.3 构造器引用1.4 方法引用的简单案例 参考资料 一、方法引用 1.1 什么是方法引用 方法引用是 Lambda 表达式的一种简写形式&#xff0c;用于表示已有方法的直接引用。 类似于lambda表达式&#xff0c;方法引用也…

echarts自定义tooltip位置和内容

tooltip: {trigger: item,backgroundColor: none,position: function (pos, params, dom, rect, size) {//我这个是每次显示30条数据 所以这么判断var obj params.dataIndex < 15 ? "right" : "left"return obj;},formatter: (params) > {//收入和…

Spring Boot--Freemarker渲染技术+实际案例

目录 Freemarker 1.1.什么是Freemarker 1.2.Freemarker模板组成部分 1.3.优点 FreeMarker常见的方法&#xff1a; 2.2.2.数值 2.2.3.布尔值 2.2.4.日期 2.3.常见指令 2.3.1.处理不存在的值 assign 2.3.4.list 2.3.5.include SpringBoot整合Freemarker Freemarker…

MYsql第三次作业

目录 问题&#xff1a; 解答 1.查询student表的所有记录 2.查询student表的第2条到4条记录 3.从student表查询所有学生的学号&#xff08;id&#xff09;、姓名&#xff08;name&#xff09;和院系&#xff08;department&#xff09;的信息 4.从student表中查询计算机系和…

Qt设置类似于qq登录页面(ikun)

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QWindow> #include <QIcon> #include <QLabel> #include <QMovie> #include <QLineEdit> #include <QPushButton>QT_BEGIN_NAMESPACE namespace Ui { class…

分类预测 | Matlab实现HPO-GRU【23年新算法】基于猎食者优化算法优化门控循环单元的数据分类预测

分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机的数据分类预测【23年新算法】 目录 分类预测 | Matlab实现DBO-SVM蜣螂算法优化支持向量机的数据分类预测【23年新算法】分类效果基本描述程序设计参考资料 分类效果 基本描述 1.HPO-GRU【23年新算法】基于猎食者优化算法优…