首页 > 代码库 > 管理输入输出 管道 tee

管理输入输出 管道 tee

管理输入输出

在linux系统中,正确输出的编号为1,错误输出编号为2

在系统中用普通用户执行 "student"
find /etc -name passwd
因为student用户权限问题会有以下输出
find: ‘/etc/pki/CA/private’: Permission denied        ##没有进入权力,报错
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd                     ##正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/grub.d’: Permission denied
/etc/pam.d/passwd                   正确输出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/named’: Permission denied

find /etc -name passwd > file       重定向正确输出
find /etc -name passwd 2> file      重定向错误输出
find /etc -name passwd &> file      重定向所有输出

注意: >, 2> ,&>  都会覆盖源文件内容
>file                   清空file

find /etc -name passwd >> file       追加正确输出
find /etc -name passwd 2>> file     追加错误输出
find /etc -name passwd &>> file     追加所有输出

注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后


| 管道,管道的作用是将前一条命令的输出变成管道后命令的输入

find /etc -name passwd | wc -l     统计重定向正确输出后的行数

技术分享

系统中错误的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1

技术分享

tee复制输出到指定位置
date |tee file |wc -l   tee命令复制date命令的输出到file中,并统计输出行数

技术分享

管理输入输出 管道 tee