&和&& 符号
& 表示任务在后台执行,如要在后台运行redis-server,则
redis-server &
&& 表示前一条命令执行成功时,才执行后一条命令
console:/ # echo '1' && echo '2'
1
2
|和|| 符号
| 表示管道,上一条命令的输出,作为下一条命令参数
console:/ # echo 'yes' | wc -c
4
|| 表示上一条命令执行失败后,才执行下一条命令
cat nofile || echo "fail"
; 符号
表示顺序执行,不管前面命令成功与否
command1;command2;command3
&>和 > 符号
&>可以将stderr错误信息定向输出;>可以将stdout标准输出信息重定向输出
//由于Linux没有lll这个命令所以会显示错误信息,这个就是stderr输出的错误信息
console:/ # lll
/system/bin/sh: lll: not found
//由于这个是错误信息 所以不能使用标准输出>将信息重定向到test文件中,所以错误信息直接在控制台打印出来了
127|console:/ # lll > data/test.txt
/system/bin/sh: lll: not found
//使用&>重定向 错误信息没有输出到控制台了,表示错误信息正确重定向到了test文件
127|console:/ # lll &> data/test.txt
127|console:/ # cat data/test.txt
/system/bin/sh: lll: not found