八、make编译输出重定向
4、编译输出重定向
将 make 命令的标准输出(stdout)和标准错误输出(stderr)重定向到文件,以便于查看编译日志,快速分析定位问题。
1、重定向到同一个文件
语法:
make > output.log 2>&1
>:将标准输出(stdout)重定向到output.log文件。2>&1:将标准错误输出、标准输出 输出到output.log文件中。
例子:
希望将编译过程中所有的信息(包括错误信息)都保存到一个日志文件中。
make > build_output.log 2>&1
在这个例子中,build_output.log 文件将包含所有标准输出和标准错误输出。无论是编译成功的消息,还是错误信息,都会被保存在同一个文件中。
输出示例:
Compiling file1.c...
Compiling file2.c...
gcc: error: file3.c: No such file or directory
make: *** [Makefile:15: file3.o] Error 1
2、分别重定向到不同的文件
语法:
make > output.log 2> error.log
>:将标准输出重定向到output.log文件。2>:将标准错误输出重定向到error.log文件。
3、输出追加文件不覆盖文件
默认情况下,> 会覆盖文件的内容。如果希望将新的输出追加到现有文件中,而不是覆盖原有内容,可以使用 >> 来追加。
语法:
make >> output.log 2>&1
>>:将标准输出追加到output.log文件中。2>&1:将标准错误输出也追加到output.log文件中。
例子:
假设执行了多次 make 命令,并希望将每次的输出都追加到一个文件中,以便查看所有的构建日志。可以使用以下命令:
make >> build_output.log 2>&1
这样,每次执行 make 时,它的输出都会追加到 build_output.log 文件中,而不是覆盖之前的内容。
输出示例:
假设第一次执行时文件为空,第一次执行的输出:
Compiling file1.c...
Compiling file2.c...
第二次执行时,输出会追加到文件末尾:
Compiling file3.c...
Compiling file4.c...
4、同时输出到终端和文件
如果希望将 make 命令的输出同时显示在终端上,并保存到文件中,可以使用 tee 命令。tee 会读取标准输入并将其内容输出到标准输出和文件中。
语法:
make 2>&1 | tee output.log
2>&1:将标准错误输出(stderr)重定向到标准输出(stdout)。|:将输出通过管道传递给tee命令。tee output.log:将输出写入output.log文件,同时将其显示在终端上。
例子:
在终端看到编译的过程,同时将日志保存到文件中,可以执行以下命令:
make 2>&1 | tee build_output.log
这样做可以在终端中看到 make 命令的输出,并且所有的输出(包括标准输出和标准错误输出)会被写入到 build_output.log 文件中。
输出示例:
Compiling file1.c...
Compiling file2.c...
gcc: error: file3.c: No such file or directory
make: *** [Makefile:15: file3.o] Error 1
并且这些内容也会被保存到 build_output.log 文件中。
5、在 Makefile 中配置日志记录
在 Makefile 中设置将输出重定向到文件,以便每次执行 make 时,自动将日志记录到文件中,如下:
all:
@echo "Building project..." > build.log 2>&1
make >> build.log 2>&1
在这个示例中,make 会先将 Building project... 信息写入 build.log,然后将后续的所有 make 输出(包括错误信息)追加到同一个日志文件中。
八、make编译输出重定向的更多相关文章
- (转)Linux下的输入/输出重定向
Linux环境中支持输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示 ...
- Linux下的输入/输出重定向
Linux环境中支持输入输出重定向,用符号<和>来表示.0.1和2分别表示标准输入.标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入或输出,比如 2>lee.dat 表示 ...
- Linux Shell 下的输出重定向
linux 环境中支持输入输出重定向,用符号<和>来表示. 0.1和2分别表示标准输入.标准输出和标准错误信息输出, 可以用来指定需要重定向的标准输入或输出,比如 2>a.txt 表 ...
- linux进程后台运行及输出重定向
本机环境为ubuntu 14.04 以ping www.baidu.com为例: 1.程序的前台运行 ping www.baidu.com 可以看到,屏幕上输出了baidu返回的结果 2.实现程序后台 ...
- unix下输出重定向
> 为重定向符号 >> 重定向不覆盖原文件内容 example: 1. 标准输出重定向 echo "123" > /home/123.txt ---- 标准 ...
- [转]linux shell数据重定向(输入重定向与输出重定向)详细分析
在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件 ...
- linux | 管道符、输出重定向
1 输出重定向 ll > a.txt 将 ll的结果写入到a.txt 2 管道符 ls -la | grep h* 这条命令的理解为:ls -la 的结果作为gerp h* 的结果 gerp 是 ...
- python输出重定向
0表示标准输入1表示标准输出2表示标准错误输出> 默认为标准输出重定向,与 1> 相同2>&1 意思是把 标准错误输出 重定向到 标准输出.&>file 意思是 ...
- 学习笔记之Shell脚本的输出重定向
shell http://baike.baidu.com/link?url=qN3THt5ZJhQtwRJJkakWdz5-vZp4V9H3OmNP97XNhaoL-dqU-6rrFrYfHXmYv6 ...
- Linux实时将所有输出重定向到文件
Linux的重定向机制十分好用,我们经常需要在服务器上挂起一个服务程序,然后将该程序的所有输出重定向到某个文件,这样即使我们注销了用户,程序依然在linux服务器上运行着. 但是重定向的输出经常无法实 ...
随机推荐
- BUUCTF---signin
题目 welcome to crypto world!! 密文:424a447b57653163306d655f74345f424a444354467d 解题 啥也没有只有一段密文,只能从密文下手了, ...
- go语言中make和new有什么作用以及区别?
在Go语言中,make 和 new 是两个内置的函数(built-in functions),用于分配内存,但它们之间有显著的区别,主要体现在它们被用于不同类型的对象分配内存. new new关键字用 ...
- SpringAI用嵌入模型操作向量数据库!
嵌入模型(Embedding Model)和向量数据库(Vector Database/Vector Store)是一对亲密无间的合作伙伴,也是 AI 技术栈中紧密关联的两大核心组件,两者的协同作用构 ...
- 使用Python解决Logistic方程
引言 在数学和计算机科学中,Logistic 方程是描述人口增长.传播过程等现象的一种常见模型.它通常用于表示一种有限资源下的增长过程,比如动物种群.疾病传播等.本文将带领大家通过 Python 实现 ...
- 『Plotly实战指南』--面积图绘制与应用
在数据可视化领域,面积图是一种强大而直观的工具,它通过填充线条与坐标轴之间的区域来量化数据大小, 从而帮助我们清晰地展示数据的总量.趋势变化以及不同类别之间的对比. 无论是分析随时间变化的累积量,还是 ...
- 💻开源项目介绍-NewsNow-优雅的实时新闻聚合平台
news.zktww.vip 引言 在信息洪流中,如何优雅地获取新闻? 在当今信息爆炸的时代,我们每天需要在微博.知乎.Twitter.GitHub等平台间频繁切换,才能捕捉到最新的热点动态. New ...
- 🧠 Model Context Protocol(MCP)详解:AI 编程新时代的“USB 接口
目标读者:具备一定编程基础,但尚未涉足 AI 编程的开发者 本文目的:帮助你理解 MCP 的核心概念.技术优势.运作机制,并指导你如何使用 MCP 构建智能体项目. 什么是 MCP? MCP,全称 M ...
- eolinker流程用例步骤之脚本代码[Javascript]:读取多组数据,循环执行同一操作
特别注意:需要使用全局变量或者预处理前务必阅读本链接https://www.cnblogs.com/becks/p/13713278.html 场景(一)描述: 在未知有多少会员卡的前提下,对会员卡进 ...
- K8S 部署 Deepseek 要 3 天?别逗了!Ollama+GPU Operator 1 小时搞定
最近一年我都在依赖大模型辅助工作,比如 DeepSeek.豆包.Qwen等等.线上大模型确实方便,敲几个字就能生成文案.写代码.做表格,极大提高了效率.但对于企业来说:公司内部数据敏感.使用外部大模型 ...
- DOC,PDF,PPT文件转换为HTML代码记录
pom文件引入 <repositories> <repository> <id>com.e-iceblue</id> <url>http:/ ...