By Jackson
在操作计算机的时候,我们能够很容易通过键盘、鼠标给计算机输入信息(例如:写公文、邮件,同时通过显示器得到输出。这就是日常和计算机进行人机对话的过程。
使用Linux操作系统,由于天生需要用命令行来交互,给使用者增加了些许难度。本文简要介绍输入输出时,如何实现重定向,以期灵活运用这一功能,为Linux系统管理及运维提供帮助。
重定向可以帮助我们将输入或输出的结果重新保存到一个文件,或者文件夹中,以便日后查询或复用。这就为平时简单的屏幕输出(例如:cat命令)提供了“记忆”。接下来,我在WSL终端操作,来演示如何使用输出重定向命令。
例如:当在屏幕上输入以下命令时,将输出日期时间。
$ date
Sat Oct 21 09:29:22 CST 2023
如果想保存日期时间结果到文件中,可以使用输出重定向,将date数据保存到新文件date.txt中。
$ date > date.txt
查看date.txt的结果:
$ cate date.txt
上述命令执行效果如下图:
同样,在查看列表文件信息时, 常用以下命令
$ ls
担当目录中文件和目录较多时,我们希望能够记录这些文件列表信息,就可以用重定向输出;将当前目录文件重定向输出到list.txt文件中。
$ ls > list.txt
重定向完毕,我们看一下该文件保存结果
$ cat list.txt
通常,查询网络配置会用以下命令:
$ ifconfig
结果显示eth3网络适配器信息如下:
当需要对这些信息存档时,可以使用输出重定向,将信息保存在名为eth3.txt的文件中。
$ ifconfig eth3 > eth3.txt
再查看一下保存信息的结果:
$ cat eth3.txt
运行结果如下图:
屏幕输出的信息,很容易用echo输出;但为了记录,可以重定向到一个名为greeting的文件;如下图:
以上使用四种示例,简要介绍了重定向输出的情况。
输入重定向和输出重定向正好相反。 输入重定向会将文件的内容重定向至命令,而不是将命令输出重定向到文件。
输入重定向运算符是小于号(<):
command < inputfile
我们将在Red Hat Linux终端操作以下示例。
编辑一个文件cmd_file, 然后输入重定向:
ws命令可以统计数据中的文本,在默认情况下,会输出三个值:
纵观上述例子,输入重定向到ws时,输出的cmd_file文件属性为:3行文本,单词16个,以及92个字节。
次提示符输入重定向
在命令行中使用内联输入重定向时,shell会使用PS2环境变量中定义的次提示符来提示输入数据,如下所示:
次提示符>会持续提示,以便获取更多的输入数据。我在终端输入三行字符:
之后,用EOF终止输入。此时, wc命令会统计内联输入重定向提供的数据包含的行数、单词数和字节数分别为3, 6和39。
技术好文陆续推出,敬请关注。
您的认可,我的动力。