天天看点

一篇文章学完计算机基础

一.MySQL

在数据库中所有的字符串类型,必须使用单引号,不能使用双引!

一:操作数据库

查看所有数据库:show datebase 

切换(选择要操作的)数据库:use 数据库名

创建数据库: ctreate database [if not exists] 数据库名 [charset = utf8]

删除数据库: drop database[if exists] 数据库名

修改数据库编码: alter database数据库名 character set utf8

二:数据类型

int:整型

double:浮点型,例如double(5,2),表示最多5位,必须有2位小数。

decimal:浮点型,在表单钱方面使用该类型,因为不会出现精度缺失问题。

char:固定长度字符串类型;char(255)

varchar:可变长度字符串类型;varchar(65535)

text(clob):字符串类型;

date:日期类型

time:时间类型

MySQL基础概念

mysql的用户

默认用户:安装mysql的时候自动生成的用户

自定义用户:安装mysql以后自己创建的用户

mysqll的默认用户名

root

这个用户是管理员身份,而且具有所有的权限【最大权限】

库和表、数据

库:其实就是一个目录【文件夹】

表:其实就是目录中的一个文件

数据:其实就是文件中的内容表示数据的时候的两个概念【重要】

记录:数据库文件中,每一行,都是一条记录

字段:数据库文件中,每一列,都是一个字段

链接名:这个名字其实就是一个提示信息,没有其他用处,可以随便写

主机:写上mysql所在的服务器的IP地址

如果是链接自己电脑上的mysql,这里就写自己的IP或者写localhost

如果链接的是其他主机上的mysql,那么这里写其他主机的IP地址

端口号:3306

用户名:root

MySQL特点:

- 开源

- 程序的源代码是开放给用户的

- 用户可以免费获取、免费修改、免费使用

- 双授权

- 社区版:免费,没有技术支持

- 商业版:收费,有完善的售后技术支持服务

- 跨平台:可以运行windows、linux、mac

- 稳定

- 轻量级:mysql运行期间占用系统资源少

三:表

对于数据库的操作有四类:增删改查

增:添加新的行

删:删除表中的行、表本身、库

改:修改(修改表中的数据、修改表)

查:查看库中有哪些表

*创建表:

creater  table[if not exists] 表名(列名 列类型,列名 列类型,列名 列类型,....列名 列类型);

*查看当前数据库中所有的表名称:show tables;

*查看指定表的创建语句:show create table 表名;

*查看表结构:desc 表名;

*删除表:drop table 表名;

*修改表:前缀:alter table 表名

 alter table表名 add(列名 列类型,列名 列类型,...列名 列类型)

修改之修改列类型(如果被修改的列已存在数据,那么新的类型可能会影响到已存在的数据):alter table 表名 modify列名 列类型;修改之修改列名:alter table 表名 CHANGE 原列名 新列名 列类型;

修改之删除列:alter table 表名 drop 列名;

修改表名称:alter table 原表名 rename to 新表名;

创建数据库的命令格式

show databases;

1

CREATE  DATABASE  库名   CHARACTER   SET  字符集  COLLATE  排序规则;

创建库:create database 库名 character set "字符集" collate "排序规则"

删除库:drop database 库名

选择库:use 库名

创建表:create table 表名(字段 属性...,字段 属性.....)

在表中插入数据:insert into 表名 values(值) insert into 表名(字段名,字段名...) values(值,

值...)

删除表:drop table 表名

删除表中的数据:delete from 表名 delete from 表名 where 条件

截断表:truncate 表名

查看表结构:desc 表名

查看表中的数据:select * from 表名

修改表结构:alter table 表名 ...

修改表中的数据:update 表名 set 字段=值 update 表名 set 字段=值 where 条件

四:数据操作

*查询表记录:

select * from表名;

*插入数据:inster into表名(列名1,列名2,...) values (列值1,列值2,...)

或inster into 表名 values(列值1,列值2,...);

*修改数据:

update 表名 set 列名1=列值1,列名2=列值2,...[where 条件]

条件包括:

条件必须是一个boolean类型的值或表达式

运算符:=、!=、<>、>、=、<=、between..and、in(...)、is null、or、and

delete from表名 where 条件];

  1. 查看:show databases;
  2. 新建:create database 库名 character set 字符集 collate 排序规则;
  3. 删除:drop database 库名;
  4. 表中的每一列都是一个字段
  5. 每个字段只能存储一种类型的数据
  6. 数据类型:
  7. int:整型,也就是说,这个字段存储的是整数类型
  8. float:浮点型,这个字段存储的是小数类型
  9. char:字符类型,而且长度固定。也就是说,提前分配存储空间,无论是否使用,存储空间
  10. 的大小都不变。
  11. varchar:字符类型,长度可变。

创建表的格式

字段的修饰【属性】

1. int:整型【整数类型】

2. float:浮点型【小数类型】

3. char:字符类型【无论存储多少个数据,占用内存空间大小固定】

4. varchar:字符类型【内存空间会随着存储的数据变多,而变大】

5. unsigned:表示这个数字是无符号数字【只能是正数】

6. enum:枚举类型【给用户一个选择范围,用户仅仅可以选择其中的一个】

7. null:这个字段可以为空【这个字段中可以不写入内容】

8. not null:这个字段不可以为空【这个字段中必须得写入数据,否则报错】

9. primary key:主键,用来唯一标识表中的一条记录【主键的内容不能重复】

10. auto_increment:设置主键自增

11. default:设置字段的默认值

主键:

用于在表中唯一的标识一条记录

主键的值必须是唯一

案例:

第一步:在在db1中,创建一个新表

表名tb004,字段信息如下

id 主键 整数 非负 不允许为空 自增

name 字符类型,最多30个字符,不允许为空

age 整数 非负 可以为空

gender 枚举类型 可以为空

addr 字符类型 最多100个字符 设置默认值hebei

第二步:查看表是否存在

第三步:查看表结构

创建表的格式REATE TABLE 表名 (字段名 类型  属性.. , 字段名 类型  属性.. , 字段名 类型属性.. );

关于删除

drop database 库名 # 删除一个数据库

drop table 表名 # 删除一个表

delete from 表名 # 删除表中的数据【全部数据】

delete from 表名 where 条件 # 删除表中的数据【仅仅删除符合条件的数据】

truncate 表名 # 删除表中的数据,而且会截断表【id会重现开始自增】

截断表

表的主键可能会自增,如果用delete删除表中的数据后,主键依然会在前面的基础继续自增

截断表:删除表中的数据,同时让主键重新从1开始自增

五:用户管理

1.创建用户

*CREATE USER 用户名@IP地址 IDENTIFIED BY '密码'

用户只能在指定的IP地址上登陆

*CREATE USER 用户名@'%' IDENTIFIED BY '密码'

用户可以在任意IP地址上登陆

2.给用户授权

GRAND 权限1,...,权限n ON 数据库. TO 用户名@IP地址

权限、用户、数据库

给用户分派在指定的数据库上的指定的权限

例如:GRANT CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT ON stu.* TO user1@localhost;

GRANT ALL ON 数据库. TO 用户名@IP地址

给用户分派指定的数据库上的所有权限

3.撤销授权

REVOKE 权限1,...,权限n ON 数据库. FROM 用户名@IP地址;

撤消指定用户在指定数据库上的指定权限

例如:REVOKE CREATE,ALTER,DROP ON stu.* FROM user1@localhost;

4.查看权限

*SHOW GRANTS FOR 用户名@IP地址

查看指定用户的权限

5.删除用户

*DROP USER 用户名@IP地址

六、DQL数据查询

一:基本查询

1:查询所有列

SELECT * FROM 表名;

SELECT * FROM emp;

2:查询指定列

SELECT 列1[,列2,...,列N] FROM 表名;

3:完全重复的记录只一次

SELECT DISTINCT *|列1[,列2,...,列N] FROM 表名;

4:字段名称修改,列加字符串

SELECT 列1,CONCAT(列2+“%”) FROM 表名 WHERE 条件;

5:列运算

*数量类型的列可以做加、减、乘、除运算

SELECT sal*1.5 FROM emp;

SELECT sal+comm FROM emp;

*字符串类型可以做连续运算

SELECT CONCAT('$',sal) FROM emp;

*转换NULL值

有时需要把NULL转换成其它值,例如comm+1000时,如果comm列存在NULL值,那么NULL+1000还是NULL,而我们这时希望把NULL当0来运算。

SELECT IFNULL(comm,0)+1000 FROM emp;

->IFNULL(comm,0) 如果comm中存在NULL值,那么当成0来运算。

*给列起别名

当使用列运算后,查询出的结果集中的列名称很不好看,这时我们可以给列起别名,这样在结果集中列名就显示别名了

SELECT IFNULL(comm,0)+1000 AS 奖金 FORM emp;

->其中AS可以省略

二、条件查询:

*SELECT empno,ename,sal,comm FROM emp WHERE sal>1000 AND comm IS NOT NULL;

*SELECT empno,ename,sal FROM emp WHERE sal BETWEEN 2000 AND 3000;

*SELECT empno,ename,job FROM emp WHERE job IN('经理','董事长');

6:模糊查询

*SELECT * FROM emp WHERE ename LIKE '张_';

->模糊查询需要使用运算符:LIKE,其中_匹配一个任意字符,注意,只匹配一个字符而不是多个。

->上面语句查询的是姓张,名字由两个字组成的员工。

*SELECT * FROM emp WHERE ename LIKE '___' ;

->上面查询姓名由3个字组成的员工

SELECT * FROM emp WHERE ename LIKE '张%';

->如果我们想查询姓张,名字几个字都可以的员工时就要使用“%”了。

->其中%匹配0~N个任意字符,所以上面的语句查询的是姓张的所有员工。

SELECT * FROM emp WHERE ename LIKE '%阿%'

->千万不要认为上面的语句是查询姓名中间带有“阿”字的员工,因为%匹配0~N个字符,所以姓名以阿开头和结尾的员工也都会查询到。

SELECT * FROM emp WHERE ename LIKE '%';

->这个条件等同与不存在,但如果姓名为NULL的查询不出来。

7:排序

SELECT * FROM emp ORDER BY sal ASC;

->上面是升序,默认是升序,ASC可省略

SELECT * FROM emp ORDER BY comm DESC

->按comm降序,DESC不能省略

SELECT * FROM emp ORDER BY sak ASC,comm DESC.

->先按sal升序排,如sal一样,按 comm降序排序。

8:聚合函数

聚合函数用来做某列的纵向运算

  1. COUNT

SELECT COUNT(*) FROM mep;

->计算emp表中所有列都不为NULL的记录的行数

SELECT COUNT(comm) FROM emp;

->云计算emp表中comm列不为NULL的记录的行数

  1. MAX

SELECT MAX(sal) FROM emp;

->查询最高工资

  1. MIN

SELECT MIN(sal) FROM emp;

->查询最低工资

  1. SUM

SELECT SUM(sal) FROM emp;

->查询工资合

  1. AVG

SELECT AVG(sal) FROM emp;

->查询平均工资

9:分组查询

分组查询是把记录使用某一列进行分组,然后查询组信息

例如:查看所有部门的记录数

SELECT deptno,COUNT(*) FROM emp GROUP BY deptno;

->使用job分组,查询每种工作的最高工资

SELECT deptno,COUNT() FROM emp GROUP BY deptno HAVING COUNT()>3;

->以部门分组,查询每组记录数。条件为记录数大于3

10:limit子句

LIMIT用来限定查询结果的起始行,以及总行数。

SELECT * FROM emp LIMIT 4,3;

->其中4表示从第5行开始,其中的3表示一共查询3行。即第5,6,7行记录。

各关键字执行顺序:

SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY

三、备份与恢复*******

1:数据库导出SQL脚本

mysqldump -u用户名 -p密码 数据库名>生成的脚本文件路径

例如:mysqldump -uroot -proot test>C:/name.sql

注意:不要打分号,要不登陆mysql,直接在cmd下运行

注意:生成的脚本文件中不包含create database语句

2:执行SQL脚本

一:

mysql -u用户名 -p密码 数据库

mysql -uroot -proot test

二:

登陆mysql,然后>source SQL脚本路径

约束**

约束是添加在列上的,用来约束列的。

一:主键约束(唯一标识)

非空

唯一

被引用

当表中某一列被指定为主键后,该列就不能为空,不能有重复的值出现。

删除主键:ALTER TABLE stu DROP PRIMARY KEY;

二:主键自增长

*因为主键列的特性是:必须唯一,不能为空,所以我们常会指定主键类为整型,然后设置其自动增长,这样可以保证在插入数据时主键列的唯一和非空特性。

*创建表时指定主键自增长:

CREATE TABLE stu{

sid INT PRIMARY KEY AUTO_INCREMENT,

sname VARCHAR(20),

age INT,

gender VARCHAR(20)

}

*修改表时设置主键自增长:ALTER TABLE stu CHANGE sid sid INT AUTO_INCREMENT;

*修改表时删除主键自增长:ALTER TABLE stu CHANGE sid sid INT;

三:非空约束

*因为某些列不能设置为NULL值,所以可以对列添加非空约束

*例如:

CREATE TABLE stu{

sid INT PRIMARY KEY AUTO_INCREMENT,

sname VARCHAR(20) NOT NULL,

age INT,

gender VARCHAR(20)

}

*对sname列设置了非空约束

四:唯一约束

*数据库有些列不能设置为重复的值,所以可以对列添加唯的约束 。

*CREATE TABLE s tu{

sid INT PRIMARY KEY AUTO_INCREMETN,

sname VARCHAR(20) NOT NULL UNIQUE,

age INT,

gender VARCHAR(10)

}

*对sname列设置了非空约束

五:概念模型

当我们要完成一个软件系统时,需要把系统中的实体抽出来,形成概念模型。

如部门,员工都是系统中的实体。概念模型中的实体最终会成为JAVA中的类,数据库中表。

实体之间还存在关系,关系统有三种:

1对多:如每个员工都从属于一个部门,而一个部门可以有多个员工,其中员工是多方,部门是一方;

1对1:如老公和老婆

多对多:老师与学生就是多对多,一个老师可以有多个学生,一个学生可以有多个老师。

六:外键约束

*外键必须是另一个表的主键

*外键可以重复

*外键可以为空

*一张表中可以有多个外键。

概念模型在数据库中成为表

数据库表中的多对一关系,只需要在多方使用一个独立的列来引用1方的主键即可

四、多表查询

一:分类:

合并结果集

连接查询

子查询

二:合并结果集:

要求被合并的表中,列的类型和列数相同

UNION,去除重复行

UNION ALL,不去除重复行

SELECT * FROM 表名1 UNION ALL SELECT * FROM 表名2;

三:连接查询:

1:分类

*内连接

*外连接

左外连接

右外连接

全外连接(Mysql不支持)

*自然连接(属于一种简化方式)

2:内连接

*方式:SELECT * FROM 表1 别名1,表2 别名2 WHERE 别名1.xx=别名2.xx

*标准:SELECT * FROM 表1 别名1 INNER JOIN 表2 别名2 ON 别名1.xx==别名2.xx

*自然:SELECT * FROM 表1 别名1 NATURAL JOIN 表2 别名2

*内连接查询出的所有记录都满足条件。

3.外连接

*左外:SELECT * FROM 表1 别名1 LEFT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx

左表记录无论是否满足条件都会查询出来,而右表只有满足条件才能出来,左表中不满足条件的记录,右表部分都为NULL

*左外自然:SELECT * FROM 表1 别名1 NATURAL LEFTT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx

*右外:SELECT * FROM 表1 别名1 RIGHT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx

右表记录无论是否满足条件都会查询出来,而左表只有满足条件才能出来。右表中不满足条件的记录,左表部分都为NULL

*右外自然:SELECT * FROM 表1 别名1 NATURAL RIGHT OUTER JOIN 表2 别名2 ON 别名1.xx=别名2.xx

*全链接:可以使用UNION来完成连接

4:查询中有查询(查看select关键字的个数)

1:出现的位置

*WHERE 后作为条件存在

*from后作为表存在(多行多列)

2:条件

(**)单行单列:SELECT * FROM 表1 别名1 WHERE 列1[=、>、=、<=、!=] (SELECT 列 FROM 表2 别名2 WHERE 条件)

*(**)多行单列:SELECT * FROM 表1 别名1 WHERE 列1[IN,ALL,ANY](SELECT 列 FROM 表2 别名2 WHE

RE 条件)

() 单行多列:SELECT * FROM 表1 别名1 WHERE (列1,列2)IN (SELECT 列1,列2 FROM 表2 别名2 WHERE 条件)

(**)多行多列:SELECT * FROM 表1 别名1,(SELECT...)别名2 WHERE 条件

二.Linux

基础命令

1.shell窗口(终端)

1.1 我们先从Hello world! 开始

$ echo Hello world!

将会把Hello,打印在终端屏幕上。

1.2查看一个文件

$ cat file1

查看一个文件

也可以一下看多个文件

1.3 标准输入输出

Ctrl + d 终止一个没有输入命令行

Ctrl + c 终止一个命令无论有输入还是没有输入

1.4 基础命令

1.4.1 ls

$ ls -a -l -h

a是看隐藏文件

l是变成列表形式

h是更好的看大小

1.4.2 cp

$ cp file1 file2

$ cp file1 file2 dir

复制一个或多个文件到某一个地方去

1.4.3 mv

$ mv file1 file2

$ mv file1 file2 dir

移动一个或多个文件到某一个地方去

1.4.4 touch

touch file

创建一个文件(如果已有文件则会更新该文件)

1.4.5 rm

$ rm file -r -f

删除文件

r 是彻底删除 用来删除有文件的文件夹

f 是强制删除

1.4.6 echo

$ echo Hello again!

是一个标准的输出

1.4.7 cd

cd file

进入该文件夹,更改你当前的工作目录

1.4.8 mkdir和rmdir

-p 递归创建

-v 显示创建完成

$ mkdir file1

$ mkdir file1/file2/file3 -vp

$ rmdir file2

高级

创建多个分支结构的文件夹,并且用tree查看

$ mkdir -vp shiyanlou/{lib/,bin/,doc/{info,product}}

$ tree shiyanlou/

创建一个空文件夹

删除一个空文件夹

2.1 shell 通配符

*是一个或多个任意字符

?是一个任意字符

要想打一个真正的 * 号,需要‘ * ’,用单引号,来引起来

2.2 中间命令

2.2.1 grep

就是查看文件中匹配的行

$ grep root /etc/passwd

查看passwd中有root的行

重要参数

-i 忽略大小写        -v 是匹配反转

在grep 中 .* 表示匹配多个字符      . 表示匹配一个字符 [相当于正则表达式]

2.2.2 查看文件less

$ grep ei /etc/passwd | less

b 上一屏

空格 下一屏

q 退出

2.2.3 pwd

查看当前目录

2.2.4 diff

比较文件的不同

$ diff file1 file2

2.2.5 file命令

查看文件格式 可以一下查看多个

$ file file

-n 设置显示行数

+n 从第几行开始显示

2.2.8 sort 命令

$ sort file -r -n

-r 是反转

-n 是排序那些按照数字开头的文件

2.3 更改密码

$ passwd

  • 星号 通用字符

    . 句点 当前目录

    ! 感叹号 历时命令,逻辑非运算符

    | 管道 命令管道

    / 斜线 目录分隔符

    \ 反斜线 常量,宏

    $ 美元符号 变量符号,行尾

    ‘ 单引号 字符串常量

    ` 反引号 命令替换

    “ 双引号 半字符串常量

    ^ 脱字符 逻辑非运算符,行头

    ~ 波浪字符 逻辑非运算符,目录快捷方式

井号 注释,预处理,替换

[ ] 方括号 范围

{ } 大括号 声明块,范围

_ 下划线 空格的简易替代

注解 控制键,我们通常用表示,如C代表CTRL-C

2.8 命令行编辑

按键 操作

CTRL-B 左移光标

CTRL-F 右移光标

CTRL-P 查看上一条命令(等于上移光标)

CTRL-N 查看下一条命令(等于下移光标)

CTRL-A 移动光标至行首

CTRL-E 移动光标至行尾

CTRL-W 删除前一个词

CTRL-U 删除至行首

CTRL-K 删除至行尾

CTRL-Y 粘贴已删除的文本

CTRL+L 清空屏幕

CTRL+U 清空当行

2.15 用户权限

使用ls -l 查看

除第一位,

前三位代表这用户的权限 u

中间是组的权限 g

最后是其他人的权限 o

每一位的意义

r 文件可读

w 文件可写

x 文件可执行

  • 2.16.1 更该文件权限

    给其他用户和组内的人加上可读的权限

    $ chmod go+r file

解压文件

$ tar xvf archive.tar

压缩是cvf,解压是xvf

2.17.3 压缩归档文件 (.tar.gz)

先gunzip解压一次,再tar解压一次而已

$ gunzip file.tar.gz

$ tar xvf file.tar

2.18 linux目录结构基础

/bin 目录中放的是可执行文件,包括大部分基础命令(ls、cp),和一些shell脚本

/dev 设备文件

/etc 重要的系统配置文件(如用户密码,启动文件,设备,网络等等)

/home 用户个人文件

/lib可执行程序使用的各种代码库

/proc 是一个伪文件系统,它只存在内存当中,而不占用外存空间。(我也不太清楚)

/sys 类似于proc目录,里面是设备和系统的信息

/sbin root用户的可执行文件

/tmp 无关紧要的临时文件

/usr 存放这许多linux的系统文件

/var 是程序运行时信息存放的地方(如系统日志,用户信息,缓存)

2.18.1 root目录下的其他目录

/boot 存放内核加载文件,在linux第一次启动时才出现,并且而后不会更改了

给用户组起别名

赋值给他们权限

root用户能够在任何主机上执行任何命令

linux中重要的目录

/home

普通用户存储文件的家目录,也就是普通用户的家目录

【普通用户只能在自己的家目录下创建/编辑文件】/etc

/etc下存储的是linux中的各种配置文件 例如网卡配置文件 系统内核配置文件 用户名

密码配置文件

/bin目录

存放的是linux中可执行程序

/sbin目录

存放的也是linux中可执行程序

/var目录

存放的是经常发生变化的文件

例如日志文件 /var/log/message

/tmp目录

存放的是临时文件

这个目录所有的文件,如果30天内没有被访问过,那么文件自动被删除

/root目录

这个目录是超级管理员用户的家目录

/dev 目录

设备文件

块设备:随机访问,数据块

字符设备:线性访问,以字符为单位

/lib 库文件

静态链接库,.a

动态库 .dll .so

特殊文件 /lib/modules 内核模块文件

/mnt 挂载点目录,将系统盘挂载到某个目录当中

/media 目录,可以作为挂载点的目录

/proc伪文件系统,内核映射文件。展示系统的硬件信息

/sys 伪文件系统,随硬件设备相关的属性映射的文件

作用:文本编辑操作,可以实现快速开发

特点:

是linux系统中一个重要的文件编辑软件

vi 是一种模式化的编辑工具

vim 是vi 编辑工具的加强,vi中所有的功能在vim中都能实现

vi的工作模式

模式1:编辑模式

它是打开文件后默认的模式

编辑模式不能在文件中写入或者编辑内容

模式2:输入模式

它是可以在文件中插入、删除、修改内容

模式3:末行模式

它是可以执行各种命令,例如保存退出、不保存退出、显示行号、高亮显示

模式转换

编辑模式--->输入模式 【

i】

输入模式-->编辑模式【esc】

编辑模式-->末行模式【:】

[root@zlxd ~ ͆ wc -c passwd

1409 passwd

[root@zlxd ~ ͆ wc -w passwd

42 passwd

[root@zlxd ~ ͆ wc -l passwd

32 passwd末行模式-->编辑模式【esc】

​作用:文本编辑操作,可以实现快速开发

特点:

是linux系统中一个重要的文件编辑软件

vi 是一种模式化的编辑工具

vim 是vi 编辑工具的加强,vi中所有的功能在vim中都能实现

vi的工作模式

模式1:编辑模式

它是打开文件后默认的模式

编辑模式不能在文件中写入或者编辑内容

模式2:输入模式

它是可以在文件中插入、删除、修改内容

模式3:末行模式

它是可以执行各种命令,例如保存退出、不保存退出、显示行号、高亮显示

模式转换

编辑模式--->输入模式 【

i】

输入模式-->编辑模式【esc】

编辑模式-->末行模式【:】

[root@zlxd ~ ͆ wc -c passwd

1409 passwd

[root@zlxd ~ ͆ wc -w passwd

42 passwd

[root@zlxd ~ ͆ wc -l passwd

32 passwd末行模式-->编辑模式【esc】

​网络配置

【实现宿主机和虚拟机之间的通信】

1、桥接

将你的虚拟机和物理机调到同一个网段,例如宿主机用的192.168.3.XX/24 虚拟机自动获取地址

也是192.168.3.XX/24

优点:能直接使用物理机的网络和外网进行通信,虚拟机端上网是无感

2、仅主机模式

仅仅是宿主机和虚拟机进行通信,对外网是无法访问的