【Shell】技巧

【Shell】技巧

1 . 输出控制:

输出带标题头:
Linux 系统中,在使用 "|" 输出信息时,会丢失标题头,如果想查看标题头,可以先输出一个标题头,再输出想要的信息:
 ps -ef | head -1;ps -ef| grep java
 ps -axuw | head -1;ps -axuw | grep java # 输出标题头,输出带有java的ps信息

输出排序:
Linux 中输出的信息按照某一列排序:
|sort -rn -k2    # 以第二行为参考,按数值大小排序(降序 r)

输出前 10 行:
|head -10

2 . ps 输出头含义:

USER  PID  %CPU   %MEM      VSZ     RSS  TTY  STAT  START  TIME   COMMAND
root  395  0.0    0.0   1289792   80780    ?    Sl  8月03  40:42  xxxxxxx

user : 用户(拥有者)
PID  :  进程ID
%CPU : CPU占有率
%MEM :  内存占用率
VSZ  :进程内存空间的大小,并不代表进程真正用到的内存
RSS : 常驻内存的大小,但是由于不同的进程之间会共享内存,累加统计,总值偏大
TTY : 启动进程的终端名
STAT : 进程的状态,Sl : 休眠 + 多线程  S+ : 休眠 + 后台运行
START : 开始时间
TIME : 持续时间
COMMAND : 进程的启动命令

其中STAT状态位常见的状态字符有
D      //无法中断的休眠状态(通常 IO 的进程); 
R      //正在运行可中在队列中可过行的; 
S      //处于休眠状态; 
T      //停止或被追踪; 
W      //进入内存交换 (从内核2.6开始无效); 
X      //死掉的进程 (基本很少见); 
Z      //僵尸进程; 
<      //优先级高的进程 
N      //优先级较低的进程 
L      //有些页被锁进内存; 
s      //进程的领导者(在它之下有子进程); 
l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); 
+      //位于后台的进程组;

细碎的小知识:

1. 了解 | 的作用
在linux 中使用 | 作为管道命令的分隔符,左边的输出 作为 右边的输入数据,通过右边的处理,再输出显示
比如:  ps axuw | head -1;ps axuw | grep java

0 0 vote
Article Rating
Subscribe
提醒
guest
0 评论
Inline Feedbacks
View all comments