第四单元:
1.linux当中有三种标准输入输出stdin,stdout,stderr对应的编号为0,1,2;0就是从键盘上读取信息,1就是标准输出,默认到终端(显示屏);2就是标准错误信息输出,默认也是到终端(显示屏)。
举例:(普通用户)find /etc/ -name passwd
有访问成功的,也有没有访问成功的,默认他们都输出到了屏幕上。
那么如何让他们输出到另一个地方,这也就是下面要说的输出重定向。
1)find /etc/ -name passwd >file
[kiosk@foundation90 Desktop]$ find /etc/ -name passwd >file
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/audit’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/grub.d’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/virt-who.d’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
把正确的输出到了file里,把错误的输出到了屏幕上(输出到屏幕上是默认的)
2)find /etc/ -name passwd 2>file
[kiosk@foundation90 Desktop]$ find /etc/ -name passwd 2>file
/etc/passwd
/etc/pam.d/passwd
把错误的输出到了file里,把正确的输出到了屏幕上(输出到屏幕上是默认的)
3)find /etc/ -name passwd &>file
[kiosk@foundation90 Desktop]$ find /etc/ -name passwd &>file
把所有的信息都输出到了file里,屏幕上没有任何显示
如何清空file里的内容: >file
[kiosk@foundation90 Desktop]$ >file
把出错的信息丢掉: >/dev/null
[kiosk@foundation90 Desktop]$ find /etc/ -name passwd 2>/dev/null
/etc/passwd
/etc/pam.d/passwd
现在有一个问题:>,2>,&>每次重定向都会覆盖掉先前的输出,我们如果现在需要先前的输出,让新的输出追加到后面:
1)>>
[kiosk@foundatio