这几篇博文主要记录博主的Linux 学习之路,用作以后回顾和参考。大家可以选择略过也可以作参考。
(一)Linux 初步笔记
(二)Linux 进阶笔记(一)
(三)Linux 进阶笔记(二)
(四)Shell 编程进阶笔记
Linux 服务管理
(一)服务的简单介绍
服务的启动与自启动:
服务启动:就是在当前系统中让服务运行,并提供功能
服务自启动:自启动是指让服务在系统开机或者重启之后,随着系统启动而启动的服务
chkconfig –list : ->查看服务的自启动状态,可以看到所有rpm 包安装的服务(注意不能查看源码包安装的服务)
(二)RPM 包服务管理
RPM 包默认安装的服务分为独立的服务和基于xinetd 的服务
RPM 包在安装的时候一般不需要指定安装的目录,所以RPM 包和源码包在安装后的主要区别就是安装位置的不同,下面是一般情况下RPM 包安装后文件所在的目录:
RPM 包独立服务的启动命令:
/etc/init.d/[服务名] start |stop |status |restart
service [服务名] start |stop |status |restart : -> 需要注意这个命令是红帽系列专属
RPM 包独立服务的自启动命令:
chkconfig –level 2345 [独立的服务名] [on |stop] : -> 可以通过chkconfig –list |grep [服务名] 查看自启动状态
vi /etc/rc.local : -> 通过修改配置文件的方式可以将需要自启动或关闭的服务写在该配置文件中(与上面的方法相独立)
ntsysv : -> 命令进入图形化界面进行配置(红帽系列专属)
(三)源码包服务管理
源码包的启动命令:
[绝对路径] [start |stop] : ->比如启动源码包http 服务:/usr/local//apache/bin/apachectl start
源码包的自启动命令:
vi /etc/rc.local : -> 修改该配置文件,比如添加/usr/local//apache/bin/apachectl start 数据就是自启动http 服务
(四)总结
附一张脑图:
Linux 系统管理
(一)进程管理
进程管理的作用:
一:判断服务器的健康状态
二:查看系统中的所有进程
三:杀死进程
查看进程相关命令:
ps aux : -> BSD 操作系统格式查看系统中的所有进程
ps -le : -> 使用Linux 标准命令格式查看系统中的所有进程
pstree -pu : -> 查看所有进程,并显示进程的PID 和进程的所属用户
以 “ps aux” 命令为例查看进程输出:下面内容是其中一部分输出
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.4 0.1 19356 1580 ? Ss 18:22 0:08 /sbin/init
root 2 0.0 0.0 0 0 ? S 18:22 0:00 [kthreadd]
.................
各个字段解释:
查看系统健康状态:
top [选项]
选项:
- -d [秒数] : -> 指定top 命令每隔几秒刷新一次,默认情况下是3秒
- -b : -> 使用批处理模式输出,一般和 ‘-n’结合使用
- -n [次数] : -> 指定top 命令执行的次数
在执行top 命令后在交互模式下可以执行的命令:
? 或 p : -> 显示交互模式的帮助
P : -> 以CPU 使用率进行排序,也是默认的排序
M : -> 以内存的使用率进行排序
N : -> 以PID 排序
q : -> 退出top 命令
杀死进程的命令:
kill -1 [进程id] : -> 重启进程
kill -9 [进程id] : -> 杀死进程
killall [选项] [信号] [进程名] : -> 按照进程名杀死进程
选项:
- -i :交互式,询问是否杀死某个进程
- -I :忽略进程名的大小写
pkill [选项] [信号] [进程名] : -> 按照进程名杀死进程
pkill -t [信号] [终端号] : -> 按照终端号踢出用户
进程优先级:
执行 “ps -le”命令系统中的所有进程,查出的内容如下:
其中PRI (Priority)、NI(Nice)。这两个值都是优先级,数字越小代表该进程的优先级越高。其中PRI 的值是不可修改的,NI 值可以修改。
nice 相关的命令:
nice -n [NI 值] [相关服务启动命令] : -> 该命令只可以给新执行的服务赋予NI 值。比如: nice -n -5 service httpd start
renice [NI 值] [PID] : -> 修改已经存在的进程的NI 值,但是只可以根据进程的PID 值修改
(二)工作管理
工作管理简介:
工作管理指的是在单个登录终端中同时管理多个工作的行为。
注意事项:
一: 当前登录的终端,只能管理当前终端的工作
二:放入后台的命令必须是可以持续运行一段时间
三:放入后台执行的命令不能和前台用户有交互或者需要前台输入,否则放入后台的工作只能暂停,而不能执行
相关命令:
[命令] & : -> 将命令放入后台并执行,比如拷贝大文件等
Ctrl + z : -> 在命令执行的时候会将进程放在后台并暂停
jobs -l : -> 查看后台进程的工作号及PID 号
fg %[工作号] : -> 将后台暂停的进程工作恢复到前台执行
bg %[工作号] : ->将后台暂停的进程工作恢复到后台执行
可以通过下面几种方法将后台命令脱离当前终端:
一:将后台执行的命令加入 /etc/rc.local 配置文件
二:使用系统的定时任务,让系统在指定的时间执行某个后台命令
三:使用nohup 命令
系统资源查看:
一:执行“vmstat [刷新延时] [刷新次数]” 命令
相关字段解释:
二:执行“dmesg | grep cpu]” 命令,查看内核检测信息
三:执行“free [-b |-k |-m |-g]” 命令,查看内存使用状态
相关字段解释:
四:执行“cat /proc/cpuinfo” 命令,查看CPU 信息
五:执行“uptime” 命令,查看系统的启动时间和平均负载,也就是执行“top”命令第一行所看到的数据。使用“w” 命令类似。
六:查看系统与内核相关信息
uname [选项]
选项:
- -a : -> 查看系统所有的相关信息
- -r : -> 查看内核版本
- -s : -> 查看内核名称
(三)系统定时任务
at 一次性定时任务
chkconfig –list | grep atd : -> 查看at 服务是否启动
service atd restart : -> 启动at 服务
service atd status : -> 查看at 服务的状态
at命令:
at [时间] : -> 定时执行任务
atq : -> 查询当前服务器上的at 工作
at -c [工作号] : -> 查看任务的具体内容
crontab 循环定时任务
chkconfig –list | grep crond : -> 查看crontab 是否启动
service crond status : -> 查看 crontab 的执行状态
crontab 相关命令:
crontab -e : -> 进入crontab 编辑页面,打开vim 编辑工作
crontab -l : -> 查看root 用户的crontab 任务
crontab -r : -> 删除用户定义的所有crontab 任务
“crontab -e”下vim 编辑任务的格式 : * * * * * [任务]
简单的练习:
比如:“/1 * * * echo 666666 >> /root/crontest”表示每隔一分钟向/root/crontest 文件中输出一句话。
执行系统定时任务的方法:
- 手动执行定时任务,使用crontab 命令
- 系统执行定时任务,将需要执行的定时任务脚本复制到 /etc/cron.daily(例),对应的目录中
anacron 相关
anacron 是用来保证在系统关机的时候错过的定时任务,可以在开机之后再执行。