t2397362 发表于 2011-10-12 14:51:24

请问linux下如何将命令行里输出的任何信息都输出到文本文件里去。。

例如输入ls > temp.txt
可以将当前目录下的子目录都输出到temp.txt里去

输入lk > temp.txt时,temp.txt里却没有任何内容

lk命令是不存在的,输入以后命令行会显示bash : lk : command not found.

我想把错误信息也输出到文本里去,而不是只有命令成功运行后返回的结果。

请教各位大神

root 发表于 2011-10-12 15:04:23

try:
lk >& temp.txt
上面加上&是将标准输出和标准错误这两个句柄都重定向到temp.txt中.

猜测一下,你可以试一下script和scriptreplay这两个命令,也许这才是你是想要的:)
(script/scriptreplay位于util-linux软件包中,一般的发行版的基本的软件包里都含这个包,如果你还不会用,可以用man 1 script和man 1 scriptreplay来学习下)

librae8226 发表于 2011-10-12 15:07:56

回复【1楼】root
-----------------------------------------------------------------------
谢谢。学习一下。
刚才试了 >&
对于这个问题,是可以用的。

我之前只遇到过的一种情况可以,运行一个脚本输出到文件。
如:
./script.sh >> log
在脚本里调用了make,make再调用了命令,如果有错或者没找到都会打印到log里

t2397362 发表于 2011-10-12 16:55:07

回复【1楼】root
try:
lk >& temp.txt
上面加上&是将标准输出和标准错误这两个句柄都重定向到temp.txt中.
猜测一下,你可以试一下script和scriptreplay这两个命令,也许这才是你是想要的:)
(script/scriptreplay位于util-linux软件包中,一般的发行版的基本的软件包里都含这个包,如果你还不会用,可以用man 1 script和man 1 scriptreplay来学习下)
-----------------------------------------------------------------------

太感谢了。。。

linux初学,很多地方很蛋疼呀。。。。

lllaaa 发表于 2011-10-12 18:27:25

xxx 2>&1 >aaa.txt

先把stderr重定向到stdout,然后重定向到文件。两个部分在命令行哪个先写忘记了。

Nuker 发表于 2011-10-12 18:38:00

如果支持tee命令:
xxx | tee xxx.log

在命令行还可以看到输出,同时保存到xxx.log文件里面。

Garbage614 发表于 2011-10-12 21:02:03

学习了
页: [1]
查看完整版本: 请问linux下如何将命令行里输出的任何信息都输出到文本文件里去。。