Linux中重定向和管道介紹 |
標準輸入:鍵盤 標準輸出和錯誤輸出:顯示器
>: 覆蓋輸出 >>:追加輸出 # set -C 禁止對已經存在文件使用覆蓋重定向;強制覆蓋輸出,則使用 >| # set +C 關閉上述功能
2>: 重定向錯誤輸出 2>>: 追加方式 將正確的與錯誤的分別存入不一樣的文件中 # ls / /varr > /tmp/var3.out 2> /tmp/err.out # ls /varr > /tmp/var4.out 2> /tmp/var4.out /dev/null垃圾桶黑洞裝置 &>: 重定向標準輸出或錯誤輸出至同一個文件(或者2>&1)
輸出重定向(將原來須要由鍵盤輸入的數據,改由文件內容來取代)
# tr 'a-z' 'A-Z' < /etc/fstab
Here Document(表明結束的輸入字符) # cat << END # cat >> /tmp/myfile.txt << EOF
/dev/null, 軟件設備,bit bucket,數據黑洞,將內容輸出定向到該設備下無任何返回內容
管道是將前一個命令的輸出做爲後一個命令的輸入
命令1 | 命令2 | 命令3 | ......html
# echo "hello world." | tr 'a-z' 'A-Z' # echo "redhat" | passwd --stdin hive # cut -d: -f1 /etc/passwd | sort | tr 'a-z' 'A-Z' # echo "Hello,World." | tee /tmp/hello.out # tee: 顯示內容並將內容保存在文件中 # wc -l /etc/passwd | cut -d' ' -f1
練習: 1、統計/usr/bin/目錄下的文件個數; 2、取出當前系統上全部用戶的shell,要求,每種shell只顯示一次,而且按順序進行顯示; 3、思考:如何顯示/var/log目錄下每一個文件的內容類型? 4、取出/etc/inittab文件的第6行; 5、取出/etc/passwd文件中倒數第9個用戶的用戶名和shell,顯示到屏幕上並將其保存至/tmp/users文件中; 6、顯示/etc目錄下全部以pa開頭的文件,並統計其個數; 7、不使用文本編輯器,將alias cls=clear一行內容添加至當前用戶的.bashrc文件中;