linux 随笔-2019-10-11

1,  2>&1

经常可以在一些脚本,尤其是在crontab调用时发现如下形式的命令调用

/tmp/test.sh > /tmp/test.log 2>&1

前半部分/tmp/test.sh > /tmp/test.log很容易理解,那么后面的2>&1是怎么回事呢?

要解释这个问题,还是得提到文件重定向。我们知道>和<是文件重定向符。那么1和2是什么?

在shell中,每个进程都和三个系统文件 相关联:标准输入stdin,标准输出stdout、标准错误stderr,三个系统文件的文件描述符分别为0,1、2。所以这里2>&1 的意思就是将标准错误也输出到标准输出当中。

2,tr命令  替换

tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。

echo "$PATH" | tr : '\n'

3,sed

4,逻辑判断

症状:shell中大于,大于等于,小于等于,lt,gt ,ne,ge,le 很对应。

应对方法:

大于 -gt (greater than)

小于 -lt (less than)

大于或等于 -ge (greater than or equal)

小于或等于 -le (less than or equal)

不相等 -ne (not equal)

5,tail -f out.log | grep -C 10 '开始执行注册三天'

6,根据端口号查找进程,lsof  -i: 8880;根据pid 沙掉进程 kill -f  221

你可能感兴趣的:(linux 随笔-2019-10-11)