Linux基础(3)——网络配置、编译流程

Linux网络环境配置

虚拟机的网络适配器的模式有两种,分别是桥接模式和NAT模式,两者具体区别如下所示:
  1. 桥接模式:虚拟机跟物理机各自拥有独立的IP地址
  2. NAT模式:虚拟机直接共享物理机的IP,虚拟机本身没有独立的IP地址
以上两种模式都可以联网,区别就是虚拟机要不要一个独立的IP。对于桥接模式需要注意,必须要仔细选择桥接的物理网卡,否则会出现无法联网的情形。
  • 桥接模式

桥接是指虚拟网卡通过物理机的某一个网络接口,直接连接到路由器去获取 IP 地址。假设物理机有WiFi、以太网等多个网口,其中无线WiFi网口连接到了互联网,而有线以太网口连接到了嵌入式板卡,那么桥接时就要注意需要桥接到哪个网口。如下所示:
注意:如果网络参数经过多次配置导致无法再正确联网,可以通过点击上图中的“还原默认设置”按钮来重置虚拟机的网络。

        比如电脑通过网线连接到教室的网络,也就是物理机通过有线连接到网络,如下所示:

        通过查看以太网的网络配置可以知道物理机的IP地址,IP地址为xxx.xxx.xxx.xxx,如下:

        此时把vmware软件的网络适配器设置为桥接模式,然后修改虚拟机桥接到有线网卡:

        打开ubuntu系统,并通过图形界面来设置ubuntu的网络为静态IP即可,如下图所示:

        终端输入命令ifconfig查看ubuntu的IP地址,可以看到虚拟机和物理机各自有独立IP

        通过ping命令测试虚拟机是否网络正常,比如输入命令 ping www.baidu.com 如下所示:

pin
注意:如果准备设置网络时,发现没有ubuntu没有网络图标,则可以选择重置网络管理器!
gec@ubuntu:$ sudo  service  NetworkManager  stop      //停止网络服务
gec@ubuntu:$ sudo  rm  /var/lib/NetworkManager/NetworkManager.state  //删除配置文件
gec@ubuntu:$ sudo  service  NetworkManager  start                   //开启网络服务
  • NAT模式

在NAT模式下Ubuntu主机与物理网络之间的通信使用网络地址转换技术。这种模式下虚拟机共享主机的IP地址,可以访问外部网络,但外部网络无法直接访问虚拟机内部。如果主机的操作系统连上了网络,那么虚拟机里的Ubuntu也能上网。
所以如果虚拟机不需要单独的IP地址,那么可以通过 NAT 模式来连接网络。NAT 模式下的虚拟机的IP地址,由虚拟网卡自动分配提供,如下图所示
此时的虚拟网卡 VMnet8 充当了路由,地址是 192.168.171.1,并且给当前windows主机和虚拟机分别分配了 192.168.171.2 和 192.168.171.128 的两个IP地址,windows主机和Ubuntu之间可以通过这两个IP地址通信,同时Ubuntu也可以直接进行联网。
  • 网络设置

政鑫
给虚拟机 VMware 选择了某一种联网模式后,一般还需要给客户机(即Ubuntu主机)配置好四个网络参数才能正常联网,分别是:网卡名称、IP地址、子网掩码、网关地址。
在ubuntu17.10之后的发行版中,网络参数配置可以统一通过 Netplan 来管理。具体的操作就是通过统一对 /etc/netplan/ 下的 yaml 文件的配置,Netplan 将读取该 yaml 描述文件来配置网络接口,然后,通过这些描述为任何给定的呈现工具生成必要的配置选项。

        自动获取IP

以下的配置信息展现如何使用 netplan 来给 NetworkManager 配置自动获取IP的信息,如下:
基本格式如下:
gec@ubuntu:~$ sudo gedit /etc/netplan/01-network-manager-all.yaml
说明:
renderer:指定yaml文件针对配置的网络工具
ethernets:配置以太网
ens33:以太网口名称   注意:需要使用ifconfig来查看,不是所有电脑都是一样的
dhcp4:自动获取IPv4的网络地址
dhcp6:自动获取IPv6的网络地址
注意:
冒号后面必须有空格
缩进的空格数必须一致
图片中的IP地址等参数只是例子,大家需要根据实际情况进行修改,否则会导致无法联网。
注意:
想要设置自动获取IP,在终端中可以使用gedit编辑器打开该文件进行编写,但是必须使用sudo获取超级用户权限,否则无法修改该文件。

        设置静态IP

以下的配置信息展现如何使用 netplan 来给 NetworkManager 配置自动获取IP的信息,如下:
基本格式如下:
gec@ubuntu:~$ sudo gedit /etc/netplan/01-network-manager-all.yaml
说明:
[192.168.100.100/24] 中的24代表设定的IP地址的前24比特位为子网掩码,也就是255.255.255.0
nameservers 代表 DNS 服务器
图片中的IP地址等参数只是例子,大家需要根据实际情况进行修改,否则会导致无法联网。
注意:如果用户已经配置好 yaml 文件之后,需要执行如下命令来使之生效,操作如下所示:
gec@ubuntu:$ sudo  netplan  apply

        Linux的vi/vim编辑器

  • 基本概念

vim文本编辑器,是由vi编辑器发展演变过来的文本编辑器,因其具有使用简单、功能强大、是 Linux 众多发行版的默认文本编辑器。很多人习惯将 vim 称为 vi,其实 vim 是 vi 的增强版(在 vi 的基础上增加了正则表达式的查找、多窗口的编辑等功能),使用 vim 进行程序开发会更加方便。
注意:Linux系统中是默认安装vi编辑器的,但是需要手动安装vim编辑器,指令如下所示:
  • 模式说明

vim有三种工作模式,分别是命令模式、插入模式和编辑模式,具体三种方式的关系图如下:

        命令模式

当使用 vi/vim 打开文件时,则默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、l 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

        输入模式

在输入模式下,Vim 可以对文本执行写操作,类似于在 Windows 系统的文档中输入内容。使Vim 切换到输入模式的方法:在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式。  
快捷键
功能描述
i
在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I
在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
o
光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O
在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a
在当前光标所在位置之后插入随后输入的文本
A
在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令

        编辑模式

编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法:在命令模式状态下按shift+:键,此时 Vim 窗口的左下方出现一个“:”符号,就可以输入相关指令进行操作了。指令执行后 Vim 会自动返回命令模式。
如果想直接返回命令模式,按 Esc 即可。注意:如果无法确定此时为何种模式,只需按一次 Esc 键,即可返回命令模式。
  • 使用流程

        打开文件

利用vi/v im进行文本编辑,涉及到文件的各种操作,前提都是需要提前“打开文件”操作:
gec@ubuntu:~$ vi  test.c
刚打开文件时 默认处于命令模式 ,此时文件的下方会显示文件的一些信息:文件的总行数和字符数,以及当前光标所在的位置等。

        编辑文件

Vim 提供了大量的编辑快捷键,所有操作大部分在命令模式下进行,主要可分为以下几类:

        查找内容

如果在文件中并没有找到所要查找的字符串,则在文件底部会出现 "Pattern not found" 提示。
在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 "shenchao" 和 "ShenChao" 会得到不同的结果。如果想忽略大小写,则输入命令 ":set ic";调整回来输入":set noic"。
如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10\$"。

        替换文本

快捷键
功能描述
r
替换光标所在位置的字符
R
从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束
:s/a1/a2/g
将当前光标所在行中的所有 a1 用 a2 替换
:n1,n2s/a1/a2/g
将文件中 n1 到 n2 行中所有 a1 都用 a2 替换
:s/a1/a2/g
将文件中所有的 a1 都用 a2 替换
快捷键
功能描述
/abc
从光标所在位置向前查找字符串 abc
/^abc
查找以 abc 为行首的行
/abc$
查找以 abc 为行尾的行
?abc
从光标所在为主向后查找字符串 abc
n
向同一方向重复上次的查找指令
N
向相反方向重复上次的查找指定

        删除文本

需要注意的是被删除的内容并没有真正删除,都放在了剪贴板中。将光标移动到指定位置处,按下 "p" 键,就可以将刚才删除的内容又粘贴到此处。
快捷键
功能描述
x
删除光标所在位置的字符
dd
删除光标所在行
ndd
删除当前行(包括此行)后 n 行文本
dG
删除光标所在行一直到文件末尾的所有内容
D
删除光标位置到行尾的内容
:a1,a2d
函数从 a1 行到 a2 行的文本内容

        复制粘贴

快捷键
功能描述
p
将剪贴板中的内容粘贴到光标后
P(大写)
将剪贴板中的内容粘贴到光标前
y
复制已选中的文本到剪贴板
yy
将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行
yw
将光标位置的单词复制到剪贴板

        保存退出

需要注意:vi/vim 的保存和退出是在编辑模式中进行的,"w!" 和 "wq!" 等类似的指令,通常用于对文件没有写权限的时候(显示 readonly),但如果你是文件的所有者或者 root 用户,就可以强制执行。
命令
功能描述
:wq
保存并退出 Vim 编辑器
:wq!
保存并强制退出 Vim 编辑器
:q
不保存就退出 Vim 编辑器
:q!
不保存,且强制退出 Vim 编辑器
:w
保存但是不退出 Vim 编辑器
:w!
强制保存文本
:w filename
另存到 filename 文件
x!
保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令
ZZ
直接退出 Vim 编辑器

        其他常用

某些情况下,可能需要把两行进行连接。比如说,下面的文件中有两行文本,现在需要将其合并成一行(实际上就是将两行间的换行符去掉)。可以直接在命令模式中按下 "J" 键。
如果不小心误删除了文件内容,则可以通过 "u" 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 "u" 键。
作业:要求在Linux系统下使用vi/vim编辑器完成程序的编辑,并完成程序的编译工作!

        系统之间文件共享

想要实现两个不同的系统之间实现文件共享,最简单的一种方案就是设置VMware软件的共享文件夹,利用共享文件夹可以实现linux系统和windows系统之间的文件共享,这样就可以实现在windows系统上编辑程序,然后在linux系统下编译程序以及运行程序,尤其是当使用开发板的时候,这种方案非常好用。

        点击VMware菜单栏的“虚拟机”,然后点击“设置”,点击“选项”,点击“共享文件夹”

        设置主机路径(windows系统的路径,),设置名称(linux系统的文件夹的名称,英文)

        然后打开Terminal终端,输入命令cd  /mnt/hgfs/ 然后按下回车,输入ls命令查看

        可以看到share文件夹就是设置好的共享文件夹的名称,切换到该目录即可实现共享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值