1.理解系统的输入输出
字符设备是指I/O传输过程中以字符为单位进行传送的设备,例如键盘、打印机等。在linux系统中,字符设备以特别文件方式在文件目录树中占据位置。
示例:
date
显示的字符串存放在dev/pts/0
2.管理输入输出的符号
1.输出重定向
> #重定向正确输出
2> #重定向错误输出
& #重定向所有输出
注意:重定向会覆盖源文件内容
示例:(必须在普通用户下)
find /etc/ -name passwd > file #定向正确输出到file
find /etc/ -name passwd 2> file #定向错误输出到file
find /etc/ -name passwd &> file #定向所有输出到file
> file #清空file
示意图:
2.输出追加
“>>“ #追加正确输出到文件最后
2>> #追加错误输出到文件后
&>> #追加所有输出到文件最后
注意:追加不会覆盖源文件内容
示例:
find /etc/ -name passwd >> file #追加正确输出到file
find /etc/ -name passwd 2>> file #追加错误输出到file
find /etc/ -name passwd &>> file #追加所有输出到file
> file #清空file
示意图:
3.管道应用
“|”作用:把前一条命令的输出变成后一条命令的输入(前后都是命令)
注意:管道只允许正确输出通过
通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的
如果需要保存输出内容,那么需要复制一份输出,命令为“tee filename”
在普通用户下实验:
ls /bin/ | wc -l
--> 1587
ls /bin/ | wc -l >> file
-->1587
find /etc/ -name passwd | wc -l #会看到结果为2,因为错误输出不能通过管道
find /etc/ -name passwd 2>&1| wc -l #会看到19,因为编号为2的错误被“2》&1”转换为正确
find /etc/ -name passwd 2>&1|tee file| wc -l #保存一份输出到file再统计行数
示意图:
4.输入重定向
EOF是End of File的缩写,是自定义终止符。
cat >file <<EOF
hello
world
EOF #向file文件追加“hello\n world”
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。