【韩顺平】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 …

软件与系统安全复习

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

java.lang.NullPointerException at Com.su.test.MyTest.test01

还不太懂原理,解决办法就是在测试类注解上添加 RunWith(SpringJUnit4ClassRunner.class)或者RunWith(SpringRunner.class) 附上链接:RunWith(SpringRunner.class)和RunWith(SpringJUnit4ClassRunner.class)的区别_来老铁干了这碗代码的博客-CSDN博客 test测试报NullPointerEx…

05 CNN 猴子类别检测

一、数据集下载 kaggle数据集[10 monkey] 二、数据集准备 2.1 指定路径 from tensorflow import keras import tensorflow as tf import numpy as np import pandas as pd import matplotlib.pyplot as plttrain_dir /newdisk/darren_pty/CNN/ten_monkey/training/ valid_d…

【C】【C++】可变参数、不定参函数的使用

文章目录 1. C 语言1.1 可变宏函数1.2 可变函数 2. C 1. C 语言 c语言中的可变参数写法:... 1.1 可变宏函数 以日志举例,我们写入日志时只需要输入关键信息,行号文件等由宏函数补全这其中,我们需要输入的信息是格式不定的&#x…

实现Spring Boot集成MyBatis

引言 在Java开发中,Spring Boot和MyBatis是非常常用的框架。Spring Boot是一个快速开发应用程序的框架,而MyBatis是一个持久化框架,可以方便地操作数据库。本文将介绍如何使用Idea集成Spring Boot和MyBatis,并创建一个简单的示例…

App 出海实践:Google Play 结算系统

作者:业志陈 现如今,App 出海热度不减,是很多公司和个人开发者选择的一个市场方向。App 为了实现盈利,除了接入广告这种最常见的变现方式外,就是通过提供各类虚拟商品或者是会员服务来吸引用户付费了,此时 …

了解被测系统(二)接入链路--包括域名解析和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接…

IP和MAC的作用区别

在 IP 地址的上一行是 link/ether fa:16:3e:c7:79:75 brd ff:ff:ff:ff:ff:ff,这个被称为 MAC 地址,是一个网卡的物理地址,用十六进制,6 个 byte 表示。 一个网络包要从一个地方传到另一个地方,除了要有确定的地址&…

合宙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知识详解

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

Ubuntu 18.04安装搜狗输入法后无法显示中文

前置 Ubuntu系统: Ubuntu 18.04 LTS搜狗输入法版本: sogoupinyin_4.2.1.145_amd64.deb 搜狗输入法Linux官方安装指导:https://shurufa.sogou.com/linux/guide 问题 按照官方文档安装后,发现fcitx管理已经添加搜狗输入法&#…

【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") -- 图片…

【LeetCode-面试经典150题-day20】

目录 70.爬楼梯 198.打家劫舍 139.单词拆分 322.零钱兑换 300.最长递增子序列 70.爬楼梯 题意&#xff1a; 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 提示&#xff1a; 1 < n < …

day32 泛型 数据结构 List

一、泛型 概述 JDK1.5同时推出了两个和集合相关的特性&#xff1a;增强for循环&#xff0c;泛型 泛型可以修饰泛型类中的属性&#xff0c;方法返回值&#xff0c;方法参数&#xff0c; 构造函数的参数 Java提供的泛型类/接口 Collection, List, Set&#xff0c;Iterator 等 …

hive解决了什么问题

hive出现的原因 Hive 出现的原因主要有以下几个&#xff1a; 传统数据仓库无法处理大规模数据&#xff1a;传统的数据仓库通常采用关系型数据库作为底层存储&#xff0c;这种数据库在处理大规模数据时效率较低。MapReduce 难以使用&#xff1a;MapReduce 是一种分布式计算框架…

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

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