程序 fi 或者
if [ 条件判断式 ] then 程序 fi
----------------------------------- 单分支条件语句需要注意几个点
>if语句使用fi结尾,和一般语言使用大括号结尾不同
>[ 条件判断式 ]就是使用test命令判断,所以中括号和条件判断式之间必须有空格.
>then后面跟符合条件之后执行的程序,可以放在[]之后,用\分割.也可以换行写入,就不需要\了. ②.双分支if条件语句 if [ 条件判断式 ] then
条件成立时,执行的程序 else
条件不成立时,执行的另一个程序 fi
③.多分支if条件语句 if [ 条件判断式1 ] then
条件成立时,执行的程序 exit 1
elif [ 条件判断式2 ] then
条件成立时,执行的程序 else
条件不成立时,执行的另一个程序 fi 2).case语句
①.多分支case条件语句
>case语句和if...elif...slse语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而if语句可以判断多种条件关系.
case $变量名 in \值1\
如果变量的值等于值1,则执行程序1 ;; \值2\
如果变量的值等于值2,则执行程序2 ;;
*)
如果变量的值都不是以上的值,则执行此程序 ;; esac 3).for循环 ①.语法一
for 变量 in 值1 值2 值3 ... do
程序:echo \ done ②.语法二
for (( 初始值;循环控制条件;变量变化)) do
程序 done 4).while循环 ①.while循环
>while循环是不定循环,也称作条件循环.只要条件判断式成立,循环就会一直继续,直到条件判断式不成立,循环才会停止.这就和for的固定循环不太一样了. 格式:
while [ 条件判断式 ] do
程序 done ②.until循环
>until循环,和while循环相反,until循环时只要条件判断式不成立则进行循环,并执行循环程序.一旦循环条件成立,则终止循环. 格式:
until [ 条件判断式 ] do
程序 done 十二、Linux服务管理 1.服务简介与分类 1).服务的分类
>RPM包默认安装的服务 独立的服务
基于xinetd服务 >源码包安装的服务 2).查询已安装的服务 >RPM包安装的服务 chkconfig --list【查看服务自动启状态,可以看到所有RPM包安装的服务】 >源码包安装的服务
查看服务安装位置,一般是/usr/local/下 2.RPM包安装服务的管理 1).独立服务的管理
①.RPM包安装服务的位置
>RPM安装服务和源码包安装服务的区别就是安装位置的不同 源码包安装在指定位置,一般是/usr/local/ RPM包安装在默认位置中
/etc/init.d/:启动脚本位置
/etc/sysconfig/:初始化环境配置文件位置 /etc/:配置文件位置
/etc/xinetd.conf:xinetd配置文件
/etc/xinetd.d/:基于xinetd服务的启动脚本 /var/lib/:服务产生的数据放在这里 /var/log/:日志 ②.独立服务的启动
>/etc/init.d 独立服务名 start|stop|status|restart >service 独立服务名 start|stop|status|restart ③.独立服务的自动启动
>chkconfig [--level 运行级别] [独立服务名] [on|off]【chkconfig --level 2345 httpd on(Apache服务自启动)】
>修改/etc/rc.d/rc.local文件【推荐】 >使用ntsysv命令管理自启动 2).基于xinetd服务的管理 ①.安装xinetd与telnet yum -y install xinetd
yum -y install telnet-service ②.xinetd服务的启动
vim /etc/xinetd.d/telnet ③.xinetd服务自启动 chkconfig telnet on 3.源码包安装服务的管理
1).源码包安装服务的启动
①.使用绝对路径,调用启动脚本来启动.不同的源码包的启动脚本不同.可以查看源码包的安装说明,查看启动脚本的方法.
/usr/local/apache2/bin/apachectl start|stop 2).源码包服务的自启动
vim /etc/rc.d/rc.local 加入
/usr/local/apache2/bin/apachect1 start 3).让源码包服务被服务管理命令识别
①.让源码包的apache服务能被service命令管理启动
ln -s /usr/local/apache2/bin/apachect1 /etc/init.d/apache ②.让源码包的apache服务能被chkconfig与ntsysv命令管理自启动 vim /etc/init.d/apache
#chkconfig:35 86 76
#指定httpd脚本可以被chkconfig命令管理.格式是:chkconfig: 运行级别 启动顺序 关闭顺序
#description: source package apache #说明,内容随意
chkconfig --add apache【把源码包apache加入chkconfig命令】 十二、Linux系统管理 1.进程管理
1).进程查看
①.查看系统中所有进程
ps aux【查看系统中所有进程,使用BSD操作系统格式】 ps -le【查看系统中所有进程,使用Linux标准命令格式】 >USER:该进程是由哪个用户产生的. >PID:进程的ID号.
>%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源. >%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源. >VSZ:该进程占用虚拟内存的大小,单位KB. >RSS:该进程占用实际物理内存的大小,单位KB.
>TTY:该进程是在哪个终端中运行的.其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端.pts/0-255代表虚拟终端.
>STAT:进程状态.常见的状态有,R:运行,S:睡眠,T:停止状态,s:包含子进程,+:位于后台
>START:该进程的启动时间
>TIME:该进程占用CPU的运算时间,注意不是系统时间 >COMMAND:产生此进程的命令名 ②.查看系统健康状态
top [选项]【-d 秒数:指定top命令每隔几秒更新.默认是3秒】 在top命令的交互模式当中可以执行的命令: ?或h:显示交互模式的帮助
P:以CPU使用率排序,默认就是此项 M:以内存的使用率排序 N:以PID排序 q:退出top
------------说明top命令后的信息---------------------- 第一行信息为任务队列信息
12:25:12-----系统当前时间
up 1 day, 13:22-----系统的运行时间,本机已经运行1天13小时22分钟
2 users-----当前登录了两个用户
load average: 0.00, 0.00, 0.00-----【重点】系统在之前1分钟,5分钟,15分钟的平均负载.一般认为小于1时,负载较小.如果大于1,系统已经超出负荷. 第二行为进程信息
Tasks: 84 total-----系统中的进程总数
1 running-----正在运行的进程数 94 sleeping-----睡眠的进程 0 stopped-----正在停止的进程
0 zombie-----僵尸进程.如果不是0,需要手工检查僵尸进程 第三行为CPU信息
Cpu(s): 0.0%us-----用户模式占用的CPU百分比 0.1%sy-----系统模式占用的CPU百分比
0.0%ni-----改变过优先级的用户进程占用的CPU百分比 99.7%id-----【重点】空闲CPU的CPU百分比
0.1%wa-----等待输入/输出的进程的占用CPU百分比. 0.0%hi-----硬中断请求服务占用的CPU百分比. 0.1%si-----软中断请求服务占用的CPU百分比.
0.0%st-----st(Steal time)虚拟时间百分比.就是当有虚拟机时,虚拟CPU等待实际CPU的时间百分比.
第四行为物理内存信息
Mem: 1030532k total-----物理内存的总量,单位KB 213760k used-----已经使用的物理内存数量
816772k free-----【重点】空闲的物理内存数量,我们使用的是虚拟机,总共只分配了1024MB内存,所以只有816MB的空闲内存了 22836k buffers-----作为缓冲的内存数量 第五行为交换分区(swap)信息
Swap: 1048568k total-----交换分区(虚拟内存)的总大小 0k used-----已经使用的交互分区的大小 1048568k free-----空闲交换分区的大小
118624k cached-----作为缓存的交互分区的大小 ③.查看进程树
pstree [选项]【-p:显示进程的PID,-u:显示进程的所属用户】 2).进程管理
①.kill命令
kill -l【查看可用的进程信号】
-----------常用信号-----------------------
1:SIGHUP:该信号让进程立即关闭,然后重新读取配置文件之后重启. 2:SIGINT:程序终止信号,用于终止前台进程.相当于输出ctrl+c快捷键.
8:SIGFPE:在发生致命的算术运算错误时发出.不仅包括浮点运算错误,还包括溢出及除数为0等其他所有的算术的错误.
9:SIGKILL:用来立即结束程序的运行.本信号不能被阻塞、处理和忽略.一般用于强制终止进程.
14:SIGALRM:时钟定时信号,计算的是实际的时间或时钟时间.alarm函数使用该信号.
15:SIGTERM:正常结束进程的信号,kill命令的默认信号.有时如果进程已经发生问题,这个信号是无法正常终止进程的,我们才会尝试SIGKILL信号,也就是信号9.
18:SIGCONT:该信号可以让暂停的进程恢复执行,本信号不能被阻断.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Linux学习练习命令(7)在线全文阅读。
相关推荐: