在linux中,&和&&, |和|| ,&> 与 >的区别

在linux中,&和&&, |和|| ,&> 与 >的区别

对应刚接触linux命令的小伙伴们来说,这些符号一定是很困扰的下面我们一起来看这些符号区别和用法

& 表示任务在后台执行,如要在后台运行 如:

[root@localhost local]# java -jar test.jar > log.txt & 运行 test.jar程序 ,并且置于后台执行,执行的日志重定向 到当前默认的log.txt文件中

&& 表示前一条命令执行成功时,才执行后一条命令 如:

[root@localhost tmp]# ls -l && cd .. 总用量 4 -rw-r–r–. 1 root root 2252 1月 4 22:25 log.txt -rw——-. 1 root root 0 1月 3 23:23 yum.log [root@localhost /]#

| 表示管道,上一条命令的输出,作为下一条命令参数(输入)

如 : [root@localhost ~]# ps -aux | grep aux Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ root 53 0.0 0.0 0 0 ? S 16:33 0:00 [ata_aux] root 2379 4.0 0.1 110224 1172 pts/2 R+ 22:55 0:00 ps -aux root 2380 0.0 0.0 103316 868 pts/2 D+ 22:55 0:00 grep aux 查询全部进程后输出结果在进行过滤跟 进行中包含aux的进程。

|| 表示上一条命令执行失败后,才执行下一条命令,

如:

[root@localhost tmp]# als -l || cd .. -bash: als: command not found [root@localhost /]#

来看>符号是指:将正常信息重定向

如: find / -name “*.txt” > /tmp/log.txt 在跟目录下根据名字来查找*.tx输入的日志放置/tmp/log.txt文件中

&>可以将错误信息或者普通信息都重定向输出

经验分享 程序员 微信小程序 职场和发展