rc.local:
服务执行的最后一个脚本,它不定义人任何服务!

/var/tmp/start-`date`
touch /var/tmp/start-`date +%F-%H-%S`

内核的组成部分:
kernel
initrd
/lib/modules/`uname -r`/

内核的功能:
文件系统
进程管理
内存管理
驱动程序
网络子系统
安全管理(selinux)
虚拟化

32位:4G
PAE:physical address extension ,4bit 16X4=64G
kernel—PAE:16G


64位:
kernel:512G
kernel-xen:512G


两个伪文件目录:
/proc:用于查看进程和内核参数的接口
/sys;用于查看硬件设备和驱动程序相关参数

meminfo:内存信息
free -m
uptime:系统运行时常

设定内核参数:
/etc/sysctl.conf
文件内的.表示目录分隔符!
eg:
net.ipv4.tcp_syncookies = 1

sysctl -a | wc -l 显示内核参数及其正在使用的值
sysctl -p 让内核重读/etc/sysctl.conf 配置文件
sysctl -w 临时性改变内核参数的值


用于ip转发:
/proc/sys/net/ipv4/ip_forward

echo 1|0 > /proc/sys/net/ipv4/ip_forward 设置数字0|1,关闭或者启用

查看硬件信息:
lspci
lsusb

cat /proc/cpuinfo

x86info -a 显示信息

hal-device 硬件抽象
hal-device-manager

udev:
让用户定义udev的规则,从而实现在创建设备文件使用不同的设备名

/dev/sdb1 --> /dev/usb1
/dev/sdb3 --> /dev/mysql

手动创建设备文件:
mknod [options] NAME TYPE [MAJOR MINOR]
-m 权限模型
eg:mknod -m 640 /dev/mydev b(块设备) 15(主设备号) 1(次设备号)
主设备号:设备的种类
此设备号:具体标识某个设备

/dev/random,/dev/urandom 生成系统随机数
urandom生成的随机数来自于熵池(内存空间),若熵池耗尽,则无法继续
random生成的随机数也来自于熵池,若熵池耗尽,则使用软件模拟生成随机数
/dev/null,/dev/zero

模块:
uname -r 显示当前系统的内核版本号
/lib/modules/`uanme -r`
/proc/modules 当前系统启动起来后所加载使用的模块

查看系统内核已经装载的模块:
lsmod

手动装载/卸载模块:
modprobe -r NAME 卸载模块
modprobe NAME 装载模块

insmod /path/to/NAME
rmmod NAME

查看模块信息:
modinfo NAME

depmod 生成模块的依赖文件

initrd:
mkinitrd /boot/initrd-`uname -r`.img `uname -r` 生成initrd文件

配置文件:
/etc/modprobe.conf 向硬件模块定义别名,实现参数传递


内核功能:
文件系统
进程管理
内存管理
驱动程序
网络功能

内核设计的体系结构:
宏内核(单内核)
微内核



# FILENAME='/var/log/maillog'
# echo ${FILENAME#*/}
var/log/maillog
# echo ${FILENAME##*/}
maillog
# echo ${FILENAME%/*}
/var/log
# echo ${FILENAME%%/*}