2023.12.25 ubuntu程序输出另存为文件log

本文介绍了四种在终端中将命令执行结果或输出重定向到文本文件的方法:1)使用`script`记录整个会话;2)使用`>`重定向单个命令输出;3)使用`>`重定向标准输出;4)使用管道`|`进行多命令处理并结合`tee`保存结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:把终端中所有信息都写到文本文件中

在终端的命令行中输入以下命令:

script   -f    output.txt

这样就会在当前目录下创建一个output.txt文件

接下来,在按Ctrl+D之前,在命令窗口执行的所有命令包括终端输出的所有信息都会写道output.txt文件中。

方法二:把终端执行某一命令后的输出内容写到文本文件中

在终端中输入以下内容:

ifconfig>ifconfig.txt

这个应该是重定向流的意思,就是把执行ifconfig命令后本应该在终端显示的内容重定向到当前目录下的ifconfig.txt文件中了,而终端将不 会输出任何信息。就像没有执行这个命令一样,这时候直接到当前目录下的ifconfig.txt文件中查看就好了,这样也达到了把终端信息输出到文本文件 的目的。

方法三: stdout > stdout >

如果我们在Shell中输入命令的时候,使用 > 符号, 就可以将输入信息输出到其他文件(包括设备文件)中去。比如

ps > out

运行后,我们会发现out文件里面出现了ps的输入信息,而Putty终端窗口里面则没有任何内容打印出来了。

这个 > 就是 stdout 重定向符号, 它表示 stdout 不是指向 终端设备了,而是 重定向到 out 文件。 所以stdout 指向了 out 文件, 输入的信息就到 out 文件了。 终端屏幕上就没有信息了。

方法四:管道 |
我们看 这个命令 ps –ef | grep 6536

注意其中的 竖线 | , 这个就是管道操作符,它起的作用就是

● 将 前面的 ps –ef 命令的stdout(本来是输出到终端设备的) 重定向到一个 临时管道设备里面,

● 同时 将后一个命令 grep 6536 的stdin重定向到这个临时的管道设备。

那么这时会发生什么事情呢?ps –ef 命令的结果直接被 命令 grep 6536 过滤出来了。

配合tee 输出到文件

sudo ./forcecontrol | tee out.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值