linux初級學習筆記九:linux I/O管理,重定向及管道!(視頻序號:04_3)
阿新 • • 發佈:2018-05-15
font 運算 bsp 輸出 指令 所有 inittab tput bin
本節學習的命令:tr,tee,wc
本節學習的技能:
計算機的組成
I/O管理及重定向
管道的使用
知識點九:管理及IO重定向(4_3)
計算機組成:
運算器、控制器: CPU
存儲器:RAM
輸入設備/輸出設備
程序:指令和數據
控制器:讀取指令,並在指令的控制下讀取要進行的運算和數據
運算器:
存儲器:
地址總線:內存尋址
數據總線:傳輸數據
控制總結:控制指令數據
寄存器:CPU暫時存儲器
I/O:(如:硬盤,顯示器,鼠標等)
INPUT設備:輸入設備
OUTPUT設備:輸出設備
系統默認設備設定:
默認輸出設備:標準輸出,STDOUT, 1
默認輸入設備:標準輸入, STDIN, 0
標準錯誤輸出:STDERR, 2(與上是不同的數據流)
標準輸入:鍵盤
標準輸出和錯誤輸出:顯示器
I/O重定向:
Linux:
>:輸出重定向符號:
>: 覆蓋輸出
>>:追加輸出
set -C: 禁止對已經存在文件使用覆蓋重定向;
強制覆蓋輸出,則使用 >|
set +C: 關閉上述功能
2>: 重定向錯誤輸出
2>>: 追加方式
&>: 重定向標準輸出或錯誤輸出至同一個文件。
<:輸入重定向符號:
tr ‘a-z‘ ‘A-Z‘ < /etc/profile
<<:Here Document 在此處生成文檔
cat << END The first line, The second line. END cat >>/etc/myfile.txt <<EOF The first line, The second line. EOF cat /etc/myfile.txt
管道:
前一個命令的輸出,作為後一個命令的輸入
格式:命令1 | 命令2 | 命令3 | ...
--管道 echo ‘hello word‘ echo ‘hello word‘ | tr ‘a-z‘ ‘A-Z‘ --把hello word轉成大寫並輸出 echo ‘redhat‘ | passwd --stdin hive cut -d: -f1 /etc/passwd | sort | tr ‘a-z‘ ‘A-Z‘ --把passwd文件的用戶名(1列)排序並轉成大寫 ls /var | tr ‘a-z‘ ‘A-Z‘ ----------------tee 從標準輸入讀取數據,並且發送至標準輸出和文件 echo "hello word" | tee /tmp/hello.out --把hello word 發送至標準輸出並保存在文件中 ----------------wc --顯示某一個文件行數 wc -l /etc/passwd --不僅顯示了文件的行數還顯示了文件名 wc -l /etc/passwd | cut -d‘ ‘ -f1 --實現了 cat /etc/passwd | wc -l --顯示目錄的行數 ls /usr/bin | wc -l
課後作業:
練習: 1、統計/usr/bin/目錄下的文件個數; # ls /usr/bin | wc -l 2、取出當前系統上所有用戶的shell,要求,每種shell只顯示一次,並且按順序進行顯示; # cut -d: -f7 /etc/passwd | sort -u 3、思考:如何顯示/var/log目錄下每個文件的內容類型? # file /var/log/* # cd /var/log/ | file `ls /var/log/` 4、取出/etc/inittab文件的第6行; # head -6 /etc/inittab | tail -1 5、取出/etc/passwd文件中倒數第9個用戶的用戶名和shell,顯示到屏幕上並將其保存至/tmp/users文件中; # tail -9 /etc/passwd | head -1 | cut -d: -f1,7 | tee /tmp/users 6、顯示/etc目錄下所有以pa開頭的文件,並統計其個數; # ls -d /etc/pa* | wc -l 7、不使用文本編輯器,將alias cls=clear一行內容添加至當前用戶的.bashrc文件中; # echo "alias cls=clear" >> ~/.bashrc
linux初級學習筆記九:linux I/O管理,重定向及管道!(視頻序號:04_3)