一、输出重定向符号
先建立实验所需的条件。
我们在普通用户下,按名字查找etc文件夹下名为passwd的文件数。能正常查询的文件只有2个,而不能查询的共有17个。
重定向输出编号为1 >
将编号为1结果存入file1中,而编号为2的内容显示在字符器。
重定向输出编号为2 2>
将编号为2结果存入file2中,而编号为1的内容显示在字符器。
重定向所有输出 &>
将所有结果存入file3。
二、输入重定向
tr ‘a-z’ ‘A-Z’<file ##将file中的所有小写字母变成大写字母
<<+标示符…表示符 ##将两个表示符内的内容定向输入
编辑一个shell文件,并运行该shell文件
我们在运行passwd时,系统会要求我们输入两次密码,我们将两次密码放在两个标识符之间。这样系统在编译我们的shell文件时,将会自动数输入密码,而不需我们进行人工输入。该方法十分适用与需要多次输入同一内容的情况。
三、管道的应用
首先需要明确的是,管道的作用是将前一条指令的结果作为输入。同时只有编号为1的内容才能作为输入。
再次以查找passwd文件作为实验对象,同时加入管道,查看最后的文件个数。
通过结果我们可以发现,通过管道的个数为2,这2个文件正是我们有权限查询的文件,而剩下的文件则成为了编号为2的文件显示在字符器上。
此外,我们还能够通过2>&1将所有编号为2的输出变为编号为1。
通过管道的文件个数为19,就表明了,此时编号为2的文件已经成了编号为1的文件。
当我们使用管道时,上一条指令的结果并不会显示,如果我们像保存这些内容,我们可以用tee指令,复制这些结果到一个文件中。
find /etc/passwd/ -name passwd|tee file2|wc -l将编号为1的内容存在了file2中,同时又将其作为输入,传送给管道。