B1、因为shell是从左至右分析命令的,你的2>&1放在前面,2>&1是将标准出错重定向到标准输出,这里的标准输出还没有重定向到某个文件,所以将标准出错就输出到屏幕。2、而你的>是在后面,所以标准输出到文件当中如果想要一起重定向到一个文件当中,那么:ls-lR/data>/tmp/output2>&1