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%%/*}