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