内核文件:
/boot/vmlinuz-2.6.18-164.el5 vmlinuz-5 initrd-2.6.18-164.el5.img
uname -r,查看内核的版本信息
cat /etc/redhat-release
lsb_release -a,显示当前liunx的相关信息
内核功能:
文件系统
进程管理
内存管理
网络功能
驱动程序
................
内核体系结构:
单内核
微内核
内核功能模块:
/lib/modules
运行级别:
七个级别(0-6),在/etc/inittab中设置默认级别
runlevel,查看级别
init 0-6,切换级别
0:halt,init 0 = shutdown -h now
1:single user mode (s |S |single都表示1级别) emergency:/etc/rc.d/rc.sysinit
6:reboot,init 6 = shutdown -r now
2:完全模式,除了NFS
3:文本完全模式
4:预留出的未使用的级别
5:图形完全模式
Boot Sequence:启动过程
chkconfig
--list,显示所有服务默认启用级别
--level 0-6(默认为2345) service_name on/off ,管理某服务在0-6级别的开启与关闭
--del service_name,删除某服务
--add service_name,增加某服务
service service_script {start | stop | status |restart} ,服务管理
/etc/rc.d/init.d,各种服务的脚本程序
ntsysv 在当前级别设置
--level 2345,对2345级别一起设置
系统启动过程:
POST(加电自检)-->(BIOS boot sequence 指定引导)-->MBR(boot loader 选定操作系统)-->Kernel(加载操作系统内核)-->init/(etc/inittab)
Linux引导程序:
LILO:linux loader
GRUB:grand unified bootloader
GRUB:
Stage1:MBR,负责加载stage2
Stage1.5:加载stage2的中间阶段
Stage2:在/boot/gtub
grub-install,安装GRUB
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.18-164.el5.img
title Install Red Hat Enterprise Linux 5
root (hd0,0)
kernel /vmlinuz-5 ks=http://192.168.0.254/workstation.cfg ksdevice=eth0 noipv6
initrd /initrd-5
password --md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.
~
Kernel的任务:
硬件探测
设备驱动初始化(initrd,模式形式)
挂载根文件系统(以只读方式)
装载/sbin/init,启动系统的PID为1的进程
init进程的任务:/etc/inittab
respawn一旦process终止,就会马上再执行一次
wait 只有进入某个特定级别后process才会启动一次,并且直到结束以后
initdefault 设定默认运行级别
sysinit在系统启动过程中会启动一次
powerwait
powerfail
powerokwait
ctrlaltdek 当用户同时按下ctrl alt del 键时执行进程
inittab:
定义默认运行级别
系统初始脚本指定
特定级别目录下的脚本执行
设定ctrlaltdel组合键的功能
定义UPS电源故障或电源重新恢复时执行的进程
启动虚拟终端
初始化图形终端
/etc/rc.d/rc/sysinit功能:
激活udev和selinux
根据/etc/sysctl.conf文件设定内核参数
设定系统时钟
设定键盘
启用swap分区
设定主机名
根文件系统检测及重新读写方式挂载
激活RAID和LVM设备
启用磁盘配额
检测及挂载其他文件系统(/etc/fstab)
清除过期的锁和PID文件
查看/bin/bash启动那些库文件
进程管理:
Process,instance
进程号,PID
init,主进程,进程号为1
前台进程:执行开始后借宿之前始终占据了命令提示符的进程
后台进程:当进程开始胡会立即释放命令提示符,无论次进程是否结束
进程状态:
Running
Ready
Sleep
Interruptable
Uninterruptable
Stop
Zombie
pstree:显示所有进程数
ps:显示当前运行的前台进程
a 显示和终端相关的进程
x 显示和终端部相关的进程
u 显示用户进程
-ef,
-ej,
axjf,
-ejh,
-o,自定义显示哪个字段
VSZ,虚拟内存空间集
RSS,物理内存集
STAT,进程状态
R,运行态
S,睡眠态
D,不可终端的睡眠态
T,停止态
Z,僵死态
< ,高优先级的进程
N,低优先级的进程
s,会话进程的领导者
l,多线程进程
+,前台进程
watch:监视其他命令周期性内容的改变并显示出来
-n+时间,间隔的时间
pgrep:
-U uid,查找
-G gid,查找
-t term
-P PPID
pgrep PATTERN(进程)或pidof PATTERN(进程),显示此进程的进程号
kill -l或man 7 signal,查看信号信息
1)SIGHUP 通知某一进程重读其配置文件却不用重启
2)SIGINT 相当于ctrl+c,中断作用
9)SIGKILL 杀死某进程
15)SIGTERM 杀死某进程,给有准备时间0
18)SIGCONT 唤醒进程继续
19)SIGSTOP 相当于ctrl+z,终止某个进程
#kill -9 PID,或kill -SIGKILL PID,手动执行9号信号于对应的进程
#kill -9 COMMAND,或kill -SIGKILL COMMAND
#pkill -SIGNAL [options] pattern,操作某一符合条件的进程
#nice
#nice -n # COMMAND
#renice # PID
ps -eo nice,comm,pid,
作业控制:独立的任务,会包含多个进程
前台作业
后台作业
前台--》后台:ctrl + z (挂起)
后台--》前台:fg,将挂起的进程重新启动
fg %jnum(作业号),调出后台特定作业,默认调出带+的作业
jobs,查看后台作业
bg %junm(作业号),指定后台作业在后台运行
kill %junm(作业号),结束后台作业
# nohup COMMAND &,将启动的作业直接放到后台执行且终端结束作业依然执行
进程查看命令
#top
-d 时间 ,多长时间刷新一次进程
-n 数字,刷新几次
-b 指定批处理模式