Linux入职基础-5.11_进程管理(命令实例)

进程管理(命令实例)

一:命令列表

declare 设置/显示shell环境变量

enable 启动/关闭shell内部命令

lsmod  显示已载入系统的模块

modinfo查看模块信息来判定这个模块的用途

depmod 可检测模块的相依性,供modprobe在安装模块时使用

modprobe加载新模块以及新模块相依赖的模块

rmmod  删除模块

rpm  软件包管理(详见专题)

mkkickstart根据目前系统的设置来建立组态文件,供其他电脑在安装时使用。

dmesg 显示开机信息

eval重新运算求出参数的内容

export用来显示和设置环境变量

env   用来显示当前用户的环境变量

set  显示当前shell的变量,包括当前用户的变量

unset  删除自定义变量或函数

二、实例解说

名称:declare

功能:设置/显示shell环境变量

语法:declare [+/-][afrix]

参数:

+/-  "-"可用来指定变量的属性,"+"则是取消变量所设的属性。

-a 定义为数组array

-f 定义为函数function

-i 定义为整数integer

-r 定义为只读

-x 定义为通过环境输出变量

范例:

#1声明整数型变量

[root@localhost /]# declare  -i a

[root@localhost /]# a=56

[root@localhost /]# echo $a

#2声明数组变量

[root@localhost /]# declare -acd='([0]="a" [1]="b" [2]="c")'

[root@localhost /]# echo ${cd[1]}    //显示变量内容

[root@localhost /]# echo ${cd[@]}   //显示整个数组变量内容

名称: enable

功能:启动或关闭 shell 内建指令

语法:enable [-n][-all][内建指令]

参数:

-a 显示所有的内部命令

-n 禁止内部命令,如果没有-n参数,则充许所有的内部命令。

-p 显示所充许的内部命令,-p-n合用,显示被禁止的内部命令。

范例:

#1禁止cd命令

[root@localhost ~]# enable -n cd

#2显示被禁止的命令

[root@localhost ~]# enable –np

#3启用shell 内建指令

[root@localhost ~]# enable cd

名称:lsmod

功能:显示已载入系统的模块

语法:lsmod

参数:

lsmod命令的信息是来源于/proc/modules文件

范例:

#1显示所有已经载入的系统模块

[root@localhost ~]# lsmod

Module               Size  Used  by

ip_tables              17029  1   iptable_filter

第1列:表示模块的名称,如ip_tables表示ip_tables模块。

第2列:表示模块的大小,如17029表示scsi_mod模块的大小为17029字节。

第3列:表示依赖模块的个数,如1表示有1个模块依赖ip_tables模块。

第4列:表示依赖模块的内容,如iptable_filter表示它需要ip_tables模块。

#1先确认模块是否已经安装,安装完成后可以用modprobe来加载

[root@localhost ~]# lsmod | grep ext3

[root@localhost ~]# lsmod | grep usb

[root@localhost ~]# lsmod | grepusb_storage

名称:modprobe

功能:可载入指定的个别模块,或是载入一组相依的模块,modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。modprobe读取 /lib/modules/2.6.xx/modules.dep 档案得知相依性的。而该档案是透过depmod所建立。

语法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]

参数:

-a或--all  载入全部的模块。

-c或--show-conf  显示所有模块的设置信息。

-d或--debug  使用排错模式。

-l或--list  显示可用的模块。

-r或--remove  模块闲置不用时,即自动卸载模块。

-t或--type  指定模块类型。

-v或--verbose  执行时显示详细的信息。

范例:

#1查看modules的配置文件

[root@localhost ~]# modprobe -c

#2列出内核中所有已经或者未挂载的所有模块

[root@localhost ~]# modprobe –l  // modprobe -l读取的模块列表就位于/lib/modules/`uname-r`目录中。

#3挂载vfat模块

[root@localhost ~]# modprobe vfat

#4移除已经加载的模块

[root@localhost ~]# modprobe -r usb_storage   //移除模块

[root@localhost ~]# lsmod | grepusb_storage   //查看模块是否存在

[root@localhost ~]#  modprobe usb_storage  //添加模块

注意:内核模块的开机自动挂载模块一般是位于一个配置文件,一般的Linux发行版本都有 /etc/modules.conf /etc/modprobe.conf

名称:modinfo

功能:显示模块的信息

语法:modinfo [-adhpV][模块文件]

参数:

-a--author  显示模块开发人员。

-d--description  显示模块的说明。

-h--help  显示modinfo的参数使用方法。

-p--parameters  显示模块所支持的参数。

范例:

#1 显示jbd模块信息

[root@localhostwireless]# modinfo jbd

名称:depmod

功能:检测模块的相依性,供modprobe在安装模块时使用。本质就是为所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模块创建依赖关系,并且写入到modules.dep文件。modprobe调用文件modules.dep加载模块

语法:depmod [-adeisvV][-m <文档>][--help][模块名称]

参数:

-a或--all  分析任何可用的模块。

-d或debug  执行排错模式。

-e  输出无法参照的符号。

-i  不检查符号表的版本。

-m<文档>或system-map<文档>  使用指定的符号表文档。

-s或--system-log  在系统记录中记录错误。

-v或--verbose  执行时显示周详的信息。

范例:

#1安装新模块案例

//首先,编译了一个新的wifi驱动r8192se_pci.ko

//其次,将其拷贝到/lib/modules/$(uname-r) /kernel/net/wireless下

//然后,到/lib/modules/$(uname-r)/kernel/net/wireless运行depmod -a

[root@localhost ~]# depmod –a

//最后,可以在任意目录运行modprober8192se_pci。

[root@localhost ~]# modprobe r8192se_pci

名称:rpm

功能:Red Hat Linux发行版专门用来管理Linux各项套件的程序

语法:

参数:

-a  查询所有套件。

-b<完成阶段><套件档>+或-t <完成阶段><套件档>+  设置包装套件的完成阶段,并指定套件档的文件名称。

-c  只列出组态配置文件,本参数需配合"-l"参数使用。

-d  只列出文本文件,本参数需配合"-l"参数使用。 

-e  <套件档>或--erase<套件档>  删除指定的套件。

-f  <文件>+  查询拥有指定文件的套件。

-h  或--hash  套件安装时列出标记。

-i  显示套件的相关信息。

-I  <套件档>或--install<套件档>  安装指定的套件档。

-l  显示套件的文件列表。

-p  <套件档>+  查询指定的RPM套件档。

-q  使用询问模式,当遇到任何问题时,rpm指令会先询问用户。

-R  显示套件的关联性信息。

-s  显示文件状态,本参数需配合"-l"参数使用。

-U   <套件档>或--upgrade<套件档>   升级指定的套件档。

-v  显示指令执行过程。

-vv  详细显示指令执行过程,便于排错。

安装参数

--force 即使覆盖属于其它包的文件也强迫安装

--nodeps 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。

范例:

#1安装一个包

[root@localhost ~]# rpm –ivh

#2升级一个包

[root@localhost ~]# rpm –Uvh

#3移走一个包

[root@localhost ~]# rpm –e

#4查询一个包是否被安装

[root@localhost ~]# rpm -q < rpm packagename>

#5得到被安装的包的信息

[root@localhost ~]#rpm -qi < rpm packagename>

#6列出该包中有哪些文件

[root@localhost ~]#rpm –ql  < rpm package name>

[root@localhost ~]#rpm –ql  httpd

#7列出服务器上的一个文件属于哪一个RPM包

[root@localhost ~]#rpm –qf

#8列出所有被安装的rpm package

[root@localhost ~]# rpm -qa

#9列出一个未被安装进系统的RPM包文件中包含有哪些文件

[root@localhost ~]#rpm -qilp < rpmpackage name>

名称:dmesg

功能:显示开机信息

语法:dmesg [-cn][-s <缓冲区大小>]

参数:

-c  显示信息后,清除ring buffer中的内容。

-s   <缓冲区大小>  预设置为8196,刚好等于ringbuffer的大小。

-n  设置记录信息的层级。

范例:

#1检查硬盘是否运行在DMA模式

[root@localhost ~]# dmesg | grep DMA

#2显示每个网卡的硬件配置信息

[root@localhost ~]# dmesg | grep eth

#3探测系统内核模块的加载情况

[root@localhost ~]# dmesg | grep acpi       

名称:export

功能:设置环境变量

语法:export [-fnp][变量名称]=[变量设置值]

参数:

-f  代表[变量名称]中为函数名称。

-n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p  列出所有的shell赋予程序的环境变量。

范例:

#1查看已经存在的环境变量

[root@localhost ~]# export –p

名称:set

功能:主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值。set命令不能够定义新的shell变量。如果要定义新的变量,可以使用declare命令。

语法:set(选项)(参数)

参数:

-a:标示已修改的变量,以供输出至环境变量。

-b:使被中止的后台程序立刻回报执行状态。

-C:转向所产生的文件无法覆盖已存在的文件。

-d:Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行。使用-d参数可取消。

-e:若指令传回值不等于0,则立即退出shell。

-f:取消使用通配符。

-h:自动记录函数的所在位置。

-H Shell:可利用"!"加<指令编号>的方式来执行history中记录的指令。

-k:指令所给的参数都会被视为此指令的环境变量。

-l:记录for循环的变量名称。

-m:使用监视模式。

-n:只读取指令,而不实际执行。

-p:启动优先顺序模式。

-P:启动-P参数后,执行指令时,会以实际的文件或目录来取代符号连接。

-t:执行完随后的指令,即退出shell。

-u:当执行时使用到未定义过的变量,则显示错误信息。

-v:显示shell所读取的输入值。

-x:执行指令后,会先显示该指令及所下的参数。

范例:

#1设置shell变量的新变量值

//定义一个新的环境变量"myfun"

 [root@localhost ~]# declare myfun='c++'

//将新定义的变量输出为环境变量

[root@localhost ~]# set  myfun    //执行该命令后,将会新添加对应的环境变量

//用户可以使用env命令和grep命令分别显示和搜索环境变量"mylove"

[root@localhost ~]#env | grep myfun

#2删除环境变量

[root@localhost ~]# unset myfun1

[root@localhost ~]# unset myfun

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值