1. 记录终端输出至文本文件
1.1 解决方案1:利用>
和>>
命令
- 区别:
>
是把输出转向到指定的文件。注意:如文件已存在的话会重新写入,文件原内容不会保留。
>>
是把输出附加到文件的后面,文件原内容会保留下来。
- 例子:
ls>ls.txt #或者ls-->ls.txt,把ls命令的运行结果保存到文件ls.txt中
ls>>ls.txt #把ls命令的运行结果附加到文件ls.txt中
1.2 解决方案2:使用tee
命令
- 命令作用:
在输出信息的同时把信息记录到文件中。 - 例子:
ls | tee ls.txt # 将会在终端上显示ls命令的执行结果,并把执行结果输出到ls.txt 文件中
ls | tee -a ls.txt # 把ls命令的执行结果添加到ls.txt文件的后面。
# 参数说明: -a, --append,“append to the given FILEs, do not overwrite“,附加至给出的文件
1.3 解决方案3:使用script
命令
- 命令作用:
将终端上所有内容记录到文件中 - 例子:
script -a /home/sky1/sc.txt # 将接下来的内容全部记录到/home/sky1/sc.txt中
# 操作1
# 输出1
# 操作2
# 输出2
# 操作3
# 输出3
# ... ...
exit # 退出记录
2. 练习
练习内容:截取大文件中指定连续行的内容至小文件
问题:已知存在某大文件big.txt,其中有一行有内容“start point”,有一行有内容“end point”,请以“start point”所在行为起始行,“end point”所在行为终止行,请截取两行间(含起止行)的内容至小文件little.txt。
解决思路:
- 利用
cat -n
和|grep
命令定位起止行号 - 利用
sed
命令进行截取(注意加引号和p)并利用>
或>>
命令进行写入文件
实验步骤截图: