关于输入重定向

对于输入重定向来说,其需要用到的符号以及作用如表 1 所示。

命令符号格式作用
命令 < 文件 将指定文件作为命令的输入设备
命令 << 分界符 表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串
命令 < 文件 1 > 文件 2 将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。

【例 1】 默认情况下,cat 命令会接受标准输入设备(键盘)的输入,并显示到控制台,但如果用文件代替键盘作为输入设备,那么该命令会以指定的文件作为输入设备,并将文件中的内容读取并显示到控制台。

以 /etc/passwd 文件(存储了系统中所有用户的基本信息)为例,执行如下命令:

[root@localhost ~]# cat /etc/passwd #这里省略输出信息,读者可自行查看 [root@localhost ~]# cat < /etc/passwd #输出结果同上面命令相同

注意,虽然执行结果相同,但第一行代表是以键盘作为输入设备,而第二行代码是以 /etc/passwd 文件作为输入设备。

【例 2】

[root@localhost ~]# cat << 0

>c.biancheng.net

>Linux

>0

c.biancheng.net

Linux

可以看到,当指定了 0 作为分界符之后,只要不输入 0,就可以一直输入数据。常见的分界符有EOF

【例 3】 首先,新建文本文件 a.tx,然后执行如下命令:

[root@localhost ~]# cat a.txt

[root@localhost ~]# cat < /etc/passwd > a.txt

[root@localhost ~]# cat a.txt         #输出了和 /etc/passwd 文件内容相同的数据

可以看到,通过重定向 /etc/passwd 作为输入设备,并输出重定向到 a.txt,最终实现了将 /etc/passwd 文件中内容复制到 a.txt 中。

原文地址:https://www.cnblogs.com/fengfengyang/p/14523215.html