uname
作用:查看系统相关信息
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
-m或–machine 显示主机的硬件(CPU)名
-n或-nodename 显示主机在网络节点上的名称或主机名称
-r或–release 显示linux操作系统内核版本号
-s或–sysname 显示linux内核名称
-v 显示显示操作系统是第几个 version 版本
-p 显示处理器类型或unknown
-i 显示硬件平台类型或unknown
-o 显示操作系统名
实例:
[[email protected] ~]# uname -a Linux jacken 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux [[email protected] ~]# uname -m x86_64 [[email protected] ~]# uname -n jacken [[email protected] ~]# uname -r 2.6.32-504.el6.x86_64 [[email protected] ~]# uname -s Linux [[email protected] ~]# uname -v #1 SMP Wed Oct 15 04:27:16 UTC 2014 [[email protected] ~]# uname -p x86_64 [[email protected] ~]# uname -i x86_64 [[email protected] ~]# uname -o GNU/Linux [[email protected] ~]#
ps
作用:ps(Process Status)查看进程状态
注释:
linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
常用选项:
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真实名称
-N 反向选择
-e 等于“-A”
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 启动这个进程的用户和它的启动时间
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
实例:
[[email protected] ~]# ps PID TTY TIME CMD 2654 pts/1 00:00:00 bash 4557 pts/1 00:00:00 ps [[email protected] ~]# ps a PID TTY STAT TIME COMMAND 1862 tty1 Ss+ 0:00 /sbin/mingetty /dev/tty1 1864 tty2 Ss+ 0:00 /sbin/mingetty /dev/tty2 1866 tty3 Ss+ 0:00 /sbin/mingetty /dev/tty3 1870 tty4 Ss+ 0:00 /sbin/mingetty /dev/tty4 1872 tty5 Ss+ 0:00 /sbin/mingetty /dev/tty5 1874 tty6 Ss+ 0:00 /sbin/mingetty /dev/tty6 1882 pts/0 Ss+ 0:00 -bash 2654 pts/1 Ss 0:00 -bash 3926 pts/2 Ss+ 0:00 -bash 4492 pts/2 R 9:14 cat /dev/zero 4558 pts/1 R+ 0:00 ps a [[email protected] ~]# ps -a PID TTY TIME CMD 4492 pts/2 00:09:16 cat 4559 pts/1 00:00:00 ps [[email protected] ~]# ps -A PID TTY TIME CMD 1 ? 00:00:01 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 migration/0 4 ? 00:00:00 ksoftirqd/0 ...... ...... 3909 ? 00:00:00 sshd 3926 pts/2 00:00:00 bash 4393 ? 00:00:00 dhclient 4492 pts/2 00:09:30 cat 4561 pts/1 00:00:00 ps [[email protected] ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 21:19 ? 00:00:01 /sbin/init root 2 0 0 21:19 ? 00:00:00 [kthreadd] root 3 2 0 21:19 ? 00:00:00 [migration/0] ......... root 4393 1 0 22:24 ? 00:00:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth1.leases -pf /var/run/dhclient-eth1.pid eth1 root 4492 3926 99 22:36 pts/2 00:17:00 cat /dev/zero root 4618 2654 0 22:53 pts/1 00:00:00 ps -ef root 4619 2654 0 22:53 pts/1 00:00:00 tail -4 [[email protected] ~]# ps -aux | head -4 Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 19364 1536 ? Ss 21:19 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 21:19 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 21:19 0:00 [migration/0] ........ root 4393 0.0 0.0 9120 1008 ? Ss 22:24 0:00 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-eth1.leases -pf /var/run/dhclient-eth1.pid eth1 root 4492 99.1 0.0 100936 584 pts/2 R 22:36 18:00 cat /dev/zero root 4625 0.0 0.1 110240 1136 pts/1 R+ 22:54 0:00 ps -aux root 4626 0.0 0.0 100944 664 pts/1 S+ 22:54 0:00 tail -4 [[email protected] ~]#
kill
作用:杀掉系统某一进程
常用选项:
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
实例:
[[email protected] ~]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX [[email protected] ~]# kill -l QUIT 3 [[email protected] ~]# kill -l STOP 19 [[email protected] ~]# ps -ef | grep cat root 4492 3926 99 22:36 pts/2 00:22:18 cat /dev/zero root 4646 2654 0 22:59 pts/1 00:00:00 grep cat [[email protected] ~]# kill 4492 [[email protected] ~]# kill 4492 -bash: kill: (4492) - No such process [[email protected] ~]# ps -ef | grep cat jacken 4861 4699 99 23:37 pts/3 00:08:26 cat /dev/zero root 4944 2654 0 23:46 pts/1 00:00:00 grep cat [[email protected] ~]# kill -s 9 4861 [[email protected] ~]# ps -ef | grep cat root 4946 2654 0 23:46 pts/1 00:00:00 grep cat [[email protected] ~]#
top
作用:实时显示系统中各个进程的资源占用状况、
常用选项:
-d 指定每两次屏幕信息刷新之间的时间间隔,当然用户可以使用s交互命令来改变之(单位秒“.2”为0.2秒)。
-p 通过指定监控进程ID来仅仅监控某个进程的状态
-i 使top不显示任何闲置或者僵死进程
-c 显示整个命令行而不只是显示命令名
-s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险
[[email protected] ~]# top -d .5 //每隔0.5秒刷新一次
[[email protected] ~]# top -p 10 //只检测pid为10的状态视图
[[email protected] ~]# top -i //不显示任何闲置或者僵死进程
top命令执行过程中可以使用的一些交互命令
h或者? 显示帮助画面,给出一些简短的命令总结说明
k 终止一个进程。系统将提示用户输入需要终止的进程PID,以及需要发送给该进程什么样的信号。
一般的终止进程可以使用15信号;如果不能正常结束那就使用信号9强制结束该进程。默认值是信号15。在安全模式中此命令被屏蔽。
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序
W 将当前设置写入~/.toprc文件中(隐藏文件)。这是写top配置文件的推荐方法。
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
Shift+M 可按内存占用情况进行排序
top - 23:54:18 up 2:35, 3 users, load average: 1.18, 0.64, 0.42
Tasks: 96 total, 3 running, 93 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 18.5%sy, 0.0%ni, 0.0%id, 75.9%wa, 3.5%hi, 2.1%si, 0.0%st
Mem: 1012292k total, 951588k used, 60704k free, 116k buffers
Swap: 2097148k total, 235984k used, 1861164k free, 2332k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4965 root 20 0 1126m 824m 240 R 15.0 83.5 0:31.11 dd
16 root 20 0 0 0 0 R 3.3 0.0 0:04.40 kblockd/0
30 root 20 0 0 0 0 S 2.0 0.0 0:05.05 kswapd0
1 root 20 0 19364 408 408 S 0.0 0.0 0:01.23 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0
4 root 20 0 0 0 0 S 0.0 0.0 0:00.10 ksoftirqd/0
5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0
6 root RT 0 0 0 0 S 0.0 0.0 0:00.02 watchdog/0
7 root 20 0 0 0 0 S 0.0 0.0 0:11.78 events/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup
第一行是队列信息,同uptime命令的执行结果
23:54:18 up 当前系统时间
2:35 系统运行时间,时间格式为分
3 users 当前登录用户数
load average: 1.18, 0.64, 0.42 系统负载,队列的平均长度
第二行为行为进程
96 total 进程总数
3 running 正在运行的进程数
93 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数
第三行为CPU信息
0.0%us 用户空间占用CPU的百分比
19.6%sy 内核占用CPU的百分比
0.0%ni 用户进程空间内改变过优先级的进程占用CPU百分比
0.0%id 空闲CPU百分比
71.6%wa 等待输入输出的CPU百分比
4.4%hi cpu处理硬件中断的时间
4.4%si cpu处理软中断的时间
0.0%st 用于有虚拟cpu的情况,用来指示被虚拟机偷掉的cpu时间
第四行为物理内存信息
1012292k total 物理内存总量
951588k used 使用的物理内存总量
60704k free 空闲内存总量
116k buffers 用作内核缓存的内存量
第五行为交换分区信息
2097148k total 交换分区总大小
235984k used 使用的交换分区大小
1861164k free 空闲交换分区大小
2332k cached 缓冲的交换分区总量
buffers和cached的区别需要说明一下,buffers指的是块设备的读写缓冲区,cached指的是文件系统本身的页面缓存。
它们都是linux操作系统底层的机制,目的就是为了加速对磁盘的访问。
第六行为内容视图
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
PID(进程号)、 USER(运行用户)、PR(优先级)、NI(任务nice值)、VIRT(虚拟内存用量)VIRT=SWAP+RES 、RES(物理内存用量)、SHR(共享内存用量)、
S(进程状态)、%CPU(CPU占用比)、%MEM(物理内存占用比)、TIME+(累计CPU占用时间)、 COMMAND 命令名/命令行
netstat
作用:显示各种网络相关信息
常用选项:
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
实例:
[[email protected] ~]# netstat -a //列出所有端口 [[email protected] ~]# netstat -at //列出所有TCP端口 [[email protected] ~]# netstat -au //列出所有UDP端口 [[email protected] ~]# netstat -s //显示所有端口的统计信息