1、重定向與追加重定向
在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>> &>> 不會覆蓋源文件內容,會把相應的輸出字符方到文件的最後
2、管道
| 管道的作用是將前一條命令的輸出(只輸出正確的)變成管道後命令的輸入
ls /bin | wc -l ##統計ls /bin 命令輸出的行數
系統中錯誤的輸出是無法通過管道的。用 2>&1 可以把錯誤的輸出編號由2變成1
tee複製輸出到指定位置(輸出結果保存在文件中並卻將結果顯示在屏幕上)
date | tee file | wc -l ###tee命令複製date命令的輸出到file中,並統計輸出行數