1. 程式人生 > >linux初級學習筆記九:linux I/O管理,重定向及管道!(視頻序號:04_3)

linux初級學習筆記九:linux I/O管理,重定向及管道!(視頻序號:04_3)

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)