Logo
Section 1 / 15

简介

了解文本流的入门知识,以及它们在命令行界面环境中的实用价值。

导入

简介

了解文本流的入门知识,以及它们在命令行界面环境中的实用价值。

标准流概述

很久以前,如果我们要让程序输出信息,必须在代码中编写特定的指令。如果希望程序从键盘获取输入,同样需要编写相应的代码。这种做法将程序与运行的硬件紧密耦合,导致程序变得高度专用,难以移植。Unix 引入了操作系统级别的标准数据流概念,使得程序可以向这些标准流写入数据,而操作系统负责处理后续事宜,自动适当地处理输入或显示输出。

在基于 Unix 的系统上使用命令行界面(CLI)时,我们会遇到三个标准流:

  • 标准输出(stdout):程序的输出内容。
  • 标准输入(stdin):程序的输入来源。
  • 标准错误(stderr):程序产生的错误信息。

当我们在命令行启动一个程序时,标准输入连接到终端的输入(即键盘),而标准输出和标准错误则连接到终端的输出(即屏幕)。然而,我们可以改变这些连接方式:可以将输出重定向到日志文件,完全丢弃输出,甚至将一个程序的输出作为另一个程序的输入。通过少量基础工具,我们可以构建简单或复杂的处理流程。

我们之前已经在课程其他部分接触过本章的一些概念,现在我们将进一步深入探讨。首先回顾如何重定向这些流,然后学习一些专门用于在命令行上处理文本的程序。

使用 VirtualBox 创建 Ubuntu 虚拟机

使用文件描述符重定向输入和输出