方法一:把终端中所有信息都写到文本文件中
在终端的命令行中输入以下命令:
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