Shell 管道符

多命令顺序执行

多命令执行符 格式 作用
; 命令1;命令2 多个命令顺序执行,命令之间没有任何逻辑联系
&& 命令1&&命令2 逻辑与
当命令1正确执行,则命令2才会执行
当命令1执行不正确,则命令2不会执行
` ` 命令1` `命令2 逻辑或
当命令1执行不正确,则命令2才会执行
当命令1正确执行,则命令2不会执行
1
2
3
4
5
6
date ; tar -zcvf etc.tar.gz /etc ; date
#可以计算备份所用的时间
ls && echo yes || echo no
#当ls正确执行时打印yes;当ls错误执行时打印no
#顺序不能颠倒,不然命令出错的时候会同时输出no yes


管道符

最后一个命令会在当前shell进程的子shell进程中执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
命令1 | 命令2
#命令1的正确输出作为命令2的操作对象
netstat -an | grep ESTABLISHED | wc -l
#查找当前有多少用户正在连接服务器
ll -a /etc/ | more
more [文件名]
#分页显示文件内容"
echo "$PATH" | tr 'a-z' 'A-Z'
#转换为大写
cat /etc/rc.d/rc.sysinit | tr 'a-z' 'A-Z' | more

tee命令

tee命令从标准输入读入数据,并且同时复制数据到标准输出和一个或多个文件

1
2
ls /usr/bin |tee ls.txt | grep.zip
#屏幕打印同时重定向到文件