如何将终端上的显示保存为一个文件?

目的是要查看boot的执行过程,因此想要将终端的显示内容保存到一个文件内。
目前我使用命令>> /1/1.out在1目录下创建了一个文件1.out,但文件内什么内容都没有,急!

命令 | tee /1/1.out

tang,你好,我看到帮助中说使用script命令可以将终端的内容保存在一个文件中,script -a “/record”,在虚拟机上可以实现,但写在boot文件中启动时出现如下提示:
script:record no such file
不明白怎么使用此命令呢?

在Boot 里面啊。"script"和"tee"都要文件系统的支持,可能还要管道(pipe)的支持。这些,在QNX这样的微内核系统里都是一个一个的外部进程。除非你先启动了这些进程,否则"script"和"tee"都不太可能正常动作。

你的build文件是什么样的?你的目标机是什么?具体你是要抓取什么输出呢?

我主要是想把目标机的启动过程进行记录,就是把目标机启动时界面上的内容记录成文件,希望早有答案,谢谢!

不看Build File,不知道的你的目标机是怎么启动的,就比较难说。

可以试试在 Build File 里写一行 “reopen /dev/shmem/screen.log”,可以把这行后面的命令的输出存入 /dev/shmem/screen.log 中。不过,在适当的时候你还需要 repoen /dev/con1 (或是别的终端设备),要不然,你就不能同目标机交互了。

build文件:
reopen /dev/con1
显示启动信息!
然后启动PCI设备,
启动IDE设备
。。。。
不明白记录文件是否是screen。log?

急!
tangsir,我试过你的方法了不行,我的build文件如下:
devc-con -n1&
reopen /dev/con1
displaymsg !

pci-bios&
waitfor /dev/pci 10

我的目标机运行时通过网络我访问的时候,发现在/proc/boot/目录下有一个文件script,但是打开后乱码,请问这个文件是通过script命令产生的吗?我的build中没有使用script。怎么样才能把这个文件打开呢?

试试:
devc-con -n1&
reopen /dev/shmem/mylog
displaying !

pci-bios&
waitfor /dev/pci 10



reopen /dev/con1
[pri=10] /bin/sh

tangx,我用了上面的方式,网络连接目标机没有看到/dev/shmem/下的mylog文件。
请问script的用法,需要启动哪些进程?我看到帮助中说它可以记录终端上的信息。谢谢!

xtang,急救啊!
请问你说的reopen /dev/shmem/mylog需要其他的设置吗?我试过了,会出现提示:unable access the /dev/shmem/mylog,不知道哪里出现问题?

嗯,还要先建立那个文件。把"cp"加到你的build file里去,在reopen之前做一个 “cp /dev/null /dev/shmem/mylog” 看看行不行。

还有一个办法是先启动串口驱动,然后把所有的输出转去串口。

devc-ser8250
waitfor /dev/ser1
reopen /dev/ser1

这样你可以连接目标机的串口来接收输出了。

xtang,我想把目标机启动的过程提示在目标机上显示,同时也保存文件,这样的话就要把它存成一个文件,在虚拟机上用script命令可以实现,但不知道在自己的目标机上的build文件中需要设置什么才能实现?
你以前说要启动文件系统和管道,我在build中使用script命令后能创建log文件,但是是空的文件,不知道有什么好办法?谢谢!

script 是用来启动Shell的,你的boot不是用的shell,估计没什么用。script本身应该需要 devc-pty和 /bin/sh存在吧。

tee是另外一种情形。不过你任然需要 pipe,而且要改build文件,每行命令都要设管道到 tee。

其实还是上面说的用串口比较实际,你可以在你的串口程序中看到输出,并记录这些输出。

ps ef |tee /dev/1.txt
是否可以执行,谢谢。