系统
查看发行版本与内核版本,uname -a或者uname -r
查看发行版(及其版本)则没有统一命令
一般写在/etc/issue或者/etc/release(release可能有前缀或后缀),可以用ls /etc/*release*看看
[root@rac01 ~]# lsb_release -a 不一定有这个命令
[root@rac01 ~]# uname -a 显示系统体系结构,以下参数分别代表各字段信息
Linux rac01 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
-s -n -r -v -m -p -i -o
[root@Firewall ~]# head -n 1 /etc/issue 查看发行版本
CentOS release 5.5 (Final)
Red Hat Enterprise Linux Server release 5.8 (Tikanga)
内核
lsmod,modinfo ip_vs,modprobe,depmod
[root@rac01 ~]# lsmod http://www.360doc.com/content/13/0622/19/9171956_294796609.shtml
yum update kernel kernel-devel -y
kernel kernel-devel 两个版本一致
如果安装过后 需要重启 重启后还是不行的话 需要卸载再重新安装
dmesg 查看内核日志 显示一些打印信息 警告信息 出错 对应的文件在/var/log/dmesg
kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里
[root@coreserv ~]# cd /sys/module/ 此目录下是更详细的模块信息
[root@coreserv ~]# lsmod lsmod 以美观的方式列出/proc/modules的内容。
Module(模块名) Size(模块大小) Used by(被...使用)
[root@coreserv ~]# less /proc/modules
insmod是一个向内核插入模块的小程序:若文件名是一个连字符'-',模块从标准输入输入。大多数用户使用modprobe,因为它比较智能化。
rmmod是一个可以从内核中删除模块的小程序,大多数用户使用modprobe -r去删除模块。
modinfo列出Linux内核中命令行指定的模块的信息。若模块名不是一个文件名,则会在/lib/modules/version 目录中搜索,就像modprobe一样。
modinfo默认情况下,为了便于阅读,以下面的格式列出模块的每个属性:fieldname : value。
[root@coreserv ~]# modinfo nfs_acl
modprobe可智能地添加和删除Linux内核模块(为简便起见,模块名中'_'和'-'是一样的)。modprobe会查看模块 目录/lib/modules/'uname -r'里面的所有模块和文件,除了可选
的/etc/modprobe.conf配置文件和/etc/modprobe.d目录外。
modprobe需要一个最新的modules.dep文件,可以用depmod来生成。该文件列出了每一个模块需要的其他模块,modprobe使用这个去自动添加或删除模块的依赖。
depmod分析可加载模块的依赖性,生成modules.dep文件和映射文件。
Linux内核模块可以为其它模块提供提供服务(在代码中使用EXPORT_SYMBOL),这种服务被称作"symbols"。若第二个模块使用了这个symbol,则该模块很明显依赖于第一个模块。这些依赖关系是非常繁杂的。depmod读取在/lib/modules/'uname -r' 目录下的所有模块,并检查每个模块导出的symbol和需要的symbol,然后创建一个依赖关系列表。默认地,该列表写入到/lib/moudules /'uname -r'目录下的modules.dep文件中。若命令中的filename有指定的话,则仅检查这些指定的模块(不是很有用)。若命令中提供了version参数,则会使用version所指定的目录生成依赖,而不是当前内核的版本(uname -r 返回的)。
[root@localhost modules]# rpm -qa|grep module module-init-tools-3.9-21.el6_4.x86_64 [root@localhost modules]# rpm -ql module-init-tools /etc/depmod.d /etc/depmod.d/dist.conf /etc/modprobe.d /etc/modprobe.d/dist-alsa.conf /etc/modprobe.d/dist-oss.conf /etc/modprobe.d/dist.conf /etc/modprobe.d/local.conf /sbin/depmod /sbin/insmod /sbin/insmod.static /sbin/lsmod /sbin/modinfo /sbin/modprobe /sbin/rmmod /sbin/weak-modules 所有的内核模块,全部以.ko结尾 [root@localhost kernel]# pwd /lib/modules/2.6.32-431.el6.x86_64/kernel [root@localhost kernel]# ls arch crypto drivers fs kernel lib mm net sound 当前已经编译的模块 [root@localhost modules]# modprobe -l|wc -l 2002 当前已载入的模块 [root@localhost modules]# lsmod|wc -l 47
需要什么功能就去加载相应的模块
从下面开始明白了解了加载模块的含义与用法
[root@localhost ~]# lsmod |grep netconsole
[root@localhost ~]# modprobe netconsole netconsole=@/eth0,12345@10.0.0.1/00:E0:81:2B:0C:C1
[root@localhost ~]# lsmod |grep brid
[root@localhost ~]# modprobe bridge
[root@localhost ~]# lsmod |grep brid
bridge 83177 0
stp 2218 1 bridge
llc 5546 2 bridge,stp
[root@localhost ~]# lsmod |grep kvm
[root@localhost ~]# modprobe kvm
[root@localhost ~]# lsmod |grep kvm
kvm 333172 0
没有内核模块软件是通过守护进程来实现的
用户及权限
[root@Firewall ~]# w 查看活动用户信息
[root@Firewall ~]# who -a 与uname -a类似
[root@Firewall ~]# who –rH 显示当前运行级别
[root@Firewall ~]# id 查看指定用户信息
[root@Firewall ~]# last 查看用户登录日志
[root@Firewall ~]# lastlog
[root@Firewall ~]# cut -d: -f1 /etc/passwd 查看系统所有用户
[root@Firewall ~]# cut -d: -f1 /etc/group 查看系统所有组
[root@Firewall ~]# crontab -l 查看当前用户的计划任务
进程
[root@test1 ~]# ps U oracle
[root@test1 ~]# ps -He -H显示进程层次,通常与其它连用,如-a,-e等
[root@test1 ~]# ps -e e -ww e 命令之后显示环境(如:ps -d e; ps -a e),-ww避免详细参数被截断
有十几种控制进程的方法,有fg,bg,jobs,at,crontab,pstree,top,nice,renice,sleep,nohup,pgrep等
下面是一些常用的方法:
SIGKILL 和 SIGSTOP 信号不能被捕捉、封锁或者忽略,但是,其它的信号可以。所以这是你的终极武器。
[root@localhost ~]#kill -KILL [pid]
[root@localhost ~]#kill -STOP [pid]
renice +4 ‘pgrep squid‘
ps -fp $(pgrep -d, -x xterm)
服务
[root@Firewall ~]# chkconfig --list
[root@Firewall ~]# service kudzu status 用硬件检测程序kuduz探测新硬件