查看输出
在普通用户下执行find /etc -name passwd
[zyz@localhost ~]$ find /etc -name passwd
find: ‘/etc/pki/CA/private’: Permission denied ##没有权利进入,报错(错误输出)
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/passwd ##有权利进入,正确输出
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
/etc/pam.d/passwd
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/vmware-tools/GuestProxyData/trusted’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
———————————————————————————————————————
在linux中,正确输出的编号为1,错误的输出编号为2
———————————————————————————————————————
0.重定向正确输出
输入find /etc -name passwd > file 或者find /etc -name passwd 1> file
此时所有正确输出会保存到file中
[zyz@localhost Desktop]$ find /etc -name passwd > file
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: 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/vmware-tools/GuestProxyData/trusted’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
[zyz@localhost Desktop]$ cat file
/etc/passwd
/etc/pam.d/passwd
1.重定向错误输出
输入find /etc -name passwd 2> file
此时所有错误输出会保存在file中,之前的内容消失
[zyz@localhost Desktop]$ find /etc -name passwd 2> file
/etc/passwd
/etc/pam.d/passwd
[zyz@localhost Desktop]$ cat file
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: 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/vmware-tools/GuestProxyData/trusted’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
2.重定向所有输出
输入find /etc -name passwd &> file
此时所有错误输出会保存在file中,之前的内容消失
[zyz@localhost Desktop]$ find /etc -name passwd &> file
[zyz@localhost Desktop]$ cat file
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/passwd
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
/etc/pam.d/passwd
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/vmware-tools/GuestProxyData/trusted’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
3.追加正确输出
输入find /etc -name passwd >> file
此时file里的内容没消失,并且加上了正确输出
[zyz@localhost Desktop]$ cat file
find: ‘/etc/pki/CA/private’: Permission denied
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/dhcp’: Permission denied
/etc/passwd
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
/etc/pam.d/passwd
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/vmware-tools/GuestProxyData/trusted’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
#### 以上为重定向的全部输出
/etc/passwd
/etc/pam.d/passwd
####以上为追加的正确输出
4.追加错误输出
输入find /etc -name passwd 2>> file
此时file里的内容没消失,并且加上了错误输出
5.追加所有输出
输入find /etc -name passwd &>> file
此时file里的内容没消失,并且加上了错误输出
重定向“>”会覆盖原文件的内容
追加重定向“>>”不会覆盖源文件的内容,会把相应的输出追加到文件的末尾
管道
“|”:将前一个命令的输出变成后一个命令的输入
普通用户下,管道命令只能通过正确输出内容
普通用户下只输出正确的,超级用户下输出所有
只有前一个命令有输出,才可以用管道。
[zyz@localhost Desktop]$ wc -w /etc/passwd
89 /etc/passwd
[zyz@localhost Desktop]$ cat /etc/passwd | wc -w
89
[zyz@localhost Desktop]$ wc -w /etc/passwd
89 /etc/passwd
[zyz@localhost Desktop]$ cat /etc/passwd | wc -c
2322
[zyz@localhost Desktop]$ wc -c /etc/passwd
2322 /etc/passwd
[zyz@localhost Desktop]$ cat /etc/passwd | wc -l
44
[zyz@localhost Desktop]$ wc -l /etc/passwd
44 /etc/passwd
系统中错误的输出是无法通过管道的
用2>&1可以把错误的输出编号由2变成1
[zyz@localhost Desktop]$ find /etc -name passwd 2>&1 | wc -l
20
——————————————————————————————————————
屏幕输出与写入文件是同时进行的
tee:将输出的内容复制到指定的位置
tee命令复制date命令的输出到file中,并统计输出行数
date | tee file | wc -l
——————————————————————————————————————
find /etc -name passwd &> /dev/null ##把错误输出都丢到黑洞里去