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

本文介绍了Linux中输入输出的基本概念,包括字符设备、标准输入(stdin)、标准正确输出(stdout)和标准错误输出(stderr)。重点讲解了输出重定向,如1>用于重定向正确输出,2>用于重定向错误输出,&>用于重定向所有输出,以及如何追加输出而不覆盖原有内容。此外,还提到了管道(|)的作用和输入重定向(<)的使用,以及tac命令用于倒序显示文件内容。
最低0.47元/天 解锁文章

2899

被折叠的 条评论
为什么被折叠?



