2013.12.26

管道符号“|”,将一个指令的输出结果,作为另一个指令的输入.例如:ps axu | grep rpc.pcnfsd | grep -v grep > /dev/null(指令1) && wall pcnfs.run(指令2) ,第2个"|"把后面的2个指令做条件式的指令执行条件式的指令执行,符号"||"或"&&","||"相当于else,"&&"相当于C中的then.

群体指令符号"()",和连续指令不同,在执行完毕后当前shell环境不会被改变,同时也可以做多指令执行同一输出。比如:

who >> data.tmp;ps axu >> data.tmp;df >> data.tmp      可以改成(who;ps axu;df) >> data.tmp

( command > stdout.file ) >& err.data    可以实现输出信息和其中的错误信息的分离

重定向输入输出,符号"<","<<",">",">>",另有符号">&",">>&"可以把sh命令的错误信息也写入到文件中,类似

find: cannot chdir to /var/spool/mqueue: Permission denied 的信息也可以写入文件中。

tr "[A-Z]" "[a-z]" < report.org > report.low    先把report.org文件的数据输入到tr指令中,tr指令执行替换大小写的功能后,把结果输出到report.low中。

shell的垃圾筒符号"/dev/null",把输出信息重定向到这里,可以避免屏幕上的信息比较乱。

今天总结,适当使用符号"()"可以让指令的作用更加清晰。一些系统符号需要强记!

原文地址:https://www.cnblogs.com/live-in-city/p/3492925.html