一.识别linux中的用户身份
1.w命令
格式:w 用户名
w命令用于显示当前主机中已登录的所有的用户,以及用户当前所执行的命令。当w命令指定用户名作为参数时,显示该用户在系统的中登录信息
#w
22:48:15 up 34 min, 3users,load average:0.00,0.00,0.00
USER TTY FROM  LOGIN@ IDLE JCPU PCPU WHAT
root tty1 _  10:37pm 10:42 0.19s 0.19s -bash
jjh pts/0 192.168.1.111 10:18pm 27.00s 1.40s 0.19s login
root pts/1 192.168.1.111 10:48pm 0.00s 0.27s 0.05s w
2.who命令
格式:who
who命令用于显示登录到系统中的所有用户
#who
root tty1 Apr 17 22:37
jjh pts/0 Apr 17 22:18(192.168.1.111)
root pts/1 Apr 17 22:48(192.168.1.111)
//who am i 命令作为who命令的特殊格式用于显示当前用户的信息
#who am i
root pts/1 Jul 5 09:07(192.168.1.111)
3.whoami
格式:whoami
用于显示当前用户信息,whoami与who am i 是两个不同的命令
#whoami
root
//id-un使命实现与whoami命令相同的功能
#id -un
root
4.id命令
格式:id 用户名
id命令用于显示指定用户的uid和gid信息,如未指定用户名,刚显示当前用户信息
#id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
二.执行linux中命令的程序
  1.PATH环境变量
    LINUX中的每个用户都有自己的PATH环境变量,在该环境变量中设置了可执行命令的查找路经,当用户输入命令后,Shell环境变量会按照PATH变量设置的查找路经按照从左到右的顺序查找所要执行的命令,直到找到该命令后执行,如在所有目录中都未找到该命令,则返加命令文件没有找到的错误信息。
    在linux系统中所有用户都拥有独立的PATH环境变量,用户也可以设置自己PATH环境变量中的查找路经。
#echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/dbin:/usr/bin:/usr/X11R6/bin:/root/bin
#uname
Linut
#su -user1
$echo $PATH
/bin:/usr/bin:/usr/local/bin:/usr/bin/X11R6/bin:/home/user1/bin
  2.程序的前台与后台运行
    当用户在Shell提示符下输入命令并执行时,命令通常是在系统前台运行的,在命令结束之前当前控制台不能在输入其它任何命令。
    用户根据使用需要可以选择进程在前台运行、在后台运行、或挂起到后台。
  》在后台运行程序
    在有些时候我们只需要命令在后台运行,可以在要执行的命令后加入"&"符号,这样命令在后台执行时,用户还可以在前台提示符中执行其它命令。
#startx &
//当用户使用startx命令进入X-Windows进通常让该命令在后台运行,这样可以不占用当前的控制台
  》把程序挂起到后台
    在程序运行中如果需要暂时离开当前程序而去进行其它操作,可以使用<CTRL+Z>组合键把当前控制台中运行的程序挂起到后台,用户将回到前台的shell提示符,后台挂起的进程将不进行任何操作。
  》查看当前控制台中的命令进程
格式:jobs
jobs命令用于显示当前控制台中的后台进程。
#jobs
jobs
[1]- Stopped  vi
[2]+ Stopped  man ls
  》恢复后台进程到前台
格式:fg 后台进程序号
fg命令用于恢复指定的后台进程到前台
#jobs
jobs
[1]- Stopped  vi
[2]+ Stopped  man ls
//使用fg命令恢复后台进程之前需要先使用jobs命令查看后台中的所有进程
#fg 2
//fg命令把指定序号的后台进程恢复到前台运行
  》恢复后台挂起的进程
格式:bg 后台进程序号
bg命令用于恢复后台 挂起的进程在后台运行,相当于命令运行时在其后面加了“&”符号
#jobs
jobs
[1]-  Stopped  vi
[2]+ Stopped  man ls
#bg 2
[2]+man ls&

三.查看系统中的进程状态
  1.ps命令
  》显示当前控制台的进程
格式:ps
ps命令不加任何参数时显示当前控制台的进程
#ps
  PID TTY  TIME CMD
7523 pts/0 00:00:00 bash
7724 pts/0 00:00:00 ps
  》显示系统中所有进程
格式:ps -e
#ps -e|head
  PID TTY  TIME CMD
    1 ?  00:00:05 init
    2 ?  00:00:00 keventd
    3 ?  00:00:02 kapmd
......
//根据系统运行情况,系统中可能有很多进程同时运行
 
  2.top命令
格式:top
top命令能够显示CPU利用率、进程状态、内存利用率等许多系统信息,并且top命令一旦运行会持续不断的更新显示内容,为系统管理员提供了实时监控系统进程的功能
#top
  3.free命令
格式:free
free命令用于显示系统内存使用情况,包括内存总量、已使用内存数量、空闲内存数量等信息 。
#free
 total used free shared buffers cached
Mem: 125992 80696 45296 0 9156 51652
-/+buffers/cache: 19888 106104
Swap: 128512 1776 126736

四.管理系统中的进程
  1.kill命令
  》停止系统中的进程运行
格式:kill 进程号
kill命令用于停止指定进程号(PID)的进程运行,该命令向指定的进程发送终止运行信号,进程自动结束并处理好结束前的相关事务,所以进程属于安全结束。
#ps|grep vi
7740 pts/0 00:00:00 vi
//查看要结束的进程的进程号
#kill 7740
  》强制停止系统中的进程运行
格式:kill -9 进程号
kill -9命令用于强行结束指定进程的运行,该命令对于结束已经“死掉”而没有能力自动结束的进程特别有效,该命令终止的进程属于非正常结束,所以要慎重使用。
#ps |grep vi
 7749 pts/0 00:00:00 vi
#kill -9 7749
  2.killall命令
killalll命令使用进程名称停止相应的进程运行,如果系统中存在相同的名称的多个进程则这些进程全部结束。
  》停止指定名称的进程
格式:killall 进程名称
 killall命令用于停止指定名称的所有进程,使用该命令可以安全的结束进程。
#ps |grep vi
 7757 pts/0 00:00:00 vi
 7760 pts/0 00:00:00 vi
#killall vi
  》强制停止指定名称的进程
格式:killall -9
killall -9 命令用于强制停止指定名称的所有进程,该命令结束的进程属于非正常退出。
#ps |grep vi
 7767 pts/0 00:00:00 vi
 7768 pts/0 00:00:00 vi
#killall -9 vi