linux重定向中&>和>&是一个意思,是“复制一个文件描述符”的意思。
一、linux重定向的设备代码
二、linux重定向的符号意义
1. > 和 < 分别代表重定向的方向,是从左到右还是从右到左
2. >> 和 << 代表追加,也就是不改变重定向目标文件原有的内容,追加在后面。
3. >&n 使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出;
4. <&n 标准输入复制自文件描述符 n;
5. n<&- 表示将 n 号输入 关闭
6. <&- 表示关闭标准输入(键盘)
7. n>&- 表示将 n 号输出关闭
8. >&- 表示将标准输出关闭
例如命令:
$ ./bin/run-example SparkPi
结果如下:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
17/06/27 10:23:16 INFO SparkContext: Running Spark version 2.0.2
17/06/27 10:23:17 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/06/27 10:23:17 WARN Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 192.168.41.129 instead (on interface eno16777736)
17/06/27 10:23:17 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address;;;;;;;;
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
17/06/27 10:23:16 INFO SparkContext: Running Spark version 2.0.2
17/06/27 10:23:17 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/06/27 10:23:17 WARN Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 192.168.41.129 instead (on interface eno16777736)
17/06/27 10:23:17 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address;;;;;;;;
执行时会输出非常多的运行信息,输出结果不容易找到,可以通过
grep
命令进行过滤(命令中的 2>&1
可以将所有的信息都输出到 stdout 中,否则由于输出日志的性质,还是会输出到屏幕中)
$ ./bin/run-example SparkPi 2>&1 | grep "Pi is roughly"
结果如下:
Pi is roughly 3.1434757173785868
Pi is roughly 3.1434757173785868