1、什么是输入输出
1)字符设备
字符设备就是显示字符到屏幕上的设备文件
2)stdin
标准输入
编号为0
键盘 鼠标 打字机
3)stdout
标准正确输出
标号为1
4)stderr
标准错误输出
标号为2
打开shell输入的命令都会保存在打开shell的进程pid/fd/0里面,回车后通过cpu计算,正确输出保存到pid/fd/1里面,错误输出保存到pid/fd/2里面,他们共同显示到字符设备/dev/pts/x里
2、输出重定向
通俗的讲,重定向输出就是把输出的文件信息写入到一个文件中去,而不是将要输出的文件信息输出到控制台(显示屏)
1>
重定向正确输出
利用root用户在/etc目录下查询passwd文件:将查询的正确结果保存在file文件中,使用cat查询。
[root@foundation50 Desktop]# find /etc/ -name passwd > file
[root@foundation50 Desktop]# cat file
/etc/pam.d/passwd
/etc/passwd
2>
重定向错误输出
利用root用户在/etc目录下查询passwd文件:将查询的错误结果保存在file1文件中,使用cat查询,没有!。
利用普通用户在/etc目录下查询passwd文件:将查询的错误结果保存在file2文件中,使用cat查询。
[root@foundation50 Desktop]# su -- westos
[westos@foundation50 Desktop]$ find /etc -name passwd
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/pam.d/passwd
/etc/passwd
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
[westos@foundation50 Desktop]$ find /etc -name passwd 2> file2 把错误输出存到file2
/etc/pam.d/passwd
/etc/passwd
[westos@foundation50 Desktop]$ cat file2
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/nftables’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
&>
重定向所有输出
在/etc目录下查询passwd文件:将查询的所有结果保存在file3文件中,使用cat查询
[w