1.想要把make输出的全部信息,输出到某个文件中,最常见的办法就是:
make xxx > build_output.txt
此时默认情况是没有改变2=stderr的输出方式,还是屏幕,所以,如果有错误信息,还是可以在屏幕上看到的。
2.只需要把make输出中的错误(及警告)信息输出到文件中ing,可以用:
make xxx 2> build_output.txt
相应地,由于1=stdout没有变,还是屏幕,所以,那些命令执行时候输出的正常信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。
3.只需要把make输出中的正常(非错误,非警告)的信息输出到文件中,可以用:
make xxx 1> build_output.txt
相应地,由于2=stderr没有变,还是屏幕,所以,那些命令执行时候输出的错误信息,还是会输出到屏幕上,你还是可以在屏幕上看到的。
4.想要把正常输出信息和错误信息输出到分别的文件中,可以用:
make xxx 1> build_output_normal.txt 2>build_output_error.txt
即联合使用了1和2,正常信息和错误信息,都输出到对应文件中了。
5. 所有的信息都输出到同一个文件中:
make xxx > build_output_all.txt 2>&1
其中的2>&1表示错误信息输出到&1中,而&1,指的是前面的那个文件:build_output_all.txt 。
注意:上面所有的1,2等数字,后面紧跟着大于号'>' ,中间不能有空格。
相关文章
- linux文件描述符、软硬连接、输入输出重定向
- CVE-2024-3094:Linux生态供应链攻击-CVE-2024-3094:供应链攻击? 一个潜伏3年只为通杀的漏洞,今天更新了一个CVE漏洞,XZ-utils5.6.0/5.6.1版本后门风险(CVE-2024-3094)这个后门并非作者无意加入的,也不是引入存在后门的库文件导致的问题,而是有人经过三年的潜伏,积极参与该项目的维护,在获得了直接commit代码的权限以后将后门代码注入其中。 这个代码一共存活了不到2个月的时间,发现者是PostgreSQL 开发人员兼软件工程师 Andres Freund 意外发现的,在观察到 liblzma(xz 包的一部分)Debian sid(使用 ssh 登录占用了大量 CPU,valgrind 错误,然后找见了上游 xz 存储库和 xz tarball 已被后门。 幸运的是,xz 5.6.0 和 5.6.1 尚未被 Linux 发行版广泛集成,而且大部分是在预发行版本中。 但是kali linux如果每周更新或者最近3月26到29号之间更新了,不好意思。 根据kali官方说法希望更新, 首先我们apt-cache policy liblzma5 更新命令 sudo apt update && sudo apt install -y --only-upgrade liblzma5 更新 难的追一回滚动更新就这样玩吗?看来以后也不要追最新的。 当然我们还可以cat /var/log/apt/history.log 查看更新时间和都更新了哪些内容! 附: 各大linux系统可以查看自己对应的系统,查看官网说明 比如我的kali可以直接在https://www.kali.org/blog/about-the-xz-backdoor/看到 当然了这个供应链后门只能说差一点就完美成功,因为他写的有bug在sshd运行的时候直接cpu飙升,引起了研究员的注意,否则如果在发行版中大规模集成,估计可以造成linux的一个通杀,现在只是在预发行版中,但是更新快的比如kali linux中如果滚动更新那么就会被影响到。 参考链接:
- Python-1、输出重定向到日志文件的例子
- 将打印定位到输出文件(串口中端)printf、sprintf与fprintf 的用法区分 - 海王
- [一]FileDescriptor文件描述符 标准输入输出错误 文件描述符
- linux查看进程内存使用情况,以及将线程情况输出文件
- linux 重定向 标准错误与标准输出到同一文件
- Linux命令执行的屏幕输出内容重定向到日志文件
- Linux shell标准输入,标准输出,错误输出
- 将make的输出(标准输出/标准错误输出)重定向到文件