【韩顺平】Linux基础

目录

1.网络连接三种方式

1.1 桥接模式:虚拟系统可以和外部系统通讯,但是容易造成IP冲突【1-225】

1.2 NAT模式:网络地址转换模式。虚拟系统可以和外部系统通讯,不造成IP冲突。

1.3 主机模式:独立的系统。

2.虚拟机克隆

3.虚拟机快照

4.虚拟机的迁移和删除

5.安装vmtools

5.1 安装步骤

打开一个终端

进入opt目录:cd/opt

解压文件:tar -zxvf VM【文件名】:tab键补全

进入该vm解压的目录,/opt目录下

5.2 共享文件夹

5.Linux的目录结构

5.1 基本介绍

5. 2 具体的目录结构

6.远程登录到服务器

6.1 为什么

6.2 远程登录--Xshell

6.3 文件上传下载--Xftp

出现乱码

7.Vi和Vim编辑器

7.1 基本介绍

7.2 三种模式

7.3 vi和vim各种模式的切换

拷贝当前行,拷贝n行:yy / nyy

删除当前行,删除n行 :dd/ ndd

8.开机和重启

9. 登陆和注销

10.用户管理

10.1 添加用户:useradd 用户名

指定路径设置用户:

指定/修改密码:passwd 用户名/passwd

10.2 删除用户:userdel 用户名/userdel -r 用户名

10.3 查询用户信息:id 用户名

10.4 切换用户 :su - 切换用户名

10.5 查看当前用户/登录用户:who am i/whomi

10.6 用户组

1.新增组:groupadd 用户组名

2.删除组:groupdel 用户组名

3.增加用户时直接加上组:useradd -g 用户组 用户名

4.修改用户的组:usermod -g 用户组 用户名

5.用户和组相关文件

11.运行级别

11.1 基本

11.2 指定运行级别

12.找回root密码

13.帮助指令

1. man 获得帮助信息

2.help指令

3.总结

14.文件目录指令

1.pwd:显示当前工作的绝对路径

2.ls:显示当前目录所有的文件和目录,包括隐藏

3.cd:切换到指定目录【可以指定绝对路径或者相对路径】

cd ~:回到家目录

​编辑

cd ..:回到当前目录的上一级目录

4.mkdir指令:创建目录

创建一个目录:mkdir /home/dog

创建多级目录:mkdir -p /home/animal/tiger

5.rmdir:删除空目录

删除空目录:rmdir /home/dog

删除非空目录:rm -rf /home/animal/tiger

6.touch指令:创建空文件

创建一个空文件:touch hello.txt

7.cp指令:拷贝文件到指定目录

将/home/hello.txt拷贝到/home/bbb目录下:cp hello.txt bbb/

递归复制整个文件夹:将/home/bbb整个目录,拷贝到/opt:cp -r  /home/bbb /opt

强制覆盖不提示:\cp -r /home/bbb /opt

8.rm指令:移除文件或目录

删除一个文件/目录:rm /home/hello.txt

删除整个文件夹【不提醒】:rm -rf /home/hello.txt

9.mv指令:移动文件与目录或者重命名

重命名:mv oldNameFile newNameFile

移动文件:mv /temp/movefile /targetFoloder 

10.cat指令:查看文件内容

11.more指令:要查看的文件

12.less指令:分屏查看文件内容

13.echo指令:输出内容到控制台

14.head指令:显示文件的开头部分内容

查看文件头10行内容:head 文件

查看文件头5行内容:head -n 5 文件

15.tail指令:输出文件中尾部的内容

19.“>”指令:表示将原来文件内容进行覆盖

列表的内容写入文件a.txt中(覆盖写):ls -l > 文件

20.">>"指令:将原来文件内容进行追加

列表的内容追加到文件aa.txt末尾:ls -al >> 文件

将文件1的内容覆盖到文件2:cat 文件1 >> 文件2

追加:echo "内容” >> 文件

21.ln指令:软连接,主要存放了链接其他文件的路径

22.history指令:查看已经执行的历史命令,也可以执行历史指令

15.时间日期类

1.date指令:显示当前日期

2.date指令:设置日期

设置时间:date -s 字符串时间

3.cal指令:查看日历

查看某年日历:cal 2022

16.搜索查找类

1.find指令:从指定目录向下递归地遍历其各个子目录

2.locate指令:快速定位文件路径

3.which指令:查看某一个指令在哪一个目录下

4.grep指令和管道指令:|

17.解压和压缩类

1.gzip/gunzip指令:gzip:压缩文件,gunzip解压文件

2.zip/unzip指令:zip压缩文件夹,unzip解压文件夹【打包】

压缩文件夹;zip 要压缩到的地方.zip 要进行压缩的地方

解压文件夹:unzip 要解压到的地方 要解压的地方.zip

3.tar指令:打包指令。最后打包的文件是.tar.gz文件

压缩多个文件,将/home/pig.txt 和/ home/cat.txt压缩为pc.tar.gz

将/home的文件夹压缩为myhome.tar.gz

将pc.tar.gz解压到当前目录

将myhome.tar.gz 解压到/opt/tmp2目录下【-C 切换到指定目录】

18.Linux组管理

1.基本介绍

2.所有者

2.1 查看文件所有者;ls -ahl

2.2 修改文件所有者:chown 用户名 文件名

3.所在组

3.1 组的创建:groupadd 组名

3.2 查看文件/目录所在组:ls -ahl

3.3 修改文件所在的组:chgrp 组名 文件名

4.其他组

4.1 改变用户所在组

5.权限的基本介绍

6.rwx权限

对于目录来说:

案例说明:

7.修改权限-chmod

方式一:o+w【给other赋予write权限】 a-x【给all去除execute】

方式二:通过数字变更权限【r=4 w=2 x=1】

 8.修改文件所有者-chown

9.修改文件所在组-chgrp

10.权限管理案例:

19.定时任务调度

1.crond任务调度:crontab -e【周而复始执行】

2.crond特殊符号

3.crond特殊时间执行任务

4.crond应用实例

5.crond相关指令

6.at定时任务:at【选项】【时间】:对每一个作业60秒执行一次

命令选项

时间定义

7.at任务调度实例:

20.磁盘分区

1.基本介绍

2.硬盘分区说明:

3.查看所有设备挂载情况:lsblk【list block】 或者 lsblk -f

4.增加硬盘应用实例

1.挂载硬盘【记得重启】

2.在硬盘中创建分区:fdisk /dev/sdb

3.格式化硬盘:mkfs -t ext4 /dev/sdb1

4.挂载mount:mount /dev/sdb1 /newdisk

5.取消挂载unmount

6.自动挂载【永久挂载】:/etc/fstab

5.磁盘情况查询:df -h

6.查询指定目录的磁盘占用情况:du -ha /目录

7.磁盘工作实用指令

21.网络配置

1.Linux网络配置原理图【NAT网络配置】

2.网络配置指令

查看window环境中的VMnet8网络配置--ipconfig

查看linux的网络配置---ifconfig

ping测试主机之间网络连通性

3.linux网络环境配置

方法一:自动获取

方法二:指定ip

3.设置主机名和hosts映射

a. 设置主机名--vim /etc/hostname

b. 设置hosts映射--vim /etc/hosts

4.主机名解析过程分析(Hosts,DNS)

1.Hosts是什么

2.DNS:分布式数据库

3.图示

22.Linux进程管理

1.基本介绍

2.显示系统指向的进程--ps -aux | more/ ps -ef【全格式显示】

3.应用

4.终止进程kill和killall

5.查看进程数pstree

6.服务(service)的管理命令【本质-进程】

查看服务名:setup

7.服务的运行级别:7个级别

开机流程

运行级别的修改

8.服务(chkconfig指令):chkconfig --level3 network off[on]

9.服务管理systemctl管理指令

10.服务管理fillwall指令--打开或者关闭指定端口

11.动态监控进程:top【与ps相似】

12.动态监控进程交换操作

13.监控网络状态:netstat -anp | more xx

23.RPM和YUM

1.rmp包管理

2.rmp查询指令---rpm -qa | grep xxx

3.rmp包名基本格式

4.rmp其他查询指令

5.rpm卸载:rpm -e xxx

6.rpm安装:rpm -ivh RPM包全路径名称

7.yum【基于RPM】:yum install xxx

24.搭建JavaEE环境

1.安装配置JDK1.8

1.mkdir /opt/jdk

2.cd /opt/jdk

3.解压:tar -zxvf jdk-.zip

4.创建一个文件夹进行存放:/usr/local/java/jdk

5.配置环境变量的配置文件:vim /etc/profile

6.让新的环境变量生效:source /etc/profile

2.安装tomcat

1.创建目录:mkdir /opt/tomcat

2解压:tar -zxvf -tomcat

3.安装:startup

4.打开防火墙中预防的8080

5.重载一下:firewall-cmd --reload


1.网络连接三种方式

1.1 桥接模式:虚拟系统可以和外部系统通讯,但是容易造成IP冲突【1-225】

1.2 NAT模式:网络地址转换模式。虚拟系统可以和外部系统通讯,不造成IP冲突。

1.3 主机模式:独立的系统。

2.虚拟机克隆

3.虚拟机快照

4.虚拟机的迁移和删除

剪切或者删除

5.安装vmtools

可以设置windows和centos的共享文件夹

5.1 安装步骤

重新安装为灰色,可能是已经安装好了。可以试试从windows桌面拉到虚拟机桌面上一个文件,如果可以,证明已经安装好了,可以直接用就好了

如果无法出现“安装VM tool”则将虚拟器重启 

打开一个终端

进入opt目录:cd/opt

解压文件:tar -zxvf VM【文件名】:tab键补全

tar -zxvf VMwareTools-10.3.23-16594550.tar.gz 

进入该vm解压的目录,/opt目录下

cd vmware-tools-distrib/

安装

./vmware-install.pl 

5.2 共享文件夹

先在主机上新建一个文件夹

在虚拟机上选择“设置”

在虚拟机上查看主机上的文件

5.Linux的目录结构

5.1 基本介绍

把硬件当作一个文件来看

5. 2 具体的目录结构

opt是安装包目录【安装包】,usrlocal是程序安装目录【APP】

6.远程登录到服务器

6.1 为什么

6.2 远程登录--Xshell

阿里云盘分享 (aliyundrive.com)

 

 

6.3 文件上传下载--Xftp

出现乱码

7.Vi和Vim编辑器

7.1 基本介绍

vi:相当于windows中的文本编辑器

vim:vi max

7.2 三种模式

使用“i”进入编辑模式

进入命令行:先“esc”在“:”,最后“输入wq“

7.3 vi和vim各种模式的切换

拷贝当前行,拷贝n行:yy / nyy

删除当前行,删除n行 :dd/ ndd

在文件中查找某一个单词【命令行下/关键字】,回车查找,输入n就是查找下一个

设置文件的行号,取消文件的行号:【命令行下:set nu 和 set nonu】

8.开机和重启

9. 登陆和注销

10.用户管理

10.1 添加用户:useradd 用户名

指定路径设置用户:

指定目录下创建:useradd -d 指定目录 新用户名

指定/修改密码:passwd 用户名/passwd

如果没有指定用户名,表示对当前登录的账号进行修改

显示当前用户所在的目录:pwd

10.2 删除用户:userdel 用户名/userdel -r 用户名

删除用户只能在root登录状态下进删除。

删除该用户后,其家目录还在,但是无法登录

删除用户milan,但是要保留家目录

userdel milan

删除用户以及用户主目录

userdel -r tom

10.3 查询用户信息:id 用户名

id tom

10.4 切换用户 :su - 切换用户名

su - tom

返回原来的用户
logout或者exit

10.5 查看当前用户/登录用户:who am i/whomi

注意点:

查看的是当前最开始登录的用户。如果是以root登录进来,无论切换多少用户,结果都是root

10.6 用户组

系统可以对有共性/权限的多个用户进行统一的管理

1.新增组:groupadd 用户组名

groupadd wudang

添加成功,则下面不会显示任何东西

2.删除组:groupdel 用户组名

groupdel wudang

3.增加用户时直接加上组:useradd -g 用户组 用户名

新增一个用户时,如果没有指定,则直接新增一个组和该用户名一致

groupadd wudang//新增一个用户组
useradd -g wudang zwj

4.修改用户的组:usermod -g 用户组 用户名

[root@hspEd01 ~]# groupadd wudang
[root@hspEd01 ~]# useradd -g wudang zwj
[root@hspEd01 ~]# id zwj
uid=1004(zwj) gid=1004(wudang) 组=1004(wudang)
[root@hspEd01 ~]# groupadd mojiao
[root@hspEd01 ~]# usermod -g mojiao zwj
[root@hspEd01 ~]# id zwj
uid=1004(zwj) gid=1005(mojiao) 组=1005(mojiao)

5.用户和组相关文件

Shell

11.运行级别

11.1 基本

11.2 指定运行级别

12.找回root密码

1.启动系统,进入开机界面,在界面中按“e”进入编辑界面

2.进入编辑界面,使用键盘上的上下键把光标往下移动,找到“Linux16"开头所在的行数

在最后输入:init=/bin/sh

3.输入完成后,直接按快捷键:Ctrl+x 进入单用户模式

4.接着,在光标闪烁的位置输入:mount -o remount,rw/ (注意:各个单词之间有空格),完成后按键盘间的回车。如图

 5.在新的一行最后面输入:passwd,完成后按键盘的回车键。输入密码,然后再次确认密码即可(密码最好是8位以上,但不是必须的),密码修改完成后,会电视passwd.....的样式,说明密码修改成功

 6.接着,在鼠标闪烁的位置,输入:touch / .autorelabel(注意:touch与 /后面有一个空格),完成后按键盘的回车键

7.继续在光标闪烁的位置中,输入:exec/sbin/init(注意:exec与/之间有一个空格),完成后按键盘的回车键,等待系统自动修改密码(时间可能有点长),完成后,系统会自动重启,新的密码生效。

13.帮助指令

1. man 获得帮助信息

//查看root目录下的所有文件,并且以单例的形式展示
ls -al/root

2.help指令

3.总结

14.文件目录指令

1.pwd:显示当前工作的绝对路径

[root@hspEd01 ~]# cd /home/
[root@hspEd01 home]# ls
jack  milan  test  tom  zwj
[root@hspEd01 home]# cd tom
[root@hspEd01 tom]# vim a.txt
[root@hspEd01 tom]# ls
a.txt
[root@hspEd01 tom]# pwd
/home/tom

2.ls:显示当前目录所有的文件和目录,包括隐藏

3.cd:切换到指定目录【可以指定绝对路径或者相对路径】

cd ~:回到家目录

【如果是root,则返回/root】

【如果是tom,则返回/home/tom】

cd ..:回到当前目录的上一级目录

4.mkdir指令:创建目录

创建一个目录:mkdir /home/dog

创建多级目录:mkdir -p /home/animal/tiger

5.rmdir:删除空目录

删除空目录:rmdir /home/dog

删除非空目录:rm -rf /home/animal/tiger

6.touch指令:创建空文件

创建一个空文件:touch hello.txt

7.cp指令:拷贝文件到指定目录

将/home/hello.txt拷贝到/home/bbb目录下:cp hello.txt bbb/

[root@hspEd01 home]# mkdir bbb
[root@hspEd01 home]# ls
animal  bbb  hello.txt  jack  milan  test  tom  zwj
[root@hspEd01 home]# cp hello.txt bbb/
[root@hspEd01 home]# cd bbb/
[root@hspEd01 bbb]# ls
hello.txt

递归复制整个文件夹:将/home/bbb整个目录,拷贝到/opt:cp -r  /home/bbb /opt

[root@hspEd01 bbb]# ls
hello2.txt  hello.txt
[root@hspEd01 bbb]# cp -r /home/bbb /opt/
[root@hspEd01 bbb]# cd /opt/
[root@hspEd01 opt]# ls
bbb  rh  VMwareTools-10.3.23-16594550.tar.gz  vmware-tools-distrib

如果再一次执行”cp -r  /home/bbb /opt“,表示将前面的进行覆盖

强制覆盖不提示:\cp -r /home/bbb /opt

8.rm指令:移除文件或目录

删除一个文件/目录:rm /home/hello.txt

删除整个文件夹【不提醒】:rm -rf /home/hello.txt

9.mv指令:移动文件与目录或者重命名

重命名:mv oldNameFile newNameFile

移动文件:mv /temp/movefile /targetFoloder 

10.cat指令:查看文件内容

将结果交给下一个指令:cat -n /etc/profile | more

【按“Enter”表示显示下一行,“空格”表示翻一页】

  

11.more指令:要查看的文件

more可以根其他一起使用,也可以自己使用。

12.less指令:分屏查看文件内容

根据显示需要加载内容,对应显示大型文件具有较高效率

13.echo指令:输出内容到控制台

14.head指令:显示文件的开头部分内容

查看文件头10行内容:head 文件

查看文件头5行内容:head -n 5 文件

15.tail指令:输出文件中尾部的内容

19.“>”指令:表示将原来文件内容进行覆盖

列表的内容写入文件a.txt中(覆盖写):ls -l > 文件

20.">>"指令:将原来文件内容进行追加

列表的内容追加到文件aa.txt末尾:ls -al >> 文件

将文件1的内容覆盖到文件2:cat 文件1 >> 文件2

追加:echo "内容” >> 文件

21.ln指令:软连接,主要存放了链接其他文件的路径

ln -s /root /home/myroot
相当于复制root,点击myroot实际上跳转到/root下

22.history指令:查看已经执行的历史命令,也可以执行历史指令

15.时间日期类

1.date指令:显示当前日期

2.date指令:设置日期

设置时间:date -s 字符串时间

3.cal指令:查看日历

查看某年日历:cal 2022

16.搜索查找类

1.find指令:从指定目录向下递归地遍历其各个子目录

2.locate指令:快速定位文件路径

因为locate有自己的查找数据库,所以速度快。但是我们第一次执行时,要先更新数据库

updatedb

3.which指令:查看某一个指令在哪一个目录下

4.grep指令和管道指令:|

17.解压和压缩类

1.gzip/gunzip指令:gzip:压缩文件,gunzip解压文件

2.zip/unzip指令:zip压缩文件夹,unzip解压文件夹【打包】

压缩文件夹;zip 要压缩到的地方.zip 要进行压缩的地方

解压文件夹:unzip 要解压到的地方 要解压的地方.zip

3.tar指令:打包指令。最后打包的文件是.tar.gz文件

可以打包压缩文件或者文件夹

压缩多个文件,将/home/pig.txt 和/ home/cat.txt压缩为pc.tar.gz

tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt

将/home的文件夹压缩为myhome.tar.gz

tar -zcvf myhome.tar.gz /home

将pc.tar.gz解压到当前目录

tar -zcvf pc.tar.gz

将myhome.tar.gz 解压到/opt/tmp2目录下【-C 切换到指定目录】

mkdir /opt/tmp2

tar -zxvf /home/myhome.tar.gz -C /opt/tmp2 

18.Linux组管理

1.基本介绍

2.所有者

2.1 查看文件所有者;ls -ahl

a隐藏 h可视化大小 l 列显示

2.2 修改文件所有者:chown 用户名 文件名

chown:change own

3.所在组

3.1 组的创建:groupadd 组名

3.2 查看文件/目录所在组:ls -ahl

3.3 修改文件所在的组:chgrp 组名 文件名

4.其他组

除去文件的所有者和所在组的有户外,系统的其他用户都是文件的其他组

4.1 改变用户所在组

5.权限的基本介绍

I链接、d文件夹、c设备、b块

6.rwx权限

对于目录来说:

x:表示可以进入该目录,比如cd

r:表示可以ls,将目录的内容显示

w:表示可以在该目录,删除或者创建文件

案例说明:

7.修改权限-chmod

通过chmod指令,可以修改文件或者目录的权限

方式一:o+w【给other赋予write权限】 a-x【给all去除execute】

方式二:通过数字变更权限【r=4 w=2 x=1】

 8.修改文件所有者-chown

9.修改文件所在组-chgrp

10.权限管理案例:



19.定时任务调度

1.crond任务调度:crontab -e【周而复始执行】

2.crond特殊符号

3.crond特殊时间执行任务

4.crond应用实例

5.crond相关指令

6.at定时任务:at【选项】【时间】:对每一个作业60秒执行一次

命令选项

时间定义

7.at任务调度实例:

20.磁盘分区

1.基本介绍

2.硬盘分区说明:

3.查看所有设备挂载情况:lsblk【list block】 或者 lsblk -f

4.增加硬盘应用实例

1.挂载硬盘【记得重启】

 

2.在硬盘中创建分区:fdisk /dev/sdb

3.格式化硬盘:mkfs -t ext4 /dev/sdb1

4.挂载mount:mount /dev/sdb1 /newdisk

5.取消挂载unmount

6.自动挂载【永久挂载】:/etc/fstab

5.磁盘情况查询:df -h

6.查询指定目录的磁盘占用情况:du -ha /目录

如果没有指定目录,则表示当前目录

7.磁盘工作实用指令

21.网络配置

1.Linux网络配置原理图【NAT网络配置】

2.网络配置指令

查看window环境中的VMnet8网络配置--ipconfig

查看linux的网络配置---ifconfig

IP要在同一个网段才可以进行通信

ping测试主机之间网络连通性

3.linux网络环境配置

方法一:自动获取

方法二:指定ip

vim /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
#IP地址
IPADDR=192.168.200.130
#网关
GATEWAY=192.168.200.2
#域名解析器
DNS=192.168.200.2"

3.设置主机名和hosts映射

a. 设置主机名--vim /etc/hostname

b. 设置hosts映射--vim /etc/hosts

4.主机名解析过程分析(Hosts,DNS)

1.Hosts是什么

2.DNS:分布式数据库

3.图示

22.Linux进程管理

1.基本介绍

2.显示系统指向的进程--ps -aux | more/ ps -ef【全格式显示】

-e是显示所有进程,不管有没有被执行。-a是显示当前终端执行的所有进程

3.应用

4.终止进程kill和killall

消除远端的进程:killall sshd

消除本机的进程:killall bash

5.查看进程数pstree

显示进程号;pstree -p

6.服务(service)的管理命令【本质-进程】

查看服务名:setup

使用【tab】可以选择退出

7.服务的运行级别:7个级别

开机流程

运行级别的修改

8.服务(chkconfig指令):chkconfig --level3 network off[on]

管理服务在每个级别的自启动

注意点:如果使用chkconfig设置后,需要reboot才能生效

9.服务管理systemctl管理指令

systemctl stop firewalld--->临时关闭防火墙

systemctl enable/disable firewalld--->永久设置防火墙

10.服务管理fillwall指令--打开或者关闭指定端口

打开或者关闭防火墙后要重新载入开生效

打开端口:firewall-cmd --permanent --add-port=端口号/协议

11.动态监控进程:top【与ps相似】

top -->默认每3秒更新

12.动态监控进程交换操作

13.监控网络状态:netstat -anp | more xx

23.RPM和YUM

1.rmp包管理

2.rmp查询指令---rpm -qa | grep xxx

3.rmp包名基本格式

4.rmp其他查询指令

5.rpm卸载:rpm -e xxx

6.rpm安装:rpm -ivh RPM包全路径名称

rpm安装包都放在CentOS中

7.yum【基于RPM】:yum install xxx

24.搭建JavaEE环境

1.安装配置JDK1.8

1.mkdir /opt/jdk

2.cd /opt/jdk

3.解压:tar -zxvf jdk-.zip

4.创建一个文件夹进行存放:/usr/local/java/jdk

5.配置环境变量的配置文件:vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk...

export PATH=$JAVA_HOME/bin:$PATH

6.让新的环境变量生效:source /etc/profile

查看版本:javac -version

                java -version

2.安装tomcat

1.创建目录:mkdir /opt/tomcat

2解压:tar -zxvf -tomcat

3.安装:startup

4.打开防火墙中预防的8080

firewall-cmd --permanent --add-port=8080/tcp

5.重载一下:firewall-cmd --reload

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

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

相关文章

C# PSO 粒子群优化算法 遗传算法 随机算法 求解复杂方程的最大、最小值

复杂方程可以自己定义,以下是看别人的题目,然后自己来做 以下是计算结果 private void GetMinResult(out double resultX1, out double min){double x1, result;Random random1 new Random(DateTime.Now.Millisecond* DateTime.Now.Second);min 99999…

C语言柔性数组详解:让你的程序更灵活

柔性数组 一、前言二、柔性数组的用法三、柔性数组的内存分布四、柔性数组的优势五、总结 一、前言 仔细观察下面的代码,有没有看出哪里不对劲? struct S {int i;double d;char c;int arr[]; };还有另外一种写法: struct S {int i;double …

软件与系统安全复习

软件与系统安全复习 课程复习内容 其中 软件与系统安全基础 威胁模型 对于影响系统安全的所有信息的结构化表示 本质上,是从安全的视角解读系统与其环境 用于理解攻击者 什么可信、什么不可信攻击者的动机、资源、能力;攻击造成的影响 具体场景…

了解被测系统(二)接入链路--包括域名解析和Nginx代理

目录 一、接入链路示例 二、域名解析过程 1、相关概念 1.1、域的结构 1.2、DNS是什么? 1.3、DNS根域名服务器 1.4、顶级域名服务器 1.5、权威域名服务器 2、域名解析过程 2.1、检查Hosts文件 2.2、检查本地DNS缓存 2.3、DNS解析--本地DNS服务器 2.4、D…

后端SpringBoot+前端Vue前后端分离的项目(二)

前言:完成一个列表,实现表头的切换,字段的筛选,排序,分页功能。 目录 一、数据库表的设计 ​编辑二、后端实现 环境配置 model层 mapper层 service层 service层单元测试 controller层 三、前端实现 interface接…

合宙Air724UG LuatOS-Air LVGL API控件-滑动条 (Slider)

滑动条 (Slider) 滑动条看起来和进度条是有些是有些像,但不同的是滑动条可以进行数值选择。 示例代码 -- 回调函数 slider_event_cb function(obj, event)if event lvgl.EVENT_VALUE_CHANGED then local val (lvgl.slider_get_value(obj) or "0")..&…

在PHP8中遍历数组-PHP8知识详解

所谓遍历数组就是把数组中的变量值读取出来。遍历数组中的所有元素对程序员来说是经常使用的操作,通过遍历数组可以完成数组元素的查询工作。 这好比你去商场买东西一样,要买什么东西,就去该区域浏览一遍,以便找出适合自己的产品…

【JavaEE】_CSS常用属性值

目录 1. 字体属性 1.1 设置字体家族 font-family 1.2 设置字体大小 font-size 1.3 设置字体粗细 font-weight 1.4 设置字体倾斜 font-style 2. 文本属性 2.1 设置文本颜色 color 2.2 文本对齐 text-align 2.3 文本装饰 text-decoration 2.4 文本缩进 text-indent 2.…

合宙Air724UG LuatOS-Air LVGL API控件-图片 (Image)

图片 (Image) 图片IMG是用于显示图像的基本对象类型,图像来源可以是文件,或者定义的符号。 示例代码 -- 创建图片控件 img lvgl.img_create(lvgl.scr_act(), nil) -- 设置图片显示的图像 lvgl.img_set_src(img, "/lua/luatos.png") -- 图片…

【Linux】进程概念I --操作系统概念与冯诺依曼体系结构

Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法…感兴趣就关注我吧!你定不会失望。 本篇导航 1. 冯诺依曼体系结构为什么这样设计? 2. 操作系统概念为什么我们需要操作系统呢?操作系统怎么进行管理? 计算机是由两部分组…

性能监控-grafana+prometheus+node_exporter

Prometheus是一个开源的系统监控和报警工具。它由SoundCloud开发并于2012年发布,后来成为了一个独立的开源项目,并得到了广泛的应用和支持。 Prometheus的主要功能包括采集和存储各种系统和应用程序的监控数据,并提供强大的查询语言PromQL来…

算法:数组中的最大差值---“打擂台法“

文章来源: https://blog.csdn.net/weixin_45630258/article/details/132737088 欢迎各位大佬指点、三连 1、题目: 给定一个整数数组 nums,找出给定数组中两个数字之间的最大差值。要求,第二个数字必须大于第一个数字。 2、分析特…

【数据结构】搜索树MapSet

目录 1.搜索树 1.1概念 1.2查找 1.3插入 1.4删除 2.Map 2.1map说明 2.2TreeMap和HashMap 2.3常用方法 3.Set 3.1set说明 3.2TreeSet和HashSet 3.3常用方法 1.搜索树 1.1概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或者具有以下性质&…

静态工厂模式,抽象工厂模式,建造者模式

静态工厂模式 ublic class FruitFactory {public static Fruit getFruit(String name) {Fruit fnull;switch (name){case "APPLE":{fnew Apple();}case "BANANA":{fnew Banana();}default :{System.out.println("Unknown Fruit");}}return f;} …

机器学习算法系列————决策树(二)

1.什么是决策树 用于解决分类问题的一种算法。 左边是属性,右边是标签。 属性选择时用什么度量,分别是信息熵和基尼系数。 这里能够做出来特征的区分。 下图为基尼系数为例进行计算。 下面两张图是对婚姻和年收入的详细计算过程(为GINI系…

2023.09.10 学习周报

文章目录 摘要文献阅读1-1 题目1-2 创新点1-3 本文工作2-1 题目2-2 什么是图2-3 图神经网络2-4 信息传递3-1 题目3-2 创新点3-3 本文工作 深度学习1.GNN的构建步骤2.构建图的方法3.GNN的简单样例 总结 摘要 本周阅读了三篇文章,第一篇是基于物理信息深度学习和激光…

【C++】学习STL中的list

❤️前言 大家好!,今天为大家带来的一篇博客是关于STL中的list,内容主要包括list的介绍使用、list的模拟实现。以及list与vector的对比。 正文 list的介绍和使用 首先,让我们看看list的文档介绍: list是可以在常数范…

PaddleOCR学习笔记3-通用识别服务

今天优化了下之前的初步识别服务的python代码和html代码。 采用flask paddleocr bootstrap快速搭建OCR识别服务。 代码结构如下&#xff1a; 模板页面代码文件如下&#xff1a; upload.html : <!DOCTYPE html> <html> <meta charset"utf-8"> …

数据挖掘的学习路径

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

Docker实战:docker compose 搭建Sonar

1、docker-compose-sonar文件准备 进入/home/docker目录&#xff0c;新建docker-compose-sonar.yml文件&#xff0c;内容如下&#xff1a; version: 3 services: sonar:image: sonarqube:8.9.6-communityrestart: always container_name: sonarqubevolumes:# 设置与宿主机时间…