su [-flmp] [-][-c <指令>][-s][用户帐号] //用来将当前用户转换为其他用户身份,暂时变更自己的登录身份,用其他人的身份来登录系统。前提是必须知道对方的口令。其中参数-c表示执行完指定的指令后恢复原来的身份。-f适用于csh和tsch,使shell不用去读取启动文件。-表示改变身份时也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME,此外也会变更PATH环境变量。-m,-p 变更身份时不变更环境变量。-s 指定要执行的shell。若不指定要变更的用户账户,那么预设为root超级用户。
groups [用户名称] 用于显示指定用户所属的组,若未指定用户则显示当前用户所属组
3. 进程管理:
Linux是个多用户多任务的操作系统。
进程:在自身的虚拟地址空间运行的一个独立的程序。Linux采用分时管理的方式使所有任务共同分享系统资源。程序是一个静态的指令集不占系统的运行资源,而进程是一个随时都可能发生变化,动态的,占用系统运行资源的过程。一个程序可以启动多个进程。
(1)监测控制报告进程状态:
(后台)进程查看:ps [选项]
选项参数:-e:显示所有进程 -f:全格式 -h:不显示标题 -l:给出长列表 -a:显示终端上所有进程,包括其他用户的进程。 -r: 只显示正在运行的进程 -x:显示没有控制终端的进程 -txx:只显示受tty.xx控制的进程 -u:打印用户格式,显示用户名和起始时间 -j:按作业格式输出 -v:按虚拟存储器格式显示输出 -m:显示存储器信息 -S:增加子CPU时间和页面出错 -w:用宽格式显示,不截取命令行,使它成为一行。
输出字段:PID 进程号 TTY:进程相关终端 TIME:进程使用的总CPU时间
CMD:被执行的命令行 PPID:父进程ID号 PRI:进程优先级 WCHAN:进程等待的内核事件名 NI:进程的优先级调整值,较小的占用较少的CPU时间,优先级越大。 STAT:R表示可执行的,S表示睡眠状态,D表示不间断睡眠,T表示停止或跟踪,Z表示父进程或系统进程来收拾,W表示进程没有驻留页(进程被排除在内存外),I表示空闲的(0号进程) %CPU 进程自第一次刷新以来所占用的CPU时间和总时间的百分比 %MEM 进程所用内存的百分比 VSZ 进程使用虚拟内存的大小(K) RSS 进程驻留空间的大小,显示当前常驻内存的程序的K字节数
(2)结束进程:前台进程结束用ctrl+c ,后台进程结束用:kill [-s信号名或数字|-p<pid>] [-a] 进程号;如果发送9号信号,该进程一定消亡。
Kill –l[信号名] 显示信号名称列表(也可以在/usr/include/linux/signal.h文件中找到)并销毁它。
(3)进程睡眠:当前正在执行的进程在规定时间内进入睡眠状态。sleep time
注意:time是进程将睡眠的时间,以秒为单位。如$ sleep time
4.查看登录用户及日志文件信息:
(1)查看用户的操作:w [用户名]
第一行系统汇总信息:12:29:22 up 3:19, 3 users, load average:0.00,0.00,0.00
当前时间 系统运行时间,当前系统登录用户数为3,表示系统在过去1,5,10分钟内的负载程度,数值越小表示系统负载越轻。
(2)查看登录用户简单信息:who
(3)查看登录用户历史信息:last
(4)查看日志文件(包含系统消息(内核、服务、应用程序等))信息
定位日志文件: /var/log
日志文件目录中会有多个后面带有数字的文件。这些文件是在日志文件被循环使时创建的。
logrotate软件包中包含一个能自动根据/etc/logrotate.conf配置文件和/etc/logrotate.d目录中的配置文件来循环日志文件的cron任务。按默认配置,日志每周都被循环,并保留四周之久(第四周就干掉原来那些日志文件)。