I/O: 系統設定 預設輸入設備:標準輸入,STDIN,0 預設輸出設備:標準輸出,STDOUT,1 標準錯誤輸出:STDERR,2 屬於不同的數據流 標準輸入:鍵盤 標準輸出和錯誤輸出:顯示器 I/O重定向: 輸出重定向: > :覆蓋輸出 >> :追加輸出 2>:錯誤輸出 2>>:追加錯誤輸出 正 ...
I/O:
系統設定
預設輸入設備:標準輸入,STDIN,0
預設輸出設備:標準輸出,STDOUT,1
標準錯誤輸出:STDERR,2
屬於不同的數據流
標準輸入:鍵盤
標準輸出和錯誤輸出:顯示器
I/O重定向:
輸出重定向:
> :覆蓋輸出
>> :追加輸出
2>:錯誤輸出
2>>:追加錯誤輸出
正常輸出
ls /usr > /tmp/var.out
set
-C:禁止對已經存在文件使用覆蓋重定向;
+C:允許覆蓋輸出
強制覆蓋輸出
ls /usr >| /tmp/var.out
錯誤輸出
ls /varr 2> /tmp/var2.out
定向標準輸出與標準錯誤輸出
ls /varr > /tmp/var3.out 2> /tmp/err.out
&>:重定向標準輸出或錯誤輸出至同一個文件
ls /varr &> /tmp/var4.out
輸入重定向
<:正常輸入
<<:Here Document
cat << EOF
正常輸入
tr 'a-z' 'A-Z' < /etc/fstab
輸出內容到文件中
cat >> /tmp/myfile.txt << EOF
管道:前一個命令的輸出,作為後一個命令的輸入
命令1 | 命令2 | 命令3 ...
echo "First love is only a little foolishness and a lot of curiosity." | tr 'a-z' 'A-Z'
echo "redhat" | passwd --stdin hive
cat /etc/passwd | sort
cut -d : -f 1 /etc/passwd | sort -n | tr 'a-z' 'A-Z'
ls /var | tr 'a-z' 'A-Z'
wc -l /etc/passwd | cut -d' ' -f 1
tee :從標準輸入讀取,寫入到標準輸出,並保存到文件中
echo "First love is only a little foolishness and a lot of curiosity." | tee /tmp/test.out
練習:
1.統計/usr/bin目錄下的文件個數;
#ls /usr/bin | wc -l
2.取出當前系統上所有用戶的shell,每種shell只顯示一次,且按順序顯示;
# /etc/passwd 保存shell
#cut -d : -f 7 /etc/passwd |sort -u
3.如何顯示/var/log目錄下每個文件的內容類型?
#file /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 : -f 1,7 | tee /tmp/users
6.顯示/etc目錄下所有以pa開頭的文件,並統計其個數;
# ls -d /etc/pa* | wc -l
7.不使用文本編輯器,將alias cls=clear一行內容添加至當前用戶的.bashrc文件中。
# echo "alias cls=clear" >> ~/.bashrc