本文介绍如何在linux下将控制台打印内容保存到文件中。
1. tee命令
tee命令用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单的说就是把数据重定向到给定文件和屏幕上。tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。示例如下:
ls | tee ./log.txt
2. 重定向符号 >
- “>”或”1>”输出重定向:把前面输出的东西输入到后边的文件中,会清除文件原有的内容。
[root@Simile /]# echo 'a a b b c c' >test.txt
[root@Simile /]# cat test.txt
a a b b c c
- “>>”或”1>>” 追加输出重定向:把前面输出的东西追加到后边的文件尾部,不会清除文件原有的内容。
[root@Simile /]# echo 'The new line' >>test.txt
[root@Simile /]# cat test.txt
a a b b c c
The new line
- “<”或”0<”输入重定向:输入重定向用于改变命令的输入,后面指定输入内容,后面跟文件名。
[root@Simile /]# xargs -n 2 <test.txt
a a
b b
c c
[root@Simile /]# tr " " "\n" <test.txt
a
a
b
b
c
c
- “<<” 或 “0<<” 追加输入重定向:后面跟字符串,用来表示“输入结束”,也可用Ctrl + D 来结束输入。
[root@Simile /]# cat >>test.txt <<EOF
Brand new me
EOF
[root@Simile /]# cat test.txt
a a b b c c
The new line
Brand new me
- “2>” 错误重定向:把错误的信息输入到后边的文件中,会删除文件原有的内容。1
- “2>>”错误追加重定向:把错误的信息追加到后边的文件中,不会删除文件原有的内容。