1.linux系统中输入输出的定义
1.输入
输入的定义就是通过键盘、鼠标等系统外接向系统传递字符等信息。
2.输出
输出的定义就是系统接受用户字符后,cpu通过处理反馈给用户信息的过程。命令顺利执行反馈的字符串称为标准正确输出(stdout),输出编号为1;当执行命令失败后产生的字符串称为标准错误输出(stderr),输出编号是2。
3.字符设备
字符设备是指在I/O传输过程中以字符为单位进行传输的设备,例如键盘、打印机等。
字符设备时内存中开始的虚拟设备并且真实存在。
在默认情况下,两种输出都会被系统定向到字符设备中。
2.重定向输出
定义:把原本要输出到屏幕的字符,重新定向到指定文件中。
-
1> #重定向正确输出
-
2>#重定向所有错误输出
-
&>#重定向所有输出
-
>file#清空file
例如:
1.find /etc/ -name passwd > file ##查找/etc/下的passwd的文件,将正确的输入到file文件中
命令执行后,只有正确的被存储到file文件中,其他的显示出来。
2.find /etc/ -name passwd 2> file.err ##查找/etc/下的passwd文件并将错误的输入到file.err文件中
3.find /etc/ -name passwd &>file.all ##将/etc/下的passwd文件中的所有文件输出到file.all文件中
3.追加输出
- >> ##追加正确输出到文件最后
- 2>> ##追加错误输出到文件最后
- &>> ##追加所后输出到文件最后
**追加输出文件不会覆盖原文件内容
例如:
1.追加正确输出
2.追加错误输出
3.追加所有输出到文件最后
4.输入重定向
定义:不使用标准的输入端口输入文件,而是使用指定的文件作为标准输入设备
- < 单行输入重定向
- <<多行输入重定向,从标准输入中读入内容,直到遇到制订标识符结束,一般为EOF
例如:
1.把file中小写字符转化为大写字符
2.修改密码
本来是进行多次操作的, 输入重定向就可以一布完成。
5.管道符|
作用:将前一条命令的输出作为后一条命令的输入
**管道只能让正确的输出通过
例如:
1.find /etc/ -name passwd | wc -l ## 统计etc下passwd文件的个数
2. find /etc/ -name passwd 2>&1 |tee file | wc-l ##将全部信息副知道文件中,并统计文件个数