1、竖线'|' ,在linux中作为管道符,将'|'前面命令的输出作为'|'后面的输入
比如:显示text.txt文件的前面两行,cat test.txt|head -n2[root@iz2ze9pf0xgaj16n65280pz ~]# cat test.txt
aaaaa
bbbbb
ccccc
ddddd
eeeee
fffff
ggggg
[root@iz2ze9pf0xgaj16n65280pz ~]# cat test.txt|head -n2
aaaaa
bbbbb
2、双竖线'||',用双竖线'||'分割的多条命令,代表的是或者
执行的时候遵循如下规则,如果前一条命令为假,则继续执行后面的命令,如果前一条命令为真,则后面的命令不会执行。
比如:输入1小于2双竖线输出b,前面为真,后面不执行则没有输出b,输入1大于2双竖线echo b,前面为假则输出b。[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -lt 2 ]]||echo b
[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]]||echo b
b
再比如:判断文件是否存在,不存在则创建,存在就什么都不执行。[root@iz2ze9pf0xgaj16n65280pz ~]# ls
[root@iz2ze9pf0xgaj16n65280pz ~]# [[ -f 1.txt ]] || touch 1.txt
[root@iz2ze9pf0xgaj16n65280pz ~]# ls
1.txt
[root@iz2ze9pf0xgaj16n65280pz ~]# || touch 2.txt
[root@iz2ze9pf0xgaj16n65280pz ~]# ls
1.txt
3、&& 可同时执行多条命令,代表的是且,当碰到执行错误的命令时,将不再执行后面的命令。如果一直没有错误的,则执行完毕。[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -lt 2 ]] && echo b
b
[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]] && echo b
4、&同时执行多条命令,不管命令是否执行成功[root@iz2ze9pf0xgaj16n65280pz ~]# [[ 1 -gt 2 ]] & echo b
[1] 27051
b