RHCE课程-初级部分6、编辑工具VIM,网络配置,进程优先,日志文件简介
由于cat 命令虽然可以输入字符,但是功能有限,而且很不方便。所以我们需要更专业的文本编辑工具
我们通常用各种编辑工具来处理文本文件 常用的编辑工具:
VI
VIM
EMACS
VI和VIM的区别
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:
易用性 vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
语法加亮 vim可以用不同的颜色来加亮你的代码。
可视化操作(ESC+V) 就是说vim不仅可以在终端运行,也可以运行于x window、mac os、windows。
对vi的完全兼容 某些情况下,你可以把vim当成vi来使用
由于VI和VIM的使用方法基本都一样,所以我们就直接用RHEL带的VIM来讲解,会了VIM,VI也基本没问题了
VI
作为一个编辑器,vim被广泛地运用在各种Unix操作系统上。
Vim是Linux中的标准文本编辑器。
在Red Hat Linux上,一般采用的“可视编辑器 / visual editor” 是vim(vi improved)
用VIM打开文件
vim        文件名
如果文件已存在,则此文件被打开且显示文件内容
如果文件不存在,则vim在第一次存盘时自动建立在硬盘上
现在大家使用vim建立一个test 文件 
vim test
image
最下面会有提示的
image 
第一个0,代表第几行;第二个0,代表第几页
逗号后面的可以代表这行第几个字符,例:第四行第五个字符
image
字符28这个问题,有兴趣的自己下去研究下。 我也不是很清楚
最后的9% 代表当前显示到总内容的百分率
image 
由于刚才我们建立的文件是不存在的,所以属于第二种情况
现在就是重点了
vim提供三种模式
命令模式:控制光标移动,删除字符,段落复制(按ESC)
编辑模式/插入模式:新增文字及修改文字
末行模式:保存文件,离开vi,以及其他设置
如果提示新文件,或者什么都没有就代表是命令模式
image
命令模式
在编辑模式下按ESC键可进入到命令模式  
命令         说明
 h           将光标向左移动一格
l           将光标向右移动一格
j           将光标向下移动一格
k           将光标向上移动一格
0           数字0,将光标移动到该行的行首
$           将光标移动到该行的行末
H           将光标移动到该屏幕的顶端
M           将光标移动到该屏幕的中间
L           将光标移动到该屏幕的底端
gg          将光标移动到文章的首行
G           将光标移动到文章的尾行
w或W         将光标移动到下一单词
命令模式,删除与块操作
在命令模式下可以直接删除字符
在命令模式下键入v则进入块操作:
1、移动光标以选定操作块
2、c 剪切选定块  或  y 复制选定块
3、p 将选定内容贴在光标所在位置右手边
在vi中删除
x/<del>:删除一个字符
nx:删除下n个字符
dd:删除当前行
dw:删至词尾
ndw:删除后n个词
d$:删至行尾
nd$:删除后n行
在vi中剪贴
yy:选定光标所在行复制
yw:选定光标所在词复制
nyw:选定光标所在位置到之后n个单词复制
y$:选定光标所在位置到行尾的部分复制
p:贴在光标所在位置之右
P:贴在光标所在位置之左
命令模式,取消操作
u:取消上一个更动
U:取消一行内的所有更动
:e! :放弃所有更动,重新编辑
当我们想要自己给文件输入内容使用什么模式?
编辑模式/插入模式
恩,当我们进入的时候是属于命令模式。我们用i 进入编辑模式,你们可以在文件的左下角看到当前是什么模式
image
这样就进入了编辑模式,现在大家可以随意编辑,除了ESC键有特殊意义,其他键在此模式下都没有特殊意义
现在大家随意输入一些字符,44换行,删除。
换行可以直接回车,删除直接用退格键
现在我们用ESC退出编辑模式,退出以后,回到命令模式,左下角的插入标签消失.
image
VIM编辑模式
i光标当前处插入
I光标当前行首插入
a光标之后插入
A光标所在行的行尾插入
o光标所在行之后新起一行插入
O光标所在行之前新起一行插入
末行模式在命令模式下输入“:”进入末行模式
:w [文件名] 保存当前文件
:q  如果未对文件做改动则退出
:wq :x  保存当前文件并退出
:q!  放弃存储并退出
:e 文件名 打开另一文件并开始编辑
:r 文件名 在当前光标插入文件内容
:r! 命令在当前光标插入命令执行结果
进入末行模式后,想退出末行模式,是用退格符号把:删除或按ESC就可以
保存退出出我已经说过,使用 :wq 
必须是先w 保存,然后才q退出,不能反了
记住三种模式的关系:
编辑模式仅可以到命令模式
末行模式也仅可以切换到命令模式
而命令模式既可以切换到编辑模式,也可以切换到末行模式
大家保存退出
image
然后再用vim编辑刚才的文件test
刚进入,左下角就有这个文件的基本统计
test是文件名字,4L是用了4行,19c 是19个字符。空格和空行都算在内
image
现在请大家在自己的文件末尾加入这么几行,格式要对哈
123123123
098098098
111111111 
方法还是先用刚才提到的 i o a 进入编辑模式,然后输入这些字符,输入完成以后,我们用ESC切换到命令模式
image
然后把光标移动到倒数第2行,然后把光标移动到倒数第2行的末尾,然后大家使用x来删除这几个字符.
image
删除以后,使用u还原刚才我们删除的字符
image
image
还原以后,请在44大写的X键和小写的x功能有什么区别?
小写x,是删除光标所在的字符
大写X,是删除光标前一个字符。
u:取消上一个更动
U:取消一行内的所有更动
:e! :放弃所有更动,重新编辑
然后大家使用 dd命令删除整行:dd 删除光标所在行
image
删除后,在用u恢复,删除和恢复大家都没问题了吧?
下面我们讲拷贝。yy 复制光标所在行,然后使用p来粘贴.
image
大家自己实验下大P和小p粘贴的差别
小p,在光标所在行前粘贴
大P,在光标所在行后粘贴
把现在所有的内容在复制一份,粘贴在最下面
命令模式下键入v则进入块操作,移动光标以选定操作块.
image
c 剪切选定块或y 复制选定块,按了y以后,下面会提示你复制了多少行。
image
而且就退出了块操作,你直接把光标移动大最下面,然后按P就可以粘贴了
image
这样就完成了块的复制和粘贴。
还可以使用 c剪切,大家44,好了。下面大家保存退出这个文件
下面大家把 man ls 文件导入到file中
image
然后vim这个文件:vim file
image
看看我们文件是不是一样的。 239行,9537个字符。
下面我们怎么直接看最后一页文件呢?
在命令模式输入G,已经在底端了。
image
然后我们怎么切换到第一行呢?
可以使用两个命令:gg或者1G 
image
下面再教大家一个显示行号的命令:set nu
image
image
如果要取消行号,使用:set nonu 
image
我们还是把行号打开吧,下面我们要跳到53行,怎么操作?53G
image
如果是66行,就是66G 
image
现在我们在66行,那么如果到88行,我们可以输入88G输入22按回车也可以到88行。
image
在命令模式下输入 “/” “?”进入末行查询模式
/  向下查询
image
image
?向上查询
image
在查找后,可以用 n 继续寻找下一个关键字段。
image
VIM东西多,我也只讲了点常用的,如果你们把这些用熟了,可以去扩展其他命令,VIM就学到这,下面讲网络配置。
你们先总结下笔记,等下我们写配置文件还是要用到VIM,写配置文件和命令配置都要涉及到。
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。vim的这些优势主要体现在以下几个方面:
易用性
vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。
语法加亮
vim可以用不同的颜色来加亮你的代码。
可视化操作(ESC+V)
就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。
对vi的完全兼容
某些情况下,你可以把vim当成vi来使用。
vim支持同时在一屏幕编辑两个文件,也就是两个文件同时显示在一个屏幕,可以可视化交互操作。 
####################################################################################################
网卡配置
网卡设备名字:eth0,eth1,…
eth0  代表第一块网卡
配置命令:
system-config-network
system-config-network-tui
system-config-network-gui
上面三个命令都可以配置网卡,第一个要求有图形界面的才能。
system-config-network
image 
image
system-config-network-tui
第二个是很好用的工具,我配置东西都是用命令和vim.
image
image
进入这个界面,选择你要配置的网卡。我只有一个,就选他吧,直接回车
image
这个大家没问题吧,自己修改下OK后点OK就出去了。
system-config-network-gui
最后一个命令也是进入图形界面的,这个大家自己看就行了
image
image
下面就是重点了。修改配置文件来完成网卡配置
网卡设备配置结果存放在:/etc/sysconfig/network-.s/ifcfg-ethX
大家记住这个路径
image
这就是网卡的配置文件
第2行 设备名称
3行 广播地址
第4行 硬件地址也就是MAC地址
第5行 就是我们所说的IP地址了
6行 子网掩码
7行 网络号
第8
行 启动时激活
第9
行 网关地址
第10行 网卡类型

网络号和广播地址,学计算机的应该都知道吧?
image 
下面可以把IPADDR 改成和你们自己的WINDOWS一个网段。我这里测试改成192.168.0.188,然后保存退出。
image
使用这个命令让你的新的网络配置生效:service network restart
image
现在你ping 你WINDOWS的机器,可以使用 ctrl+c 中断输出
image
这样ip地址的配置就算完成了,最后就会显示总计。
查看网卡的配置情况 ifconfig [ethX]
使用 ifconfig eth0 查看配置
image 
如果有inet addr 的话,那就ping自己看能不能通。如果没有inet addr ,那证明你的配置没有成功,有ip,但是不能ping 通其他主机的IP地址话就证明的的网络不能到达,或者WINDOWS防火墙不允许ICMP包通过。
禁用某一个网卡 ifdown ethX
image
激活某一个网卡 ifup ethX
image 
又ping通了哈!
网络的其他配置
/etc/sysconfig/network 文件
该文件用来指定服务器上的网络配置信息,下面是一个示例。
NETWORK=yes/no    网络是否被配置;
FORWARD_IPV4=yes/no 是否开启IP转发功能
HOSTNAME=hostname        hostname表示服务器的主机名 
GATEWAYDEV=gw-dev     gw-dw表示网关的设备名,如:etho等 
GATEWAY=192.168.0.254  设置网关的IP地址
image
交互工具
mesg
   -- 控制终端是否接收讯息
#mesg n/y
参 数:
n   不允许气筒用户将信息直接显示在你的屏幕上。
y   允许气筒用户将信息直接显示在你的屏幕上。
mesg命令设定是否允许其他用户用write命令给自己发送信息。如果允许别人给自己发送信息,输入命令:
# mesg y
否则,输入:
# mesg n
对于终极用户,系统的默认值为 n;而对于一般用户系统的默认值为y。
如果mesg后不带所有参数,则显示当前的状态是y还是n,如:
$ mesg
is y
或:
# mesg
is n
image
常用的交互工具:
wall:向所有在线用户广播
这时就能用wall命令将信息发给所有登录该主机的用户了,只要输入:wall 信息
image
户能先把要发送的信息写好存入一个文件中,然后输入:wall < myfile
image
wall命令是对所有在线的用户进行广播的。那么,你一定在想,可否直接两人彼此相互对话。下面的write就是实现这个功能的。
write:命令的功能是向系统中某一个用户发送信息。
该命令的一般格式为:
write user [ttyname]
对应的中文为:
write 用户帐号 [终端名称]
所谓的用户帐号,我想大家都应该知道,就是你登录Linux系统的用户名,(如root或/home目录下的用户名)。但注意,这里要的不是你的帐号,而是对方的帐号。
终端名称,就是系统发配给你的一个终端号,要知道,一台机子同一个用户(如root),能有多个用户在用,能多个人用root用户名登录在远程操作Linux系统,所以不得不给每个人(终端)分配一个号来差别。你能还不知道这个东西是什么,那么输入ps命令吧,一切就明白了。
image
看到了吧,pts/3就是终端名称了,3是号,不同的人(用户)系统自动分配一个号。系统从0研发分配。
例:假设你以root登录机,分配pts/3;另外一人以michael登录为pts/1.另外一人想发送一消息给root用户,则输入:
# write root pts/3
此时系统进入发送信息状态,(root的session即时出现提示:
image 
好了,输入你想给root的信息吧,如"hello"按下enter时便发出去。你能继续发送消息。直到你想退出发送状态,按Ctrl+c即可。
上述命令执行的结果是,用户root的屏幕上会显示:
image
DNS客户端配置
一个系统,要上网,除了有IP以外,还需要DNS和网关,这个大家都知道
图形界面的设置方法就在和IP设置一样,你们找到地方填就行了,我们学习主要以配置文件为主.
文件/etc/resolv.conf配置DNS客户.这个就是DNS的配置文件,大家用VIM把这个文件打开.
image
文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:
search example.com
nameserver 192.168.0.254
nameserver 192.168.1.254
image
Search  它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。如果是在局域网中,你有自己的域,就可以设置这项。在WAN上面,域很多,所以也就没必要写了.
nameserver 表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个IP地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver,nameserver 就是DNS 服务器的标志,在后面就可以跟DNS服务器的IP,你可以在这个文件里定义多个DNS ,解析顺序是从上至下。
每行只能写一个哈,这个要记住
image
这种写法就是错误的,而且VIM也会用红色标记出来,说明这个语法有问题
好了,DNS客户端就这样了。
下面就是网关,LINUX网关分全局和局部
image
network 这个配置文件里设置的网关就是全局的,对所有网卡都有效。要在GATEWAY这指定,添加或修改这行就可以了
image
这个是网卡配置文件,上周我们是讲过的。请大家打开
image
image
好了,下面我们讲讲配置虚拟网卡
配置虚拟网卡有两种方法,一种是临时的,一种是永久的。
这是临时的。只需要虚拟出eth0:1 这个设备,在后面加他的IP地址就可以了
image
image
通了
image
刚才我们配置的虚拟网卡,如果重新启动网络服务,就会消失。
重新启动 service network restart ,可以发现eth0:1没有了。
image
image
这样虚拟的网卡就不存在了, 如果需要虚拟网卡一直存在,我们需要给虚拟网卡一个配置文件
image
大家进入这个目录,我们所有的网络接口设备都在这里了
image
这是建立虚拟网卡的第一步,建立他的配置文件:cp ifcfg-eth0 ifcfg-eth0:1
image
修改这个虚拟网卡的配置文件
image
修改设备名字和配置文件名字一样。然后修改IP,要不和eth0一样,保存退出。
image
现在还ping不通,我们需要激活这个虚拟网卡:ifup eth0:1
image
现在我们就可以用其他电脑ping通我们的虚拟网卡了
image
LINUX的IP要和XP的在一个网段
设置了正确的网关
设置了正确的DNS
你的LINUX应该就可以上网了
下面我们说说LINUX系统日期的配置,这个以前好象提过,我们今天再讲讲
LINUX日期配置
可以使用system-config-date
image
这个简单明了,大家自己玩玩
image
使用命令的话:date
image
UTC(国际标准时间)
CST(中国标准时间/美国、澳大利亚中央时间/古巴标准时间)
CST Central Standard Time (USA) UT-6:00
CST Central Standard Time (Australia) UT+9:30
CST China Standard Time UT+8:00
CST Cuba Standard Time UT-4:00
date –s 2008/11/17
date -s 13:00