对于输入重定向来说,其需要用到的符号以及作用如表 1 所示。
命令符号格式 | 作用 |
---|---|
命令 < 文件 | 将指定文件作为命令的输入设备 |
命令 << 分界符 | 表示从标准输入设备(键盘)中读入,直到遇到分界符才停止(读入的数据不包括分界符),这里的分界符其实就是自定义的字符串 |
命令 < 文件 1 > 文件 2 | 将文件 1 作为命令的输入设备,该命令的执行结果输出到文件 2 中。 |
以 /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 中。