shell程式設計學習4改變語句執行的邏輯輸入輸出等
阿新 • • 發佈:2018-12-17
例項
使用分號;
依次執行,沒有邏輯關係
mkdir /newdir ; cd /newdir //新建並進入newdir
使用&&
與邏輯,一旦出現失敗後面命令不執行
make && make install //保證編譯完成後安裝
使用 ||
id hello || useradd hello //沒有mickey使用者則建立一個
id yezeng &>/dev/null && echo YES || echo NO //判斷使用者是否存在
使用管道 |
//把網絡卡資訊作為輸入給less命令 ifconfig -a | less
//列出所有普通檔案
find /etc -type f | wc -l
//列出當前TCP處於監聽的埠總數
netstat -anpt | grep -c "LISTEN"
linux的IO裝置框架
使用命令給命令執行時選擇不同的裝置輸入輸出
- stdin指標準輸入資訊預設鍵盤,檔案描述號0
- stdout指標準輸出資訊預設顯示器裝置,檔案描述號1
- stderr指標準輸出資訊預設顯示器裝置,檔案描述號2
cmd > file 把 stdout 重定向到 file 檔案中;
cmd >> file 把 stdout 重定向到 file 檔案中(追加);
cmd 1> fiel 把 stdout 重定向到 file 檔案中;
cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 檔案中;
cmd 2> file 把 stderr 重定向到 file 檔案中;
cmd 2>> file 把 stderr 重定向到 file 檔案中(追加);
cmd >> file 2>&1 把 stdout 和 stderr 一起重定向到 file 檔案中(追加);
cmd < file >file2 cmd 命令以 file 檔案作為 stdin,以 file2 檔案作為 stdout;
cat <>file 以讀寫的方式開啟 file;
cmd < file cmd 命令以 file 檔案作為 stdin;
cmd << delimiter Here document,從 stdin 中讀入,直至遇到 delimiter 分界符。
ls -ld /rootx/root >/root/ls.log 2>/root/err.log //把資訊分別儲存到不同檔案