RHCE课程-RH033Linux基础笔记六之编辑工具VIM、网络配置、进程优先、日志文件简介-阿里云开发者社区

开发者社区> 技术小美> 正文

RHCE课程-RH033Linux基础笔记六之编辑工具VIM、网络配置、进程优先、日志文件简介

简介:
+关注继续查看
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
######################################################################
下面课程有点难度了,LINUX的进程,与常用进程管理命令
进程简介
大家都知道,系统是通过进程来完成工作的,每一个进程都有一个独立的进程号,系统通过调用进程号来调度操控进程. 
系统的原始进程是init ,init的PID总是1 
一个进程可以产生另一个进程,除了init以外,所有的进程都有父进程
大家可以使用pstree 命令看看系统的进程树型结构,pstree可以用来以树状的方式表现进程的父子关系.
image
init 是第一级的,Linux系统上所有运行的东西都可以称之为一个进程。每个用户任务、每个系统管理守护进程,都可以称之为进程。Linux用分时管理方法使所有的任务共同分享系统资源.分时,也就是时间片。
进程状态分为:创建态-就绪态-行动态-结束。
然而我们的系统能够多任务的主要原因就是时间片。一个进程,比如说TELNET的进程,一个进程,比如说TELNET的进程,然后TELNET这个进程就进入就绪态,等待时间片。当CPU分给他的时间片的时间到了的话,他就开始运行,进入运行态.当时间片用玩以后,他就进入阻塞态,然后进入就绪态,等下次CPU分配的时间片。然后又进入运行态.当这个程序运行完了以后,就进入结束态。这就是简单的进程状态流程。
linux的进程树是这样的:KERNEL-0号进程-1号进程(INIT)-子进程
现在我们先不说理论了,我们来看进程
查询进程
查询进程的指令: 
ps  [option]
一般我们使用这几个参数
1,不带参数
image
2,l 长列表
image
等下我们来介绍长列表里的含义
3, aux 查看系统所有的进程
image
下面我们讲这个长列表的含义
image
第一个F,image 表示这个进程的标志FLAG,4表示用户为超级用户
第二个S,image 表示这个进程的状态STAT,STAT有这几种状态
ps显示中的STAT,可以为: 
R:正在运行。 
S:进程睡眠中,通常可以因事件发生而被唤醒。 
T:进程已停止。 
D:进程睡眠中,除非发生指定事件,否则不会被唤醒。 
Z:僵尸进程,例如未能被父进程回收的子进程。通常是一个系统bug或非法操作。 
&lt; :高优先级进程。 
N:低优先级进程。
UIDimage 这个就是使用者识别码 (ID),当 UID 是0 时,代表这个账号是系统管理员!
PID image 这个进程的ID
PPIDimage 为父进程的ID
Cimage CPU使用的资源百分比
PRI  image PRIORITY(优先级)的缩写,等下我们会详细介绍这个参数
NI image NICE值等下我们也会详细介绍
ADDRimage 这个是核心功能,指出该进程在内存的哪一部分,如果是运行的进程,一般是 - ,-是个标志
SZimage 用掉的内存大小
WCHANimage 当前进程是否正在运行,若为- 表示正在运行,若为 WAIT 就是等待
TTYimage 登陆者使用的终端
TIMEimage 用掉的CPU时间
CMDimage 所执行的命令(也就是用什么命令产生的这个进程)
好了,大家记忆下,这个很重要
下面我们说说 PRI和NI 的关系
当同时有几个进程处于就绪态,CPU会先运行哪个呢?
这就是我们的PRI 优先级所存在的意义了
有个计算公式大家了解下
P(pri)=P(cpu)/2+P(user)+P(nice)+ZERO
其中我们需要注意的就是 P(nice),应为只有这个值是动态的,其他都是静态的,当nice 的值变了,相当与PRI的值也就变了.
下面我们来看看NICE是否会影响进程的优先及,和怎么设置NICE值
以 TOP命令来实验。TOP命令就是常用的动态系统监视工具 
image
然后用HOT KEY :ctrl + z,把这个命令放后台执行,放后台,这个进程虽然暂停了,但是他还在。
image
用ps可以查看
image 
用ps -l查看下。他的PRI 是75,NI 是0
image
在说一下,PRI的值越小,他的优先级越高,同理,由刚才公式,大家应该能想到NICE值越小 PRI优先级也就越高了。
NICE 值的范围  -20 到 19 
当NICE为什么的时候,这个进程的优先及相对最高?这个问题很简单耶,-20
我们使用nice -(-NICE或者NICE)  命令,来设置某个命令的优先级别
nice -5 top这个命令就是设置NICE 为5
image
image
nice --5 top这个命令就是设置NICE为-5
image
image
我们来用ps -l看看设置后的效果,这就是相同的命令不同的PRI  
image
我们还可以用renice NICE值  PID号,来改变一个进程的优先级
这个NICE值前面就不用加 - 了,大家看看有什么变化
image
 
控制进程
Kill 
语法:kill  [-signal]  PID 
向进程传送一个特定的讯号 
默认为15(终结) 
kill -l:列出所有可以由kill传递的讯号
image
比如关闭TOP的进程
image
这种就属于进程比较顽强的,直接杀是杀不死。我们就需要加个SIGNAL ,-9 的意思就是强制中断 
Kill -9 top
image
Killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。 
比如:killall named
lsof -i:端口号 能查出使用这个端口的进程
image
image
用DNS这个进程吧,FTP的进程不明显,现在有两个进程属于DNS的。我们用killall 来杀死他们
image
killall 服务名字,就可以杀死和这个服务相关的所有进程.
进程的优先级
进程的优先级,用nice值来表示 
nice:以一个不同的nice值来运行指令 
nice –(num/-num) command 
renice:改变一个运行进程的nice值 
renice num/-num pid
前台和后台
默认情况下,一个命令执行后,此指令将独占shell,并拒绝其他输入。我们称之为前台进程。反之,则称为后台进程(在进程的后面加上&符号就可将此命令产生的进程放入后台执行)。 
对每一个控制台,都允许多个后台进程。 
对前台/后台进程的控制与调度,被称为任务控制。
如果是前台的进程,我们还可以使用ctrl+c来中断,top进程的事实监视工具,是个前台进程,独占终端。我们要结束这样的进程,就可以使用ctrl+c
image
ctrl+c 是中断 
ctrl+z是放入后台执行
我告诉大家一个窍门吧,我们在用VIM 编辑一个配置文件的时候,比如:ifcfg-eth0
image
这样他就独占终端了,在图形界面下这个都没什么,在开一个终端就行了
image
在CLI模式下麻烦了,这种情况下就是独占终端了,意思就是这个终端不能在做其他的工作
你想要同时执行其他命令,有两种方法:可以是关闭这个文件或者用 ctrl+FX(FX X指的就是1-6哈)切换到其他终端来执行命令。
但是关闭文件后我们执行了命令要继续编辑这个文件,就需要从新打开这个文件,很麻烦。切换终端就更麻烦了
所以我们就需要使用ctrl+z 把独占终端的程度放后台执行。系统会提示你一个进程放在后台了,并且暂停了
image
我们可以使用jobs来查看后台有几个进程。
image
然后使用 #fg  后台进程号,来把这个进程拉回前台 ,默认的是第一个,所以可以不用加进程号
image
这样,我们就可以接着刚才的文件继续编辑
image
这个技巧就是一个HOTKEY ,2个命令
ctrl+z 把独占终端的进程放后台去执行 
jobs 查看后台的进程 (自己知道有哪些进程就不用查看) 
fg   把后台的拉回前台  
一个热键两个命令就可以实现这个技巧
工作
jobs:列出系统当前的后台进程 
image 
fg:将后台进程拉回前台 
image 
bg:激活后台暂停的进程
image
PROC目录
/proc目录是一个虚拟的文件系统,包含了来自正在运行着的核心的信息,这个目录里面的文件是不占用磁盘空间的,他是存放在内存条里滴,也就是包括系统当前的内核,进程。都在这个里面,我们先进入这个目录,看看这个目录里面有什么东西. 
image
这些数字代表什么东西?PID也就是进程号
我们以前不是讲过么,init的进程号是1,这就1号进程的内容了
image
/proc/kcore 这个文件是当前运行内核的一个镜像
用户可以通过cat /proc/下的文件,来获得系统的信息 
这些信息包括系统硬件、网络设置、内存使用,及其他一些东西
/proc下常用的文件给大家介绍下:
/proc/interrupts:IRQ设置
image
/proc/cpuinfo:CPU信息
image
这个CPU信息很有意思,我们来看下 ,对硬件有研究的会员应该一眼就能看出门道吧
/proc/meminfo:系统内存使用状况
image 
这就是内存的使用信息。free 之类的工具都是调用的这些数据,你在这看最直接,而且信息很全面.
/proc/ioports:输入输出设置
image 
/proc/dma:DMA设置
image 
/proc/loadavg:系统负载平均值
image 
/proc/uptime:系统运行时间与空闲时间
2个数字的意义,第一个数值代表系统总的启动时间,第二个数值则代表系统空闲的时间,都是用秒来表示的。
image 
94.866%的时间都是空闲的。几乎没干活,HOHO
/proc/version:Linux核心版本、创建主机、创建时间等
image 
以下是常用的目录:
/proc/scsi:scsi设备信息
image 
/proc/ide:ide设备信息
image 
/proc/sys:核心配置参数 
/proc/sys目录下的文件,允许系统管理员更动,这些变动会直接影响当前核心
image
/proc/&lt;PID>:进程的信息  
这个内容都比较全,但是也不容易懂 ,一般用户查看的时候还是用工具比较好
下面我们说说临时禁PING,cd 到sys 当前系统的目录下
image
里面就是系统的一些状态信息了。我们关注网络方面的,给大家看看这里文件什么样子,要想对这里面的问题动大手术,我能力可能就不够了,还要修炼一下哈。
我们关注IPV4
image
这些就是IPV4 的一些设置和功能
image
比较常用的两个: 
icmp_echo_ignore_all 禁PING用的 
ip_forward 转发数据用的 
以后做iptables和代理服务器的时候ip_forward一定要设置为转发状态
我们用 cat 命令来查看这两个文件的内容
image
内容是0,感觉有点象注册表。介绍下0和1的意思: 
0,代表禁止这个功能,也就是允许ping
1,代表允许这个功能,也就是禁止ping
我现在用我的XP PING我的LINUX
image
下面我们让他PING不通,就是把0改成1
image
现在我们再PING下看看哈,不通了哈
image
现在已经PING不通了,修改PROC目录的文件是马上生效的。切记
我们在用自己PING自己,连自己PING自己都不行了,但是PING我的XP还是可以的
image
我们再看看XP能不能使用LINUX的服务,我们用TELNET做实验,是可以的 
 
如果你想取消这个功能可以把刚才的值改成0就行了或者从新启动,因为RAM是随即存储,要想实现永久的禁PING可以去我BLOG查看相关文章
系统日志
系统日志记录着系统运行中的记录信息 
在服务或系统发生故障的时候,通过查询系统日志,可以帮助我们诊断。 
系统日志可以预警安全问题 
系统日志一般都存放在/var/log目录下
image
常用系统日志:/var/log/messages和/var/log/secure 
通常的系统和服方面的信息在这个里都可以找到
/var/log/messages 日志是核心系统日志文件。
image
image 前面是日期,懂点英语的都能看出来
image 这是时间
image 是主机名字
image 然后是进程
image 就是日志信息了
它包含了系统启动时的引导消息,以及系统运行时的其他状态消息。IO 错误、网络错误和其他系统错误都会记录到这个文件中。其他信息,比如某个人的身份切换为root,也在这里列出。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活动。通常,/var/log/messages 是您在做故障诊断时首先要查看的文件。
由于系统服务都在里面,所以你直接看这个文件你可能看不懂,应为你不知道这个进程或者服务到底有什么用处 
下面我们用tail -f /var/log/messages 这个命令来看日志,加参数-f实时显示后10行的信息
 
我们来看看我的日志最后是什么?这是我们telnet登录的日志,大家能看懂吗?这个主要靠英语了,和技术性无关
下面我把NFS服务器开启,看这个会出现什么效果
这就是NFS的启动过程,NFS在LINUX下的服务名字就叫NFSD ,也产生了新的进程。还有就是NFSD的启动全过程
下面我看看我的DHCP服务器能否工作
这边日志就出现了关于DHCP的进程,如果启动失败,你也到这里看哪步出了问题了,
 
我用DHCLIENT 获取个动态地址,这就是DHCP工作原理
  
 
大家自己看看吧 
像一些特殊的服务他就有专门的日志 
/var/log/xferlog,此日志用于记录所有由ftp服务汇报的讯息和报错 
/var/log/secure,此日志包含了所有与系统相关的讯息,诸如登录,tcp_wrapper与xinetd服务。 
/var/log/wtmp,系统的每一次登录,都会在此日志中添加记录。为了防止有人篡改,该文件为二进制文件。只能用last这一类的指令来读取。 
所以不是所有的日志都可以在messages里面查看,具体要看你某个服务器的配置文件而定
/var/log/secure 安全信息
image 
系统登录与网络连接的信息
这个就是与系统安全相关的日志都放这里了 
 
telnet 不上去了,谁告诉什么原因? 
 
大家还记的刚才我做了什么操作吗?我用dhclient,我自动获取了一个IP,IP地址变了
刚才我不是演示日志文件的时候,用DHCLIENT获取过IP么?
 
我们从新启动下网络
 
这样自动获取的就消失了,变成我自己以前手工配置的了
 
  
好了,进入了。
 
我们再看看安全日志,数下增加了几条日志?是2条哈,1是建立会话,2是登陆成功,就这两条
 
第二条的意思就是michael这个用户从qg07登陆到 pts/4 这个终端, 时间就是 1月16号 10点05分23秒
离开系统
好象关机是件简单的事情,但是你处理不好的话,你服务器就会瘫痪,好多服务器经常会由于关机方式不正当而造成文件丢失,甚至系统崩溃,所以做为技术员,一定要重视这个细节 
重启:
 
reboot 
shutdown -r now 
init 6
建议使用前两个。第三个不建议使用

关机: 
halt 
shutdown -h now 
poweroff 
init 0
关机,系统分以下四个步骤: 
1、把RAM中数据寸盘,也就是同步 
2、关闭服务 
3、卸载目录和分区 
4、关闭根进程和关闭电源
你关闭系统,系统会自动卸载 fstab中的分区,除了你自己关电源,系统一般会帮你完成这个动作的,但是也有可能系统的关机程序会出问题,导致没有完成这些步骤。所以我们要做的就是sync 手动同步数据,把RAM的数据手动写到硬盘里去,然后再关机,比较稳当。
image
sync3次就足够了,用了命令要稍等在关机,写数据有个时间。
运行级别
系统分成7个运行级别,不过有用的是前6个,后面的7是系统保留,为LINUX发展备用的,还没有定义
0 是关闭系统 
1 是单用户维护模式 
2 是不带NFS的CLI界面模式 
3 是功能齐全的CLI模式 
4 也是没有定义的 
5 是图形界面模式 
6 是重新启动模式
所以 init 0可以关机,就是运行0级,init 6 就是运行6级别,可以重启动
为什么说 init 6 没有reboot启动安全呢?好象是他没有同步数据之类的操作。我们来试试看。
image
看吧,系统什么都没停下来,还有警告
image
这样系统很容易出问题,从刚才的警告我们就知道了init 6 是不安全的,在你们自己公司的服务器,千万不要这样弄。容易出事
系统重新启动,先就是挂载的FSTAB里面的分区
image
image
image
你们能看懂这个就知道系统的启动步骤。
###########################################################################################









本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/112453,如需转载请自行联系原作者








版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Linux学习笔记之档案权限与目录配置
Linux学习笔记之档案权限与目录配置一. 档案权限与目录配置用户的属性信息: /etc/passwd用户的密码信息: /etc/shadow组的信息:    /etc/group 每个用户都有唯一的UID供系统识别sudo -i      输入密码切换到root s...
607 0
Linux 文件压缩工具指南
文件的压缩和解压缩是计算历史上最有用的创造之一,但缺乏可移植性和开放工具是阻碍它发挥其应有作用的最主要的一个障碍。
829 0
Linux下C编程,子进程创建函数fork() 执行解析
最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解。现总结如下: 1.函数本身   (1)头文件   #include  #include   (2)函数原型   pid_t fork( void);  (pid_t 是一个宏定义,其实质是int 被定义在#include中)  返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1   (3)函数说明   一个现有进程可以调用fork函数创建一个新进程。
662 0
Linux下C编程,进程通信之无名管道通信
最近在看进程间的通信,下面说说管道通信之无名管道。 1.概述   管道是Linux中很重要的一种通信方式,他是把一个程序的输出直接连接到另一个程序的输入,并且管道具有队列的特性。如Linux命令,“ps -ef | grep root”。
852 0
Linux下C编程,进程通信之标准流管道通信(即系统调用)
1.概述   在编程的过程中总会需要使用系统调用,如linux下的ps,touch,rm,grep命令等;windows下的dir,mkdir,del命令等。   在linux中执行系统调用,通常使用标准流管道。
1011 0
Python零基础学习笔记(十八)—— break语句和continue语句
''' break语句: 作用:跳出for和while循环 注意:只能跳出距离他最近的那一层的循环 ''' for i in range(8): if i == 5: break print(i) ''' continue语句: 作用:跳过当前循环中的剩余语句 .
1237 0
Python零基础学习笔记(七)—— Number数字类型及其转换
Number数字类型 整型定义变量的方法 直接法 = 1 num2 = num1 连续 = num2 =1 交互式赋值num1, num2 = 1, 2 浮点型(小数):由整数部分和小数部分组成num1 = 1.
1464 0
+关注
6906
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载