Linux之终端信息输出到日志文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zong596568821xp/article/details/82997885

在做调试的时候,需要观察终端输出的内容,有时候终端输出太多会被覆盖掉,并且直接在终端观察不太方便。将终端输出的内容保存在日志文件中,一方面可以便于查看输出内容,另一方面可以永久保存,便于回看。因此本文对相关的方法进行整理总结。

方法一

把命令运行的结果保存到文件当中:用 > 把输出转向就可以了,如

$ ls > ls.txt    #或者 ls-->ls.txt    #把ls命令的运行结果保存到文件ls.txt中

说明: > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留
    >> 是把输出附向到文件的后面,文件原内容会保留下来

方法二

上面的方法在写入文件的时候,终端没有任何输出,如果想要同时在终端显示,需要用tee指令

$ ls | tee ls.txt   #将会在终端上显示ls命令的执行结果,并把执行结果输出到ls.txt 文件中   
$ ls | tee -a ls.txt   #保留ls.txt文件中原来的内容,并把ls命令的执行结果添加到ls.txt文件的后面

方法三

上面的方法是写一句指令的输出,如果需要运行多条指令,还用同样的方法,就会比较麻烦,这个时候就用到了script指令

$ script
#Script. started, file is typescript
$ ls
#…… 内容省略
$ exit
#exit
#Script. done, file is typescript

我们在启动script时没有指定文件名,它会自动记录到当前目录下一个名为 typescript的文件中。也可以用 -a参数指定文件名,比如

$script. -a example.txt  #终端的输出内容被记录到 example.txt这个文件中

退出script时,用exit,事实上script就是启动了一个shell

猜你喜欢

转载自blog.csdn.net/zong596568821xp/article/details/82997885