系統輸入與輸出

/dev/sda2 硬盤 /dev/shm 內存
1.理解系統中的輸入輸出
shell程序中的指令------>cpu產生運算結果------->字符設備
在shell程序中輸入指令,送到cpu中運算產生的結果,再送到字符設備中顯示。
2.管理輸入輸出的符號

: 重定向正確輸出
2>: 重定想錯誤輸出
&>: 重定向所有輸出
注意:
重定向會覆蓋原文件內容
示例:(要截圖)
"注意:以下實驗必須在student用戶下完成"
find /etc/ -name passwd > file 定向正確輸入到file
find /etc/ -name passwd 2> file.err 定向錯誤輸入到file.err
find /etc/ -name passwd &> file.all 定向所有輸入到file.all
清空一個文件命令: > 文件名
系統輸入與輸出
系統輸入與輸出
3.管道作用

1.wc命令
利用wc指令我們可以計算文件的Byte數、字數、或是列數,若不指定文件名稱、或是所給予的文件名爲"-",則wc指令會從標準輸入設備讀取數據。
-c 顯示bytes或chars 只顯示bytes
-l 顯示行數
-w 顯示字數
$ wc 文件名 :顯示文件的行數 單詞數 字節數
$ wc 多個文件: 統計三個文件的信息
系統輸入與輸出

3.2.管道的作用
"|" 管道的作用是把前一條命令的輸出變成後一條命令的輸入
所以 ls /bin/ | wc -l 爲1588 但是ls /bin/ | wc -l 就是1 的原因是1588就只有一行
注意: 管道只允許正確輸出通過
通過管道的輸入將會變成輸入,而比變成輸入的這些輸出是會被第二條命令處理的,如果需要輸出保存內容,那麼需要複製一輸出,用到的命令是"tee"
此實驗在普通用戶下操作:
find /etc/ -name passwd | wc -l 會看到結果爲2,因爲錯誤輸出不能通過管道
find /etc/ -name passwd 2>&1 | wc -l 會看到19,因爲編號爲2的輸出被“2>&1”轉換爲編號爲1
find /etc/ -name passwd 2>&1 |tee file| wc -l 保存一份輸出到file在統計行數

4.3.輸入重定向

cat >file <<EOF
tr 'a-z' 'A-Z’< westos
格式化輸入內容到文件
cat >westos<<EOF
HELLO
WORLD
EOF

系統輸入與輸出系統輸入與輸出

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