zoukankan      html  css  js  c++  java
  • 命令拷屏之系统信息

    系统

    查看发行版本与内核版本,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探测新硬件

  • 相关阅读:
    freeswitch录音功能
    jdk安装
    maven阿里云镜像
    idea安装
    idea新建maven项目
    tomcat安装
    idea新建maven web项目
    idea新建java项目
    webpack使用
    ACE 安装指南及示例
  • 原文地址:https://www.cnblogs.com/createyuan/p/3675329.html
Copyright © 2011-2022 走看看