Linux入门小抄-part3-Linux基础-vi/vim和虚拟机网路配置

vi/vim编辑器

学会使用vi编辑器是学习Linux系统的必备技术之一,因为一般的Linux服务器是没有GUI界面的,Linux运维及开发人员基本上都是通过命令行的方式进行文本编辑或程序编写的。vi编辑器是Linux内置的文本编辑器,几乎所有的类unix系统中都内置了vi编辑器,而其它编辑器则不一定,另外很多软件会调用vi编辑进行内容编写,例如crontab定时任务。较之于其它编辑器或GUI编辑器,vi编辑速度是最快的。vim可以当作vi的升级版本,他可以用多种颜色的方式来显示一些特殊的信息。vim会依据文件扩展名或者是文件内的开头信息, 判断该文件的内容而自动的执行该程序的语法判断式,再以颜色来显示程序代码与一般信息。vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等。 这对于我们在Linux上进行一些配置文件的修改工作时是很棒的功能。

VI有三种基本工作模式,分别是:

命令模式(command mode)、或者叫一般模式

插入模式(insert mode)、或者叫编辑模式

底行模式(last line mode)、或者叫命令行模式

进入文件后的模式切换

  • 1、首先会进入“一般模式”,此模式只接受各种命令快捷键,不能编辑文件内容

  • 2、按i键,就会从一般模式进入编辑模式,此模式下,敲入的都是文件内容.当然进入编辑模式不是只有 i 这一个按键:

    • a   在光标后一位开始插入

    • A   在该行的最后插入

    • I    在该行的最前面插入

    • i    在光标前

    • o   在光标当前行下插入一个空行,光标位于空行行首

    • O    在当前行插入空行

    • s       删除当前字符,进入插入模式

    • S       删除当前行,进入插入模式

    • .....还有很多,我们这里最常用的是ioa这三个.

  • 3、编辑完成之后,按Esc键退出编辑模式,回到一般模式

  • 4、再按,进入“底行命令模式”,输入wq命令,回车即可保存退出 

命令模式下的操作

使用上下左右键可以移动光标

使用h,j,k,l,依次是向左,下,上,右移动

w:将光标移动到下一个单词的首字母处

W:利用空格向后移动光标,就是忽略标点

b:利用word包括标点向前移动光标

B:利用空格向前移动光标,忽略标点

e:将光标移动到下一个word的尾部,包括符号

E: 将光标移动到下一个空格分隔字的尾部

$:移动光标到本行行尾

^:移动光标到本行行首

H:屏幕顶端

L:屏幕底端

M:移动到屏幕中央位置

gg:直接跳到文件的首行行首

G:直接跳到文件的末行行首

% : 匹配括号移动,包括(, {, [.(你需要把光标先移到括号上)

*: 匹配光标当前所在的单词,移动光标到下一个匹配单词

#: 匹配光标当前所在的单词,移动光标到上一个匹配单词

dd    删除光标所在行

3dd   删除从当前行开始的3行

yy    复制光标所在行

3yy   复制从当前行开始的3行

p     paste 粘贴

u     undo 撤销

r       替换光标处一个字符

R       进入替换模式,从光标处连续替换

~       大小写转换,只转换光标处字符

底行命令模式

1显示行号  :set  nu

2 隐藏行号 :set  nonu

3 查找关键字 :/aa  效果:查找文件中出现的aa,并定位到第一个找到的地方,按n可以定位到下一个匹配位置(按N定位到上一个)查询的时候被匹配上的字符串会被高亮,可以在命令模式下使用:noh取消高亮

4、直接跳转到N行 :N

替换操作:

:1 s/sad/bbb      将第一行的第一个sad替换为bbb

:1 s/sad/bbb      将第一行的第一个sad替换为bbb

:1,. s/sad/bbb     将第一行到光标行的第一个sad替换为bbb

:.,$ s/sad/bbb     将光标行到缓冲区最后一行的sad替换为bbb

:s/sad/bbb       查找光标所在行的第一个sad,替换为bbb

:s/sad/bbb/g     查找光标所在行的所有sad,替换为bbb

:%s/sad/bbb     查找文件中所有行第一次出现的sad,替换为bbb

:%s/sad/bbb/g   查找文件中所有的sad,替换为bbb

 

 

 

 

 

 

 

 

 

 

 

vim的其他功能

  • 块操作---这个功能可以让我们复制一个矩形区域的内容,十分方便。

    • v:字符选择,会将光标经过的地方反白选择;
    • V:行选择;
    • Ctrl+v:块选择;
    • y:复制反白的地方;
    • d:删除反白的地方。
  • 多文件编辑

    • 我们在两个或多个文件之间复制粘贴内容时,这个功能会让我们方便很多。使用命令vim name1 name2 name3...(各个文件名之间用空格隔开)可以同时打开多个文件。
    • :n:编辑下一个文件;

      :N:编辑上一个文件;

      :files:列出目前vim打开的所有文件。

  • 多窗口功能

    • 可以在一个窗口中打开多个文件。
    • 输入命令:sp{filename}便可以实现这个功能。如果想要在新窗口启动另外一个文件,则加入文件名。如果省略文件名,则打开的是同一个文件。
    • Ctrl+w+j:先按下Ctrl不放,再按下w后放开所有的按键,再按下j(或向下箭头键),则光标可以移到下方的窗口;

      Ctrl+w+k:同上,不过光表移到上面的窗口;

      Ctrl+w+q:离开。

  • vim环境设置

    • :set nu  设置行号

      :set nonu 取消行号

      :set hlsearch 设置高亮度查找

      :set nohlsearch 取消高亮度查找

      :set backup 自动备份文件

      :set ruler 开启右下角状态栏说明

      :set showmode 显示左下角的INSERT之类的状态栏

      :set backspace={0,1,2} 设置退格键功能。为2时可以删任意字符。为0或1时仅可以删除刚才输入的字符。

      :set all 显示目前所有的环境参数值

      :set 显示与系统默认值不同的参数值

      :syntax on/off 是否开启依据相关程序语法显示不同的颜色

      :set bg=dark/light 是否显示不同的颜色色调

    • 但是我们没有必要每次使用vim都要重新设置一次各个参数值。我们可以通过配置文件来直接规定我们习惯的vim操作环境。整体vim的设置值一般是放在/etc/vimrc中的。我们一般不要修改这个文件。我们可以通过修改~/.vimrc这个文件,如果不存在,可以手动创建。然后将我们所希望的设置值写入。

    • 上面只是我们常用的一些介绍,如果大家希望进一步深入到vim的学习,可以看下这个网站http://linux.ctolib.com/cheat-sheets/view/Vim-command.html

网络管理

一.网络命令

  • ifconfig命令

    • ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看当前所有活动网络接口的状态信息,如下图:

    • 图中的eth0表示活动的以太网接口,对应的描述信息中给出了网络的整体状况信息包括网络类型、MAC地址、IP地址、子网掩码等等,lo表示本地回环网络地址
    • ifconfig eth0 up/down:开启/关闭网络接口
  • ping命令

    • 常用来测试网络连接是否正常
  • host命令

    • host命令用来进行DNS查询

  • netstat命令

    • netstat命令可以显示网络接口的很多统计信息,包括打开的socket和路由表

    • 常用命令选项

      • -a (all)显示所有选项,默认不显示LISTEN相关

      • -t (tcp)仅显示tcp相关选项

      • -u (udp)仅显示udp相关选项

      • -n 拒绝显示别名,能显示数字的全部转化成数字

      • -l 仅列出有在 Listen (监听) 的服務状态

      • -p 显示建立相关链接的程序名

      • -r 显示路由信息,路由表

      • -e 显示扩展信息,例如uid等

      • -s 按各个协议进行统计

      • -c 每隔一个固定时间,执行该netstat命令

    • 例子:

      • 列出所有监听状态的TCP端口:netstat -nltp  该命令最重要;可以用来查看哪个程序占用了哪个网络端口号

二.网络配置

由于我用的是VMware虚拟软件,所以一些内容是针对这个软件而言的.

对于VMware虚拟软件来说,有三种网络模式1.桥接 2.NAT 3.Host-only

  • 桥接

桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,因此物理网卡和虚拟网卡应当处于同一网段,虚拟交换机就相当于一台现实网络中的交换机。当我们要在局域网使用虚拟机,对局域网其他PC提供服务时,例如FTP、SSH、HTTP,那么就要选择桥接模式.再次强调:在桥接模式下,虚拟机ip地址需要与主机在同一个网段.

这种方式是可以上外网的,主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge访问Internet。 网关与DNS需要与主机网卡一致

  • NAT

NAT使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

  • Host-Only

在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是 Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。这种模式有点类似没有NAT服务的NAT网络 

我采用的是NAT网络模式.下面我们来配置一下,让虚拟机也能和宿主机互联并访问互联网.!!!操作如下:

在vm左上角那里有一个编辑选项,点击编辑选项,然后出现一个:虚拟网络编辑器(如下图所示)

然后点击虚拟网络编辑器就会出现一个设置框,这里我们将更改这里面的设置(如下图所示)

 

上面这张是win7系统的界面.但是很多人电脑都是现在都是win10了.所以这里我们按照win10的系统来配置网络,大同小异.win10的朋友看下面的图片

 

按照箭头指示,采取管理员权限更改配置后会出现下面的图片样式:

然后我们把这个VMvet8(就是鼠标正在点的这个网络设置,如上图所示)移除掉,然后重新添加VMvet8网络(如下图所示)

 

添加完vmnet8网络设备以后,我们再选择nat网络模式(如下图所示)

 

然后我们要记得那个vmnet8的ip地址:192.168.183.0(可能你们的ip不一样,这个没多大关系)然后设置好vmnet8以后,我们再来设置NAT设置(如下图所示)

 

然后会出现如下图的设置框:

我们发现,下图的网关是:192.168.183.2(或者你们的不是这个网关,也没事)这里我们就按照192.168.183.2的网关不去修改他,但是我们要配置linux网络环境就要配置下面已经有的192.168.183.2网关,要跟这个网关一致,所以我们要记好了!!

然后我们按确定,然后点击应用然后加载我们设置好的网络设备,然后再按确定(如下图所示)

 

好了NAT网络设备基本上搞好了,那么接下来我们初始化网络设备,让我们刚刚设置的NAT网络设备进行重新加载,在虚拟机的右下角有一个像电脑一样的图标点击右键进入设置(如下图所示):

再进入设置界面,然后本身是那个框框里面的黑色的那个点是在NAT模式中的,那我们现在把那个黑点点到桥接模式进行初始化,然后按确定然后等30秒再设置回NAT模式然后再确定(如下图所示)即可

接下来需要我们到linux的终端里面去配置了:

命令行输入:cd /etc/sysconfig/network-scripts/  来到这个目录底下,vim ifcf -eth0 修改这个配置文件的内容,注意了:这里需要管理员权限 该文件的样式如下:大家应该差不多的

BOOTPROTO=static”

然后再把HWADDR=”00:0C:29:00:AD:A0”和IPV6INIT=”yes”和UUID=”4dcb4773-115c-45e9-b0e1-593518c2892f”这三个删除掉

添加内容:IPADDR=192.168.183.10   //ip地址

添加内容:NETMASK=255.255.255.0  

添加内容:GATEWAY=192.168.183.2  //网关   注意:添加网关一定要跟NAT设置里面的网关IP要一致(如下图所示)

添加内容:DNS1=202.106.0.10

然后我们重启我们的虚拟机的网络服务(如下图所示)注意:先进入管理员权限再进行重启网络服务命令行输入:/etc/init.d/network restart

 

然后我们再查看当前ip是否修改成功(如下图所示):命令行输入:ifconfig

然后如上图看到我们刚刚设置的ip地址已经成功显示出来了,那么我们再去测试一下这台虚拟机是否能上网.命令行输入:curl www.baidu.com 或者是 ping www.baidu.com 

 

 

猜你喜欢

转载自blog.csdn.net/XiaodunLP/article/details/83685259