Unix 系统命令行实用技巧与操作指南
1. Unix 系统工具链哲学
Unix 系统有一个关键哲学,即使用专注且功能单一的小工具,并将它们串联起来。例如,将一个命令的输出发送给sort命令进行逆序排序,然后再将排序后的输出发送给head命令显示前十个结果。这就像让数据在工具管道中流动一样。在编写代码时,我们也可以采用类似的方法,避免让一个函数承担过多的任务,因为这会增加代码维护的难度;同时要避免系统组件之间过度耦合,因为这样的系统往往难以进行更改。
2. 使用tee分割数据流
当我们将命令输出重定向到文件时,屏幕上就不会显示该输出了。为了既能在屏幕上看到输出,又能将其保存到文件中,可以使用tee命令。tee命令的名称来源于管道中的 T 形接头,它可以将输入的数据流同时导向屏幕和文件。
操作步骤如下:
1. 执行history命令并将其输出通过管道传递给tee命令:
$ history | tee commands.txt此时,屏幕上会显示历史命令记录,同时commands.txt文件中也会保存这些记录。
2. 默认情况下,tee命令会覆盖目标文件。如果要追加内容,可以使用-a选项: <