make 2>&1 |tee err.log //综合一下的说明,该句的执行过程是 执行make 是将标准错误输出到标准输出中,并复制到err文件中
在shell中,文件描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2,由此可以看出,
2>&1 means redirect stderr to stdout.2是标准错误,&1是标准输出,2>&1意思就是将标准错误输出到标准输出中。
扩展学习笔记:
tee 命令
用途:显示程序的输出并将其复制到一个文件中。
语法:tee [ -a ] [ -i ] [ File ... ]
描述:tee 命令读取标准输入,然后将程序的输出写到标准输出,并同时将其复制到指定的一个或多个文件。
标志
-a 将输出添加到 File 的末尾而不是覆盖写入。
-i 忽略中断。
退出状态
命令返回以下退出值:
0 标准输入被成功地复制到所有输出文件中。
>0 发生错误。
注:如果向任意成功打开的File操作数的写入不成功,写入其它成功打开的File操作数,并且标准输出会继续,但是退出值将会是>0。
arm-linux-strip bin/fhwmain // arm-linux-strip是减肥工具而不是压缩工具, 是将make完了以后的程序fhwmain文件,去掉elf可执行的文件信息
下面的表格总结的很好:转http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=73976
名称 |
归属 |
作用 |
arm-linux-as |
binutils |
编译ARM汇编程序 |
arm-linux-ar |
binutils |
把多个.o合并成一个.o或静状库(.a) |
arm-linux-ranlib |
binutils |
为库文件建立索引,相当于: arm-linux-ar –s |
arm-linux-ld |
binutils |
连接器(Linker),把多个.o或库文件连接成一个可执行文件 |
arm-linux-objdump |
binutils |
查看目标文件(.o)和库(.a)的信息 |
arm-linux-objcopy |
binutils |
转换可执行文件的格式 |
arm-linux-strip |
binutils |
去掉elf可执行文件的信息,使可执行文件变小 |
arm-linux-readelf |
binutils |
读elf可执行文件的信息 |
arm-linux-gcc |
gcc |
编译.c或.S的C程序或汇编程序 |
arm-linux-g++ |
gcc |
编译c++程序 |
tar zcvf fhwgroup.tgz fhwgroup/ //将 fhwgroup/ 目录打包成 fhwgroup.tgz 格式
tar几个参数的说明:
-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
-c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
-v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
-f 使用档案文件或设备,这个选项通常是必选的。
chmod 777 fhwgroup.tgz //修改压缩后文件的执行权限