Linux操作实例 – 输入输出重定向

Input & Output Redirection Examples in Linux

By Jackson

1. 前言

使用Linux操作系统,由于天生需要用命令行来交互,给使用者增加了些许难度。本文简要介绍输入输出时,如何实现重定向,以期灵活运用这一功能,为Linux系统管理及运维提供帮助。

2. 输出重定向

重定向可以帮助我们将输入或输出的结果重新保存到一个文件,或者文件夹中,以便日后查询或复用。这就为平时简单的屏幕输出(例如:cat命令)提供了“记忆”。接下来,我在WSL终端操作,来演示如何使用输出重定向命令。

(示例一)

例如:当在屏幕上输入以下命令时,将输出日期时间。

$ date
Sat Oct 21 09:29:22 CST 2023

如果想保存日期时间结果到文件中,可以使用输出重定向,将date数据保存到新文件date.txt中。

$ date > date.txt  

查看date.txt的结果:

$ cate date.txt

上述命令执行效果如下图:

Linux操作实例 – 输入输出重定向-LMLPHP

(示例二)

同样,在查看列表文件信息时, 常用以下命令

$ ls

担当目录中文件和目录较多时,我们希望能够记录这些文件列表信息,就可以用重定向输出;将当前目录文件重定向输出到list.txt文件中。

$ ls > list.txt

重定向完毕,我们看一下该文件保存结果

$ cat list.txt

Linux操作实例 – 输入输出重定向-LMLPHP

(示例三)

通常,查询网络配置会用以下命令:

$ ifconfig

结果显示eth3网络适配器信息如下:

Linux操作实例 – 输入输出重定向-LMLPHP
当需要对这些信息存档时,可以使用输出重定向,将信息保存在名为eth3.txt的文件中。

$ ifconfig eth3 > eth3.txt

再查看一下保存信息的结果:

$ cat eth3.txt

运行结果如下图:

Linux操作实例 – 输入输出重定向-LMLPHP

(示例四)重定向输出echo信息

屏幕输出的信息,很容易用echo输出;但为了记录,可以重定向到一个名为greeting的文件;如下图:

Linux操作实例 – 输入输出重定向-LMLPHP

以上使用四种示例,简要介绍了重定向输出的情况。

3. 输入重定向

输入重定向和输出重定向正好相反。 输入重定向会将文件的内容重定向至命令,而不是将命令输出重定向到文件。
输入重定向运算符是小于号(<):

command < inputfile

我们将在Red Hat Linux终端操作以下示例。

(示例一)

编辑一个文件cmd_file, 然后输入重定向:

Linux操作实例 – 输入输出重定向-LMLPHP
以上命令分布执行完毕!

  • 首先,创建编辑新文件cmd_file, 编写若干行内容;
  • 其次,执行wc < cmd_file, 输入重定向到ws。

ws命令可以统计数据中的文本,在默认情况下,会输出三个值:

  • 文本的行数;
  • 文本的单词数;
  • 文本的字节数

纵观上述例子,输入重定向到ws时,输出的cmd_file文件属性为:3行文本,单词16个,以及92个字节。

(示例二)

次提示符输入重定向

在命令行中使用内联输入重定向时,shell会使用PS2环境变量中定义的次提示符来提示输入数据,如下所示:
Linux操作实例 – 输入输出重定向-LMLPHP
次提示符>会持续提示,以便获取更多的输入数据。我在终端输入三行字符:

  • Test string1
  • Test string2
  • Test string3

之后,用EOF终止输入。此时, wc命令会统计内联输入重定向提供的数据包含的行数、单词数和字节数分别为3, 6和39。

技术好文陆续推出,敬请关注。

您的认可,我的动力。😃

相关阅读

  1. Linux操作系统基础 - 文件管理何操作命令
  2. Linux操作系统基础 - 修改文件权限
01-09 09:00