1. 程式人生 > >管理輸入輸出 管道 tee

管理輸入輸出 管道 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