管理輸入輸出


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中,並統計輸出行數


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章