管道pipe
定义:前一个命令的输出是后一个命令的输入, 其中的许多指令(grep head tail wc ls等等)都可以当做管道符号使用。
符号表示:\"|\" 竖线
利用一个管道
> # ls | grep tmp
ls指令的输出并没有直接打印在页面上, 而是作为grep指令的输入供其超找具体内容
利用多个管道
> # cat passwd | grep login | wc
cat指令的输出作为grep的输入进行查找login
grep指令的输出又作为wc指令的输入统计行数
> ls -l | wc //计算当前目录一共有多少个文件
>grep sbin passwd | wc //计算passwd文件中出现sbin内容的行数
>ls -l | head -10 //以详细列表形式查看当前目录下前10个文件
>ls | grep apple //在当前目录下查找出现“apple”字样的文件名字
>ls -l | head -20 | tail -5 //查看当前目录中第16-20个文件信息
awk使用
> # last -n 5 <==仅取出前五行
root pts/1 192.168.1.100 Tue Feb 10 11:21 still logged in
root pts/1 192.168.1.100 Tue Feb 10 00:46 - 02:28 (01:41)
root pts/1 192.168.1.100 Mon Feb 9 11:41 - 18:30 (06:48)
dmtsai pts/1 192.168.1.100 Mon Feb 9 11:41 - 11:41 (00:00)
root tty1 Fri Sep 5 14:09 - 14:10 (00:01)
如果只是显示最近登录的5个帐号
#last -n 5 | awk \'{print $1}\'
root
root
root
dmtsai
root
wc使用
> # ps aux | grep clusterInfo.php | grep -v grep | wc -l
grep -v 排除输出
wc -l 统计行数
wc -w 统计单词数
wc -c 统计字符数
> # ps aux | grep clusterInfo.php
root 4613 0.0 0.1 783468 14556 ? S 2019 0:16 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 5719 0.0 0.1 743204 14428 ? S 10:48 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 7535 0.0 0.0 103340 884 pts/0 R+ 11:39 0:00 grep --color clusterInfo.php
root 8978 0.0 0.2 743076 16936 ? S Jan15 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 12023 0.0 0.1 743204 14428 ? S Jan14 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 16450 0.0 0.2 743076 16528 ? S Jan07 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 21851 0.0 0.1 743076 15688 ? S Jan15 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
> # ps aux | grep clusterInfo.php | grep -v grep
root 4613 0.0 0.1 783468 14556 ? S 2019 0:16 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 5719 0.0 0.1 743204 14428 ? S 10:48 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 8978 0.0 0.2 743076 16936 ? S Jan15 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 12023 0.0 0.1 743204 14428 ? S Jan14 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 16450 0.0 0.2 743076 16528 ? S Jan07 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
root 21851 0.0 0.1 743076 15688 ? S Jan15 0:00 /usr/local/php/bin/php /data/wwwroot/default/admin/cli/clusterInfo.php
> # ps aux | grep clusterInfo.php | grep -v grep | wc
9 108 1224
> # ps aux | grep clusterInfo.php | grep -v grep | wc -l
9
实战:
monitor.sh
#!/bin/bash
alive=`ps aux | grep cluster.php | grep -v grep | wc -l`
if [ $alive -eq 0 ]
then
/usr/local/php/bin/php /data/wwwroot/default/admin/cli/cluster.php > /dev/null &
fi